fauxqs 0.2.0 → 0.4.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 +2 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +4 -0
- package/dist/app.js.map +1 -1
- package/dist/sns/actions/createTopic.d.ts.map +1 -1
- package/dist/sns/actions/createTopic.js +14 -0
- package/dist/sns/actions/createTopic.js.map +1 -1
- package/dist/sns/actions/listSubscriptions.js +6 -6
- package/dist/sns/actions/publish.d.ts.map +1 -1
- package/dist/sns/actions/publish.js +58 -3
- package/dist/sns/actions/publish.js.map +1 -1
- package/dist/sqs/actions/createQueue.d.ts.map +1 -1
- package/dist/sqs/actions/createQueue.js +22 -0
- package/dist/sqs/actions/createQueue.js.map +1 -1
- package/dist/sqs/actions/receiveMessage.d.ts.map +1 -1
- package/dist/sqs/actions/receiveMessage.js +27 -2
- package/dist/sqs/actions/receiveMessage.js.map +1 -1
- package/dist/sqs/actions/sendMessage.d.ts.map +1 -1
- package/dist/sqs/actions/sendMessage.js +53 -0
- package/dist/sqs/actions/sendMessage.js.map +1 -1
- package/dist/sqs/actions/sendMessageBatch.d.ts.map +1 -1
- package/dist/sqs/actions/sendMessageBatch.js +83 -11
- package/dist/sqs/actions/sendMessageBatch.js.map +1 -1
- package/dist/sqs/actions/setQueueAttributes.d.ts.map +1 -1
- package/dist/sqs/actions/setQueueAttributes.js +4 -0
- package/dist/sqs/actions/setQueueAttributes.js.map +1 -1
- package/dist/sqs/sqsStore.d.ts +21 -1
- package/dist/sqs/sqsStore.d.ts.map +1 -1
- package/dist/sqs/sqsStore.js +239 -3
- package/dist/sqs/sqsStore.js.map +1 -1
- package/dist/sqs/sqsTypes.d.ts.map +1 -1
- package/dist/sqs/sqsTypes.js +6 -0
- package/dist/sqs/sqsTypes.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -157,6 +157,7 @@ const server = await startFauxqs({ defaultRegion: "eu-west-1" });
|
|
|
157
157
|
- **Message size validation** — rejects messages exceeding 1 MiB (1,048,576 bytes)
|
|
158
158
|
- **Unicode character validation** — rejects messages with characters outside the AWS-allowed set
|
|
159
159
|
- **KMS attributes** — `KmsMasterKeyId` and `KmsDataKeyReusePeriodSeconds` are accepted and stored (no actual encryption)
|
|
160
|
+
- **FIFO queues** — `.fifo` suffix enforcement, `MessageGroupId` ordering, per-group locking (one inflight message per group), `MessageDeduplicationId`, content-based deduplication, sequence numbers, and FIFO-aware DLQ support
|
|
160
161
|
- **Queue tags**
|
|
161
162
|
|
|
162
163
|
## SNS Features
|
|
@@ -166,6 +167,7 @@ const server = await startFauxqs({ defaultRegion: "eu-west-1" });
|
|
|
166
167
|
- **Raw message delivery** — configurable per subscription
|
|
167
168
|
- **Message size validation** — rejects messages exceeding 256 KB (262,144 bytes)
|
|
168
169
|
- **Topic and subscription tags**
|
|
170
|
+
- **FIFO topics** — `.fifo` suffix enforcement, `MessageGroupId` and `MessageDeduplicationId` passthrough to SQS subscriptions, content-based deduplication
|
|
169
171
|
- **Batch publish**
|
|
170
172
|
|
|
171
173
|
## Conventions
|
|
@@ -180,7 +182,6 @@ const server = await startFauxqs({ defaultRegion: "eu-west-1" });
|
|
|
180
182
|
|
|
181
183
|
fauxqs is designed for development and testing. It does not support:
|
|
182
184
|
|
|
183
|
-
- FIFO queues and topics
|
|
184
185
|
- Non-SQS SNS delivery protocols (HTTP/S, Lambda, email, SMS)
|
|
185
186
|
- Persistence across restarts
|
|
186
187
|
- Authentication or authorization
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAoC9B,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAoC9B,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;;EA+G7F;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gIAAgI;IAChI,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,YAAY,CAAC,CAqBxB"}
|
package/dist/app.js
CHANGED
|
@@ -37,6 +37,7 @@ export function buildApp(options) {
|
|
|
37
37
|
const app = Fastify({
|
|
38
38
|
logger: options?.logger ?? true,
|
|
39
39
|
bodyLimit: 2 * 1_048_576, // 2 MiB — allow our handlers to validate message size
|
|
40
|
+
forceCloseConnections: true,
|
|
40
41
|
});
|
|
41
42
|
const sqsStore = new SqsStore();
|
|
42
43
|
if (options?.host) {
|
|
@@ -107,6 +108,9 @@ export function buildApp(options) {
|
|
|
107
108
|
done(err);
|
|
108
109
|
}
|
|
109
110
|
});
|
|
111
|
+
app.addHook("preClose", () => {
|
|
112
|
+
sqsStore.shutdown();
|
|
113
|
+
});
|
|
110
114
|
app.get("/health", async () => {
|
|
111
115
|
return { status: "ok" };
|
|
112
116
|
});
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAE/F,MAAM,UAAU,QAAQ,CAAC,OAAqE;IAC5F,MAAM,GAAG,GAAG,OAAO,CAAC;QAClB,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI;QAC/B,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,sDAAsD;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTopic.d.ts","sourceRoot":"","sources":["../../../src/sns/actions/createTopic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"createTopic.d.ts","sourceRoot":"","sources":["../../../src/sns/actions/createTopic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAkFtF"}
|
|
@@ -53,6 +53,20 @@ export function createTopic(params, snsStore) {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
+
// FIFO topic validation
|
|
57
|
+
const isFifoName = name.endsWith(".fifo");
|
|
58
|
+
const isFifoAttr = resolvedAttributes.FifoTopic === "true";
|
|
59
|
+
if (isFifoName && !isFifoAttr) {
|
|
60
|
+
resolvedAttributes.FifoTopic = "true";
|
|
61
|
+
}
|
|
62
|
+
else if (isFifoAttr && !isFifoName) {
|
|
63
|
+
throw new SnsError("InvalidParameter", "Invalid parameter: Topic name must end with .fifo suffix for FIFO topics.");
|
|
64
|
+
}
|
|
65
|
+
if (resolvedAttributes.FifoTopic === "true") {
|
|
66
|
+
if (resolvedAttributes.ContentBasedDeduplication === undefined) {
|
|
67
|
+
resolvedAttributes.ContentBasedDeduplication = "false";
|
|
68
|
+
}
|
|
69
|
+
}
|
|
56
70
|
const topic = snsStore.createTopic(name, Object.keys(resolvedAttributes).length > 0 ? resolvedAttributes : undefined, Object.keys(resolvedTags).length > 0 ? resolvedTags : undefined);
|
|
57
71
|
return snsSuccessResponse("CreateTopic", `<TopicArn>${topic.arn}</TopicArn>`);
|
|
58
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTopic.js","sourceRoot":"","sources":["../../../src/sns/actions/createTopic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createTopic.js","sourceRoot":"","sources":["../../../src/sns/actions/createTopic.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,12 +10,12 @@ export function listSubscriptionsByTopic(params, snsStore) {
|
|
|
10
10
|
}
|
|
11
11
|
function formatSubscriptionList(action, subscriptions) {
|
|
12
12
|
const membersXml = subscriptions
|
|
13
|
-
.map((s) => `<member>
|
|
14
|
-
<SubscriptionArn>${escapeXml(s.arn)}</SubscriptionArn>
|
|
15
|
-
<TopicArn>${escapeXml(s.topicArn)}</TopicArn>
|
|
16
|
-
<Protocol>${escapeXml(s.protocol)}</Protocol>
|
|
17
|
-
<Endpoint>${escapeXml(s.endpoint)}</Endpoint>
|
|
18
|
-
<Owner>000000000000</Owner>
|
|
13
|
+
.map((s) => `<member>
|
|
14
|
+
<SubscriptionArn>${escapeXml(s.arn)}</SubscriptionArn>
|
|
15
|
+
<TopicArn>${escapeXml(s.topicArn)}</TopicArn>
|
|
16
|
+
<Protocol>${escapeXml(s.protocol)}</Protocol>
|
|
17
|
+
<Endpoint>${escapeXml(s.endpoint)}</Endpoint>
|
|
18
|
+
<Owner>000000000000</Owner>
|
|
19
19
|
</member>`)
|
|
20
20
|
.join("\n ");
|
|
21
21
|
return snsSuccessResponse(action, `<Subscriptions>${membersXml}</Subscriptions>`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../src/sns/actions/publish.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMtD,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACjB,MAAM,
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../src/sns/actions/publish.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMtD,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CA+HR;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CA2GR"}
|
|
@@ -24,6 +24,25 @@ export function publish(params, snsStore, sqsStore) {
|
|
|
24
24
|
const subject = params.Subject;
|
|
25
25
|
// Parse message attributes
|
|
26
26
|
const messageAttributes = parseMessageAttributes(params);
|
|
27
|
+
// FIFO topic handling
|
|
28
|
+
const isFifoTopic = topic.attributes.FifoTopic === "true";
|
|
29
|
+
let messageGroupId;
|
|
30
|
+
let messageDeduplicationId;
|
|
31
|
+
if (isFifoTopic) {
|
|
32
|
+
messageGroupId = params.MessageGroupId;
|
|
33
|
+
if (!messageGroupId) {
|
|
34
|
+
throw new SnsError("InvalidParameter", "Invalid parameter: The MessageGroupId parameter is required for FIFO topics.");
|
|
35
|
+
}
|
|
36
|
+
messageDeduplicationId = params.MessageDeduplicationId;
|
|
37
|
+
if (!messageDeduplicationId) {
|
|
38
|
+
if (topic.attributes.ContentBasedDeduplication === "true") {
|
|
39
|
+
messageDeduplicationId = SqsStoreClass.contentBasedDeduplicationId(message);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
throw new SnsError("InvalidParameter", "Invalid parameter: The topic should either have ContentBasedDeduplication enabled or MessageDeduplicationId provided explicitly.");
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
27
46
|
// Fan out to subscriptions
|
|
28
47
|
for (const subArn of topic.subscriptionArns) {
|
|
29
48
|
const sub = snsStore.getSubscription(subArn);
|
|
@@ -76,7 +95,14 @@ export function publish(params, snsStore, sqsStore) {
|
|
|
76
95
|
MessageAttributes: formatEnvelopeAttributes(messageAttributes),
|
|
77
96
|
});
|
|
78
97
|
}
|
|
79
|
-
const sqsMsg = SqsStoreClass.createMessage(sqsBody, sqsAttributes);
|
|
98
|
+
const sqsMsg = SqsStoreClass.createMessage(sqsBody, sqsAttributes, undefined, messageGroupId, messageDeduplicationId);
|
|
99
|
+
if (queue.isFifo() && messageDeduplicationId) {
|
|
100
|
+
const dedupResult = queue.checkDeduplication(messageDeduplicationId);
|
|
101
|
+
if (dedupResult.isDuplicate)
|
|
102
|
+
continue;
|
|
103
|
+
sqsMsg.sequenceNumber = queue.nextSequenceNumber();
|
|
104
|
+
queue.recordDeduplication(messageDeduplicationId, sqsMsg.messageId);
|
|
105
|
+
}
|
|
80
106
|
queue.enqueue(sqsMsg);
|
|
81
107
|
}
|
|
82
108
|
return snsSuccessResponse("Publish", `<MessageId>${messageId}</MessageId>`);
|
|
@@ -92,6 +118,7 @@ export function publishBatch(params, snsStore, sqsStore) {
|
|
|
92
118
|
}
|
|
93
119
|
// Parse batch entries from flattened form params
|
|
94
120
|
const entries = parseBatchEntries(params);
|
|
121
|
+
const isFifoTopic = topic.attributes.FifoTopic === "true";
|
|
95
122
|
const successfulXml = [];
|
|
96
123
|
const failedXml = [];
|
|
97
124
|
for (const entry of entries) {
|
|
@@ -99,6 +126,25 @@ export function publishBatch(params, snsStore, sqsStore) {
|
|
|
99
126
|
failedXml.push(`<member><Id>${entry.id}</Id><Code>InvalidParameter</Code><Message>Message too long</Message><SenderFault>true</SenderFault></member>`);
|
|
100
127
|
continue;
|
|
101
128
|
}
|
|
129
|
+
let messageGroupId;
|
|
130
|
+
let messageDeduplicationId;
|
|
131
|
+
if (isFifoTopic) {
|
|
132
|
+
messageGroupId = entry.messageGroupId;
|
|
133
|
+
if (!messageGroupId) {
|
|
134
|
+
failedXml.push(`<member><Id>${entry.id}</Id><Code>InvalidParameter</Code><Message>The MessageGroupId parameter is required for FIFO topics.</Message><SenderFault>true</SenderFault></member>`);
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
messageDeduplicationId = entry.messageDeduplicationId;
|
|
138
|
+
if (!messageDeduplicationId) {
|
|
139
|
+
if (topic.attributes.ContentBasedDeduplication === "true") {
|
|
140
|
+
messageDeduplicationId = SqsStoreClass.contentBasedDeduplicationId(entry.message);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
failedXml.push(`<member><Id>${entry.id}</Id><Code>InvalidParameter</Code><Message>The topic should either have ContentBasedDeduplication enabled or MessageDeduplicationId provided explicitly.</Message><SenderFault>true</SenderFault></member>`);
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
102
148
|
const messageId = randomUUID();
|
|
103
149
|
// Fan out each entry
|
|
104
150
|
for (const subArn of topic.subscriptionArns) {
|
|
@@ -127,7 +173,14 @@ export function publishBatch(params, snsStore, sqsStore) {
|
|
|
127
173
|
UnsubscribeURL: `https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=${sub.arn}`,
|
|
128
174
|
});
|
|
129
175
|
}
|
|
130
|
-
const sqsMsg = SqsStoreClass.createMessage(sqsBody);
|
|
176
|
+
const sqsMsg = SqsStoreClass.createMessage(sqsBody, {}, undefined, messageGroupId, messageDeduplicationId);
|
|
177
|
+
if (queue.isFifo() && messageDeduplicationId) {
|
|
178
|
+
const dedupResult = queue.checkDeduplication(messageDeduplicationId);
|
|
179
|
+
if (dedupResult.isDuplicate)
|
|
180
|
+
continue;
|
|
181
|
+
sqsMsg.sequenceNumber = queue.nextSequenceNumber();
|
|
182
|
+
queue.recordDeduplication(messageDeduplicationId, sqsMsg.messageId);
|
|
183
|
+
}
|
|
131
184
|
queue.enqueue(sqsMsg);
|
|
132
185
|
}
|
|
133
186
|
successfulXml.push(`<member><Id>${entry.id}</Id><MessageId>${messageId}</MessageId></member>`);
|
|
@@ -172,8 +225,10 @@ function parseBatchEntries(params) {
|
|
|
172
225
|
const id = params[`${prefix}.Id`];
|
|
173
226
|
const message = params[`${prefix}.Message`];
|
|
174
227
|
const subject = params[`${prefix}.Subject`];
|
|
228
|
+
const messageGroupId = params[`${prefix}.MessageGroupId`];
|
|
229
|
+
const messageDeduplicationId = params[`${prefix}.MessageDeduplicationId`];
|
|
175
230
|
if (id && message) {
|
|
176
|
-
entries.push({ id, message, subject });
|
|
231
|
+
entries.push({ id, message, subject, messageGroupId, messageDeduplicationId });
|
|
177
232
|
}
|
|
178
233
|
}
|
|
179
234
|
return entries;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/sns/actions/publish.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/sns/actions/publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createQueue.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/createQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,cAAc,GACtB,OAAO,
|
|
1
|
+
{"version":3,"file":"createQueue.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/createQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,cAAc,GACtB,OAAO,CA6DT"}
|
|
@@ -9,6 +9,28 @@ export function createQueue(body, store, request) {
|
|
|
9
9
|
}
|
|
10
10
|
const attributes = body.Attributes ?? {};
|
|
11
11
|
const tags = body.tags ?? {};
|
|
12
|
+
// FIFO validation
|
|
13
|
+
const isFifoName = queueName.endsWith(".fifo");
|
|
14
|
+
const isFifoAttr = attributes.FifoQueue === "true";
|
|
15
|
+
if (isFifoName && !isFifoAttr) {
|
|
16
|
+
// Auto-set FifoQueue when name ends with .fifo
|
|
17
|
+
attributes.FifoQueue = "true";
|
|
18
|
+
}
|
|
19
|
+
else if (isFifoAttr && !isFifoName) {
|
|
20
|
+
throw new SqsError("InvalidParameterValue", "The name of a FIFO queue can only include alphanumeric characters, hyphens, or underscores, must end with .fifo suffix.");
|
|
21
|
+
}
|
|
22
|
+
// Set FIFO defaults
|
|
23
|
+
if (attributes.FifoQueue === "true") {
|
|
24
|
+
if (attributes.ContentBasedDeduplication === undefined) {
|
|
25
|
+
attributes.ContentBasedDeduplication = "false";
|
|
26
|
+
}
|
|
27
|
+
if (attributes.DeduplicationScope === undefined) {
|
|
28
|
+
attributes.DeduplicationScope = "queue";
|
|
29
|
+
}
|
|
30
|
+
if (attributes.FifoThroughputLimit === undefined) {
|
|
31
|
+
attributes.FifoThroughputLimit = "perQueue";
|
|
32
|
+
}
|
|
33
|
+
}
|
|
12
34
|
// Check for existing queue with same name
|
|
13
35
|
const existing = store.getQueueByName(queueName);
|
|
14
36
|
if (existing) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createQueue.js","sourceRoot":"","sources":["../../../src/sqs/actions/createQueue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,UAAU,WAAW,CACzB,IAA6B,EAC7B,KAAe,EACf,OAAuB;IAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,SAA+B,CAAC;IACvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,UAAU,GAAI,IAAI,CAAC,UAAqC,IAAI,EAAE,CAAC;IACrE,MAAM,IAAI,GAAI,IAAI,CAAC,IAA+B,IAAI,EAAE,CAAC;IAEzD,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,4DAA4D;QAC5D,+BAA+B;QAC/B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjF,MAAM,IAAI,QAAQ,CAChB,iBAAiB,EACjB,iFAAiF,GAAG,EAAE,CACvF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC;IAC/F,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;IACxD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,MAAM,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAC/F,MAAM,GAAG,GAAG,UAAU,IAAI,IAAI,kBAAkB,IAAI,SAAS,EAAE,CAAC;IAChE,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE3C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACvE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;AACjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"createQueue.js","sourceRoot":"","sources":["../../../src/sqs/actions/createQueue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receiveMessage.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/receiveMessage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"receiveMessage.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/receiveMessage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,OAAO,CAAC,CAoDlB"}
|
|
@@ -19,8 +19,18 @@ export async function receiveMessage(body, store) {
|
|
|
19
19
|
if (waitedMsgs.length > 0) {
|
|
20
20
|
// Process the waited messages through the normal dequeue path
|
|
21
21
|
// Put them back temporarily and dequeue properly
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
if (queue.isFifo()) {
|
|
23
|
+
for (const msg of waitedMsgs) {
|
|
24
|
+
const groupId = msg.messageGroupId ?? "__default";
|
|
25
|
+
const group = queue.fifoMessages.get(groupId) ?? [];
|
|
26
|
+
group.unshift(msg);
|
|
27
|
+
queue.fifoMessages.set(groupId, group);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
for (const msg of waitedMsgs) {
|
|
32
|
+
queue.messages.unshift(msg);
|
|
33
|
+
}
|
|
24
34
|
}
|
|
25
35
|
messages = queue.dequeue(maxNumberOfMessages, visibilityTimeout, dlqResolver);
|
|
26
36
|
}
|
|
@@ -51,6 +61,21 @@ function addSystemAttributes(messages, queue, systemAttributeNames) {
|
|
|
51
61
|
if (wantsAll || systemAttributeNames.includes("ApproximateFirstReceiveTimestamp")) {
|
|
52
62
|
attrs.ApproximateFirstReceiveTimestamp = String(entry.message.approximateFirstReceiveTimestamp ?? "");
|
|
53
63
|
}
|
|
64
|
+
if (wantsAll || systemAttributeNames.includes("MessageGroupId")) {
|
|
65
|
+
if (entry.message.messageGroupId) {
|
|
66
|
+
attrs.MessageGroupId = entry.message.messageGroupId;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (wantsAll || systemAttributeNames.includes("MessageDeduplicationId")) {
|
|
70
|
+
if (entry.message.messageDeduplicationId) {
|
|
71
|
+
attrs.MessageDeduplicationId = entry.message.messageDeduplicationId;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (wantsAll || systemAttributeNames.includes("SequenceNumber")) {
|
|
75
|
+
if (entry.message.sequenceNumber) {
|
|
76
|
+
attrs.SequenceNumber = entry.message.sequenceNumber;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
54
79
|
if (Object.keys(attrs).length > 0) {
|
|
55
80
|
msg.Attributes = attrs;
|
|
56
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receiveMessage.js","sourceRoot":"","sources":["../../../src/sqs/actions/receiveMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAA6B,EAC7B,KAAe;IAEf,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qCAAqC,EAAE,GAAG,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,mBAAmB,GAAI,IAAI,CAAC,mBAA8B,IAAI,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAuC,CAAC;IACvE,MAAM,eAAe,GAClB,IAAI,CAAC,eAA0B,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;IAE/F,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAE9D,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAElF,6DAA6D;IAC7D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;QAErF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,8DAA8D;YAC9D,iDAAiD;YACjD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"receiveMessage.js","sourceRoot":"","sources":["../../../src/sqs/actions/receiveMessage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendMessage.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK/C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"sendMessage.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK/C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CA0DnF"}
|
|
@@ -21,6 +21,9 @@ export function sendMessage(body, store) {
|
|
|
21
21
|
throw new SqsError("InvalidParameterValue", `One or more parameters are invalid. Reason: Message must be shorter than ${SQS_MAX_MESSAGE_SIZE_BYTES} bytes.`);
|
|
22
22
|
}
|
|
23
23
|
const messageAttributes = body.MessageAttributes ?? {};
|
|
24
|
+
if (queue.isFifo()) {
|
|
25
|
+
return sendFifoMessage(body, queue, messageBody, messageAttributes);
|
|
26
|
+
}
|
|
24
27
|
// DelaySeconds: per-message override or queue default
|
|
25
28
|
const delaySeconds = body.DelaySeconds ?? parseInt(queue.attributes.DelaySeconds);
|
|
26
29
|
const msg = SqsStoreClass.createMessage(messageBody, messageAttributes, delaySeconds > 0 ? delaySeconds : undefined);
|
|
@@ -34,4 +37,54 @@ export function sendMessage(body, store) {
|
|
|
34
37
|
}
|
|
35
38
|
return result;
|
|
36
39
|
}
|
|
40
|
+
function sendFifoMessage(body, queue, messageBody, messageAttributes) {
|
|
41
|
+
const messageGroupId = body.MessageGroupId;
|
|
42
|
+
if (!messageGroupId) {
|
|
43
|
+
throw new SqsError("MissingParameter", "The request must contain the parameter MessageGroupId.");
|
|
44
|
+
}
|
|
45
|
+
// Per-message DelaySeconds is not supported on FIFO queues
|
|
46
|
+
if (body.DelaySeconds !== undefined && body.DelaySeconds !== 0) {
|
|
47
|
+
throw new SqsError("InvalidParameterValue", "Value 0 for parameter DelaySeconds is invalid. Reason: The request include parameter that is not valid for this queue type.");
|
|
48
|
+
}
|
|
49
|
+
let messageDeduplicationId = body.MessageDeduplicationId;
|
|
50
|
+
const contentBasedDedup = queue.attributes.ContentBasedDeduplication === "true";
|
|
51
|
+
if (!messageDeduplicationId) {
|
|
52
|
+
if (contentBasedDedup) {
|
|
53
|
+
messageDeduplicationId = SqsStoreClass.contentBasedDeduplicationId(messageBody);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
throw new SqsError("InvalidParameterValue", "The queue should either have ContentBasedDeduplication enabled or MessageDeduplicationId provided explicitly.");
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Check deduplication
|
|
60
|
+
const dedupResult = queue.checkDeduplication(messageDeduplicationId);
|
|
61
|
+
if (dedupResult.isDuplicate) {
|
|
62
|
+
// Return the original message ID without re-enqueue
|
|
63
|
+
const result = {
|
|
64
|
+
MessageId: dedupResult.originalMessageId,
|
|
65
|
+
MD5OfMessageBody: SqsStoreClass.createMessage(messageBody).md5OfBody,
|
|
66
|
+
};
|
|
67
|
+
const md5OfAttrs = SqsStoreClass.createMessage(messageBody, messageAttributes).md5OfMessageAttributes;
|
|
68
|
+
if (md5OfAttrs) {
|
|
69
|
+
result.MD5OfMessageAttributes = md5OfAttrs;
|
|
70
|
+
}
|
|
71
|
+
result.SequenceNumber = queue.nextSequenceNumber();
|
|
72
|
+
return result;
|
|
73
|
+
}
|
|
74
|
+
// Queue-level delay applies to FIFO queues
|
|
75
|
+
const queueDelay = parseInt(queue.attributes.DelaySeconds);
|
|
76
|
+
const msg = SqsStoreClass.createMessage(messageBody, messageAttributes, queueDelay > 0 ? queueDelay : undefined, messageGroupId, messageDeduplicationId);
|
|
77
|
+
msg.sequenceNumber = queue.nextSequenceNumber();
|
|
78
|
+
queue.recordDeduplication(messageDeduplicationId, msg.messageId);
|
|
79
|
+
queue.enqueue(msg);
|
|
80
|
+
const result = {
|
|
81
|
+
MessageId: msg.messageId,
|
|
82
|
+
MD5OfMessageBody: msg.md5OfBody,
|
|
83
|
+
SequenceNumber: msg.sequenceNumber,
|
|
84
|
+
};
|
|
85
|
+
if (msg.md5OfMessageAttributes) {
|
|
86
|
+
result.MD5OfMessageAttributes = msg.md5OfMessageAttributes;
|
|
87
|
+
}
|
|
88
|
+
return result;
|
|
89
|
+
}
|
|
37
90
|
//# sourceMappingURL=sendMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendMessage.js","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAEvF,MAAM,UAAU,WAAW,CAAC,IAA6B,EAAE,KAAe;IACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qCAAqC,EAAE,GAAG,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAiC,CAAC;IAC3D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qDAAqD,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,QAAQ,CAChB,wBAAwB,EACxB,+GAA+G,CAChH,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,0BAA0B,EAAE,CAAC;QACxE,MAAM,IAAI,QAAQ,CAChB,uBAAuB,EACvB,4EAA4E,0BAA0B,SAAS,CAChH,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAI,IAAI,CAAC,iBAA2D,IAAI,EAAE,CAAC;IAElG,sDAAsD;IACtD,MAAM,YAAY,GACf,IAAI,CAAC,YAAmC,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAEvF,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,CACrC,WAAW,EACX,iBAAiB,EACjB,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAC5C,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEnB,MAAM,MAAM,GAA4B;QACtC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,gBAAgB,EAAE,GAAG,CAAC,SAAS;KAChC,CAAC;IAEF,IAAI,GAAG,CAAC,sBAAsB,EAAE,CAAC;QAC/B,MAAM,CAAC,sBAAsB,GAAG,GAAG,CAAC,sBAAsB,CAAC;IAC7D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"sendMessage.js","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendMessageBatch.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessageBatch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"sendMessageBatch.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessageBatch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAc/C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAuLxF"}
|
|
@@ -25,6 +25,8 @@ export function sendMessageBatch(body, store) {
|
|
|
25
25
|
}
|
|
26
26
|
ids.add(entry.Id);
|
|
27
27
|
}
|
|
28
|
+
const isFifo = queue.isFifo();
|
|
29
|
+
const contentBasedDedup = queue.attributes.ContentBasedDeduplication === "true";
|
|
28
30
|
const successful = [];
|
|
29
31
|
const failed = [];
|
|
30
32
|
for (const entry of entries) {
|
|
@@ -46,18 +48,88 @@ export function sendMessageBatch(body, store) {
|
|
|
46
48
|
});
|
|
47
49
|
continue;
|
|
48
50
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
51
|
+
if (isFifo) {
|
|
52
|
+
// FIFO validations
|
|
53
|
+
if (!entry.MessageGroupId) {
|
|
54
|
+
failed.push({
|
|
55
|
+
Id: entry.Id,
|
|
56
|
+
SenderFault: true,
|
|
57
|
+
Code: "MissingParameter",
|
|
58
|
+
Message: "The request must contain the parameter MessageGroupId.",
|
|
59
|
+
});
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (entry.DelaySeconds !== undefined && entry.DelaySeconds !== 0) {
|
|
63
|
+
failed.push({
|
|
64
|
+
Id: entry.Id,
|
|
65
|
+
SenderFault: true,
|
|
66
|
+
Code: "InvalidParameterValue",
|
|
67
|
+
Message: "DelaySeconds is not supported on FIFO queues.",
|
|
68
|
+
});
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
let dedupId = entry.MessageDeduplicationId;
|
|
72
|
+
if (!dedupId) {
|
|
73
|
+
if (contentBasedDedup) {
|
|
74
|
+
dedupId = SqsStoreClass.contentBasedDeduplicationId(entry.MessageBody);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
failed.push({
|
|
78
|
+
Id: entry.Id,
|
|
79
|
+
SenderFault: true,
|
|
80
|
+
Code: "InvalidParameterValue",
|
|
81
|
+
Message: "The queue should either have ContentBasedDeduplication enabled or MessageDeduplicationId provided explicitly.",
|
|
82
|
+
});
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Check deduplication
|
|
87
|
+
const dedupResult = queue.checkDeduplication(dedupId);
|
|
88
|
+
if (dedupResult.isDuplicate) {
|
|
89
|
+
const result = {
|
|
90
|
+
Id: entry.Id,
|
|
91
|
+
MessageId: dedupResult.originalMessageId,
|
|
92
|
+
MD5OfMessageBody: SqsStoreClass.createMessage(entry.MessageBody).md5OfBody,
|
|
93
|
+
SequenceNumber: queue.nextSequenceNumber(),
|
|
94
|
+
};
|
|
95
|
+
const md5OfAttrs = SqsStoreClass.createMessage(entry.MessageBody, entry.MessageAttributes ?? {}).md5OfMessageAttributes;
|
|
96
|
+
if (md5OfAttrs) {
|
|
97
|
+
result.MD5OfMessageAttributes = md5OfAttrs;
|
|
98
|
+
}
|
|
99
|
+
successful.push(result);
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
const queueDelay = parseInt(queue.attributes.DelaySeconds);
|
|
103
|
+
const msg = SqsStoreClass.createMessage(entry.MessageBody, entry.MessageAttributes ?? {}, queueDelay > 0 ? queueDelay : undefined, entry.MessageGroupId, dedupId);
|
|
104
|
+
msg.sequenceNumber = queue.nextSequenceNumber();
|
|
105
|
+
queue.recordDeduplication(dedupId, msg.messageId);
|
|
106
|
+
queue.enqueue(msg);
|
|
107
|
+
const result = {
|
|
108
|
+
Id: entry.Id,
|
|
109
|
+
MessageId: msg.messageId,
|
|
110
|
+
MD5OfMessageBody: msg.md5OfBody,
|
|
111
|
+
SequenceNumber: msg.sequenceNumber,
|
|
112
|
+
};
|
|
113
|
+
if (msg.md5OfMessageAttributes) {
|
|
114
|
+
result.MD5OfMessageAttributes = msg.md5OfMessageAttributes;
|
|
115
|
+
}
|
|
116
|
+
successful.push(result);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
// Standard queue
|
|
120
|
+
const delaySeconds = entry.DelaySeconds ?? parseInt(queue.attributes.DelaySeconds);
|
|
121
|
+
const msg = SqsStoreClass.createMessage(entry.MessageBody, entry.MessageAttributes ?? {}, delaySeconds > 0 ? delaySeconds : undefined);
|
|
122
|
+
queue.enqueue(msg);
|
|
123
|
+
const result = {
|
|
124
|
+
Id: entry.Id,
|
|
125
|
+
MessageId: msg.messageId,
|
|
126
|
+
MD5OfMessageBody: msg.md5OfBody,
|
|
127
|
+
};
|
|
128
|
+
if (msg.md5OfMessageAttributes) {
|
|
129
|
+
result.MD5OfMessageAttributes = msg.md5OfMessageAttributes;
|
|
130
|
+
}
|
|
131
|
+
successful.push(result);
|
|
59
132
|
}
|
|
60
|
-
successful.push(result);
|
|
61
133
|
}
|
|
62
134
|
return { Successful: successful, Failed: failed };
|
|
63
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendMessageBatch.js","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessageBatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"sendMessageBatch.js","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessageBatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setQueueAttributes.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/setQueueAttributes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"setQueueAttributes.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/setQueueAttributes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CA6B1F"}
|
|
@@ -15,6 +15,10 @@ export function setQueueAttributes(body, store) {
|
|
|
15
15
|
throw new SqsError("InvalidAttributeName", `Unknown attribute: ${key}`);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
+
// FifoQueue cannot be changed after creation
|
|
19
|
+
if (attributes.FifoQueue !== undefined && attributes.FifoQueue !== queue.attributes.FifoQueue) {
|
|
20
|
+
throw new SqsError("InvalidAttributeValue", "Invalid value for the parameter FifoQueue. You cannot change the FifoQueue attribute of an existing queue.");
|
|
21
|
+
}
|
|
18
22
|
queue.setAttributes(attributes);
|
|
19
23
|
return {};
|
|
20
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setQueueAttributes.js","sourceRoot":"","sources":["../../../src/sqs/actions/setQueueAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,UAAU,kBAAkB,CAAC,IAA6B,EAAE,KAAe;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qCAAqC,EAAE,GAAG,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,UAAU,GAAI,IAAI,CAAC,UAAqC,IAAI,EAAE,CAAC;IAErE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
1
|
+
{"version":3,"file":"setQueueAttributes.js","sourceRoot":"","sources":["../../../src/sqs/actions/setQueueAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,UAAU,kBAAkB,CAAC,IAA6B,EAAE,KAAe;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qCAAqC,EAAE,GAAG,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,UAAU,GAAI,IAAI,CAAC,UAAqC,IAAI,EAAE,CAAC;IAErE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,IAAI,UAAU,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC9F,MAAM,IAAI,QAAQ,CAChB,uBAAuB,EACvB,4GAA4G,CAC7G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
package/dist/sqs/sqsStore.d.ts
CHANGED
|
@@ -15,18 +15,36 @@ export declare class SqsQueue {
|
|
|
15
15
|
maxMessages: number;
|
|
16
16
|
timer: ReturnType<typeof setTimeout>;
|
|
17
17
|
}>;
|
|
18
|
+
fifoMessages: Map<string, SqsMessage[]>;
|
|
19
|
+
fifoDelayed: Map<string, SqsMessage[]>;
|
|
20
|
+
deduplicationCache: Map<string, {
|
|
21
|
+
messageId: string;
|
|
22
|
+
timestamp: number;
|
|
23
|
+
}>;
|
|
24
|
+
sequenceCounter: number;
|
|
18
25
|
constructor(name: string, url: string, arn: string, attributes?: Record<string, string>, tags?: Record<string, string>);
|
|
26
|
+
isFifo(): boolean;
|
|
19
27
|
getAllAttributes(requested: string[]): Record<string, string>;
|
|
20
28
|
getAttribute(name: string): string | undefined;
|
|
21
29
|
setAttributes(attrs: Record<string, string>): void;
|
|
22
30
|
enqueue(msg: SqsMessage): void;
|
|
23
31
|
dequeue(maxCount: number, visibilityTimeoutOverride?: number, dlqResolver?: (arn: string) => SqsQueue | undefined): ReceivedMessage[];
|
|
32
|
+
private dequeueFifo;
|
|
24
33
|
deleteMessage(receiptHandle: string): boolean;
|
|
25
34
|
changeVisibility(receiptHandle: string, timeoutSeconds: number): void;
|
|
26
35
|
processTimers(): void;
|
|
27
36
|
waitForMessages(maxMessages: number, waitTimeSeconds: number): Promise<SqsMessage[]>;
|
|
28
37
|
purge(): void;
|
|
38
|
+
cancelWaiters(): void;
|
|
39
|
+
checkDeduplication(dedupId: string): {
|
|
40
|
+
isDuplicate: boolean;
|
|
41
|
+
originalMessageId?: string;
|
|
42
|
+
};
|
|
43
|
+
recordDeduplication(dedupId: string, messageId: string): void;
|
|
44
|
+
nextSequenceNumber(): string;
|
|
45
|
+
private hasFifoMessages;
|
|
29
46
|
private notifyWaiters;
|
|
47
|
+
private pullFifoMessagesForWaiter;
|
|
30
48
|
}
|
|
31
49
|
export declare class SqsStore {
|
|
32
50
|
private queues;
|
|
@@ -40,6 +58,8 @@ export declare class SqsStore {
|
|
|
40
58
|
listQueues(prefix?: string, maxResults?: number): SqsQueue[];
|
|
41
59
|
getQueueByArn(arn: string): SqsQueue | undefined;
|
|
42
60
|
processAllTimers(): void;
|
|
43
|
-
|
|
61
|
+
shutdown(): void;
|
|
62
|
+
static createMessage(body: string, messageAttributes?: Record<string, MessageAttributeValue>, delaySeconds?: number, messageGroupId?: string, messageDeduplicationId?: string): SqsMessage;
|
|
63
|
+
static contentBasedDeduplicationId(body: string): string;
|
|
44
64
|
}
|
|
45
65
|
//# sourceMappingURL=sqsStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqsStore.d.ts","sourceRoot":"","sources":["../../src/sqs/sqsStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,eAAe,EACf,qBAAqB,EACtB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"sqsStore.d.ts","sourceRoot":"","sources":["../../src/sqs/sqsStore.ts"],"names":[],"mappings":"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"}
|
package/dist/sqs/sqsStore.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
1
|
+
import { randomUUID, createHash } from "node:crypto";
|
|
2
2
|
import { md5, md5OfMessageAttributes } from "../common/md5.js";
|
|
3
3
|
import { DEFAULT_QUEUE_ATTRIBUTES, ALL_ATTRIBUTE_NAMES } from "./sqsTypes.js";
|
|
4
|
+
const DEDUP_WINDOW_MS = 5 * 60 * 1000; // 5 minutes
|
|
4
5
|
export class SqsQueue {
|
|
5
6
|
name;
|
|
6
7
|
url;
|
|
@@ -13,6 +14,11 @@ export class SqsQueue {
|
|
|
13
14
|
inflightMessages = new Map();
|
|
14
15
|
delayedMessages = [];
|
|
15
16
|
pollWaiters = [];
|
|
17
|
+
// FIFO-specific fields
|
|
18
|
+
fifoMessages = new Map();
|
|
19
|
+
fifoDelayed = new Map();
|
|
20
|
+
deduplicationCache = new Map();
|
|
21
|
+
sequenceCounter = 0;
|
|
16
22
|
constructor(name, url, arn, attributes, tags) {
|
|
17
23
|
this.name = name;
|
|
18
24
|
this.url = url;
|
|
@@ -23,6 +29,9 @@ export class SqsQueue {
|
|
|
23
29
|
this.attributes = { ...DEFAULT_QUEUE_ATTRIBUTES, ...attributes };
|
|
24
30
|
this.tags = new Map(tags ? Object.entries(tags) : []);
|
|
25
31
|
}
|
|
32
|
+
isFifo() {
|
|
33
|
+
return this.attributes.FifoQueue === "true";
|
|
34
|
+
}
|
|
26
35
|
getAllAttributes(requested) {
|
|
27
36
|
const names = requested.includes("All") ? ALL_ATTRIBUTE_NAMES : requested;
|
|
28
37
|
const result = {};
|
|
@@ -39,10 +48,24 @@ export class SqsQueue {
|
|
|
39
48
|
case "QueueArn":
|
|
40
49
|
return this.arn;
|
|
41
50
|
case "ApproximateNumberOfMessages":
|
|
51
|
+
if (this.isFifo()) {
|
|
52
|
+
let total = 0;
|
|
53
|
+
for (const msgs of this.fifoMessages.values()) {
|
|
54
|
+
total += msgs.length;
|
|
55
|
+
}
|
|
56
|
+
return String(total);
|
|
57
|
+
}
|
|
42
58
|
return String(this.messages.length);
|
|
43
59
|
case "ApproximateNumberOfMessagesNotVisible":
|
|
44
60
|
return String(this.inflightMessages.size);
|
|
45
61
|
case "ApproximateNumberOfMessagesDelayed":
|
|
62
|
+
if (this.isFifo()) {
|
|
63
|
+
let total = 0;
|
|
64
|
+
for (const msgs of this.fifoDelayed.values()) {
|
|
65
|
+
total += msgs.length;
|
|
66
|
+
}
|
|
67
|
+
return String(total);
|
|
68
|
+
}
|
|
46
69
|
return String(this.delayedMessages.length);
|
|
47
70
|
case "CreatedTimestamp":
|
|
48
71
|
return String(this.createdTimestamp);
|
|
@@ -57,6 +80,21 @@ export class SqsQueue {
|
|
|
57
80
|
this.lastModifiedTimestamp = Math.floor(Date.now() / 1000);
|
|
58
81
|
}
|
|
59
82
|
enqueue(msg) {
|
|
83
|
+
if (this.isFifo()) {
|
|
84
|
+
const groupId = msg.messageGroupId ?? "__default";
|
|
85
|
+
if (msg.delayUntil && msg.delayUntil > Date.now()) {
|
|
86
|
+
const group = this.fifoDelayed.get(groupId) ?? [];
|
|
87
|
+
group.push(msg);
|
|
88
|
+
this.fifoDelayed.set(groupId, group);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
const group = this.fifoMessages.get(groupId) ?? [];
|
|
92
|
+
group.push(msg);
|
|
93
|
+
this.fifoMessages.set(groupId, group);
|
|
94
|
+
this.notifyWaiters();
|
|
95
|
+
}
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
60
98
|
if (msg.delayUntil && msg.delayUntil > Date.now()) {
|
|
61
99
|
this.delayedMessages.push(msg);
|
|
62
100
|
}
|
|
@@ -66,6 +104,9 @@ export class SqsQueue {
|
|
|
66
104
|
}
|
|
67
105
|
}
|
|
68
106
|
dequeue(maxCount, visibilityTimeoutOverride, dlqResolver) {
|
|
107
|
+
if (this.isFifo()) {
|
|
108
|
+
return this.dequeueFifo(maxCount, visibilityTimeoutOverride, dlqResolver);
|
|
109
|
+
}
|
|
69
110
|
this.processTimers();
|
|
70
111
|
const visibilityTimeout = visibilityTimeoutOverride ?? parseInt(this.attributes.VisibilityTimeout);
|
|
71
112
|
// Parse RedrivePolicy for DLQ
|
|
@@ -124,6 +165,84 @@ export class SqsQueue {
|
|
|
124
165
|
}
|
|
125
166
|
return result;
|
|
126
167
|
}
|
|
168
|
+
dequeueFifo(maxCount, visibilityTimeoutOverride, dlqResolver) {
|
|
169
|
+
this.processTimers();
|
|
170
|
+
const visibilityTimeout = visibilityTimeoutOverride ?? parseInt(this.attributes.VisibilityTimeout);
|
|
171
|
+
// Parse RedrivePolicy for DLQ
|
|
172
|
+
let maxReceiveCount = Infinity;
|
|
173
|
+
let dlqArn;
|
|
174
|
+
if (this.attributes.RedrivePolicy) {
|
|
175
|
+
try {
|
|
176
|
+
const policy = JSON.parse(this.attributes.RedrivePolicy);
|
|
177
|
+
maxReceiveCount = policy.maxReceiveCount ?? Infinity;
|
|
178
|
+
dlqArn = policy.deadLetterTargetArn;
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
// Invalid policy, ignore
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
// Collect set of groups that have inflight messages
|
|
185
|
+
const lockedGroups = new Set();
|
|
186
|
+
for (const entry of this.inflightMessages.values()) {
|
|
187
|
+
if (entry.message.messageGroupId) {
|
|
188
|
+
lockedGroups.add(entry.message.messageGroupId);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
const result = [];
|
|
192
|
+
const count = Math.min(maxCount, 10);
|
|
193
|
+
for (const [groupId, groupMsgs] of this.fifoMessages) {
|
|
194
|
+
if (result.length >= count)
|
|
195
|
+
break;
|
|
196
|
+
if (lockedGroups.has(groupId))
|
|
197
|
+
continue;
|
|
198
|
+
if (groupMsgs.length === 0)
|
|
199
|
+
continue;
|
|
200
|
+
// Take messages from this group in order (up to remaining count)
|
|
201
|
+
while (result.length < count && groupMsgs.length > 0) {
|
|
202
|
+
const msg = groupMsgs.shift();
|
|
203
|
+
msg.approximateReceiveCount++;
|
|
204
|
+
if (!msg.approximateFirstReceiveTimestamp) {
|
|
205
|
+
msg.approximateFirstReceiveTimestamp = Date.now();
|
|
206
|
+
}
|
|
207
|
+
// DLQ check
|
|
208
|
+
if (dlqArn && dlqResolver && msg.approximateReceiveCount > maxReceiveCount) {
|
|
209
|
+
const dlq = dlqResolver(dlqArn);
|
|
210
|
+
if (dlq) {
|
|
211
|
+
dlq.enqueue(msg);
|
|
212
|
+
continue;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
const receiptHandle = randomUUID();
|
|
216
|
+
const visibilityDeadline = Date.now() + visibilityTimeout * 1000;
|
|
217
|
+
this.inflightMessages.set(receiptHandle, {
|
|
218
|
+
message: msg,
|
|
219
|
+
receiptHandle,
|
|
220
|
+
visibilityDeadline,
|
|
221
|
+
});
|
|
222
|
+
const received = {
|
|
223
|
+
MessageId: msg.messageId,
|
|
224
|
+
ReceiptHandle: receiptHandle,
|
|
225
|
+
MD5OfBody: msg.md5OfBody,
|
|
226
|
+
Body: msg.body,
|
|
227
|
+
};
|
|
228
|
+
if (msg.md5OfMessageAttributes) {
|
|
229
|
+
received.MD5OfMessageAttributes = msg.md5OfMessageAttributes;
|
|
230
|
+
}
|
|
231
|
+
if (Object.keys(msg.messageAttributes).length > 0) {
|
|
232
|
+
received.MessageAttributes = msg.messageAttributes;
|
|
233
|
+
}
|
|
234
|
+
result.push(received);
|
|
235
|
+
// Once a message from this group is inflight, the group is locked
|
|
236
|
+
lockedGroups.add(groupId);
|
|
237
|
+
break;
|
|
238
|
+
}
|
|
239
|
+
// Clean up empty groups
|
|
240
|
+
if (groupMsgs.length === 0) {
|
|
241
|
+
this.fifoMessages.delete(groupId);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return result;
|
|
245
|
+
}
|
|
127
246
|
deleteMessage(receiptHandle) {
|
|
128
247
|
return this.inflightMessages.delete(receiptHandle);
|
|
129
248
|
}
|
|
@@ -134,7 +253,15 @@ export class SqsQueue {
|
|
|
134
253
|
}
|
|
135
254
|
if (timeoutSeconds === 0) {
|
|
136
255
|
this.inflightMessages.delete(receiptHandle);
|
|
137
|
-
this.
|
|
256
|
+
if (this.isFifo() && entry.message.messageGroupId) {
|
|
257
|
+
const groupId = entry.message.messageGroupId;
|
|
258
|
+
const group = this.fifoMessages.get(groupId) ?? [];
|
|
259
|
+
group.unshift(entry.message);
|
|
260
|
+
this.fifoMessages.set(groupId, group);
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
this.messages.push(entry.message);
|
|
264
|
+
}
|
|
138
265
|
this.notifyWaiters();
|
|
139
266
|
}
|
|
140
267
|
else {
|
|
@@ -143,6 +270,42 @@ export class SqsQueue {
|
|
|
143
270
|
}
|
|
144
271
|
processTimers() {
|
|
145
272
|
const now = Date.now();
|
|
273
|
+
if (this.isFifo()) {
|
|
274
|
+
// Move expired inflight messages back to front of their group
|
|
275
|
+
for (const [handle, entry] of this.inflightMessages) {
|
|
276
|
+
if (entry.visibilityDeadline <= now) {
|
|
277
|
+
this.inflightMessages.delete(handle);
|
|
278
|
+
const groupId = entry.message.messageGroupId ?? "__default";
|
|
279
|
+
const group = this.fifoMessages.get(groupId) ?? [];
|
|
280
|
+
group.unshift(entry.message);
|
|
281
|
+
this.fifoMessages.set(groupId, group);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
// Move delayed FIFO messages that are now ready
|
|
285
|
+
for (const [groupId, delayedMsgs] of this.fifoDelayed) {
|
|
286
|
+
const stillDelayed = [];
|
|
287
|
+
for (const msg of delayedMsgs) {
|
|
288
|
+
if (msg.delayUntil && msg.delayUntil > now) {
|
|
289
|
+
stillDelayed.push(msg);
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
const group = this.fifoMessages.get(groupId) ?? [];
|
|
293
|
+
group.push(msg);
|
|
294
|
+
this.fifoMessages.set(groupId, group);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
if (stillDelayed.length === 0) {
|
|
298
|
+
this.fifoDelayed.delete(groupId);
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
this.fifoDelayed.set(groupId, stillDelayed);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
if (this.hasFifoMessages()) {
|
|
305
|
+
this.notifyWaiters();
|
|
306
|
+
}
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
146
309
|
// Move expired inflight messages back to available
|
|
147
310
|
for (const [handle, entry] of this.inflightMessages) {
|
|
148
311
|
if (entry.visibilityDeadline <= now) {
|
|
@@ -180,9 +343,56 @@ export class SqsQueue {
|
|
|
180
343
|
purge() {
|
|
181
344
|
this.messages = [];
|
|
182
345
|
this.delayedMessages = [];
|
|
346
|
+
this.fifoMessages.clear();
|
|
347
|
+
this.fifoDelayed.clear();
|
|
183
348
|
// Inflight messages are NOT purged (matches AWS behavior)
|
|
184
349
|
}
|
|
350
|
+
cancelWaiters() {
|
|
351
|
+
for (const waiter of this.pollWaiters) {
|
|
352
|
+
clearTimeout(waiter.timer);
|
|
353
|
+
waiter.resolve([]);
|
|
354
|
+
}
|
|
355
|
+
this.pollWaiters = [];
|
|
356
|
+
}
|
|
357
|
+
checkDeduplication(dedupId) {
|
|
358
|
+
const now = Date.now();
|
|
359
|
+
// Lazy cleanup of expired entries
|
|
360
|
+
for (const [key, entry] of this.deduplicationCache) {
|
|
361
|
+
if (now - entry.timestamp > DEDUP_WINDOW_MS) {
|
|
362
|
+
this.deduplicationCache.delete(key);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
const existing = this.deduplicationCache.get(dedupId);
|
|
366
|
+
if (existing && now - existing.timestamp <= DEDUP_WINDOW_MS) {
|
|
367
|
+
return { isDuplicate: true, originalMessageId: existing.messageId };
|
|
368
|
+
}
|
|
369
|
+
return { isDuplicate: false };
|
|
370
|
+
}
|
|
371
|
+
recordDeduplication(dedupId, messageId) {
|
|
372
|
+
this.deduplicationCache.set(dedupId, { messageId, timestamp: Date.now() });
|
|
373
|
+
}
|
|
374
|
+
nextSequenceNumber() {
|
|
375
|
+
this.sequenceCounter++;
|
|
376
|
+
return String(this.sequenceCounter).padStart(20, "0");
|
|
377
|
+
}
|
|
378
|
+
hasFifoMessages() {
|
|
379
|
+
for (const msgs of this.fifoMessages.values()) {
|
|
380
|
+
if (msgs.length > 0)
|
|
381
|
+
return true;
|
|
382
|
+
}
|
|
383
|
+
return false;
|
|
384
|
+
}
|
|
185
385
|
notifyWaiters() {
|
|
386
|
+
if (this.isFifo()) {
|
|
387
|
+
while (this.pollWaiters.length > 0 && this.hasFifoMessages()) {
|
|
388
|
+
const waiter = this.pollWaiters.shift();
|
|
389
|
+
clearTimeout(waiter.timer);
|
|
390
|
+
// For FIFO long polling, we pull from the first available unlocked group
|
|
391
|
+
const msgs = this.pullFifoMessagesForWaiter(waiter.maxMessages);
|
|
392
|
+
waiter.resolve(msgs);
|
|
393
|
+
}
|
|
394
|
+
return;
|
|
395
|
+
}
|
|
186
396
|
while (this.pollWaiters.length > 0 && this.messages.length > 0) {
|
|
187
397
|
const waiter = this.pollWaiters.shift();
|
|
188
398
|
clearTimeout(waiter.timer);
|
|
@@ -191,6 +401,22 @@ export class SqsQueue {
|
|
|
191
401
|
waiter.resolve(msgs);
|
|
192
402
|
}
|
|
193
403
|
}
|
|
404
|
+
pullFifoMessagesForWaiter(maxMessages) {
|
|
405
|
+
const result = [];
|
|
406
|
+
for (const [groupId, groupMsgs] of this.fifoMessages) {
|
|
407
|
+
if (result.length >= maxMessages)
|
|
408
|
+
break;
|
|
409
|
+
if (groupMsgs.length === 0)
|
|
410
|
+
continue;
|
|
411
|
+
const msg = groupMsgs.shift();
|
|
412
|
+
result.push(msg);
|
|
413
|
+
if (groupMsgs.length === 0) {
|
|
414
|
+
this.fifoMessages.delete(groupId);
|
|
415
|
+
}
|
|
416
|
+
break; // one group at a time for FIFO
|
|
417
|
+
}
|
|
418
|
+
return result;
|
|
419
|
+
}
|
|
194
420
|
}
|
|
195
421
|
export class SqsStore {
|
|
196
422
|
queues = new Map();
|
|
@@ -239,7 +465,12 @@ export class SqsStore {
|
|
|
239
465
|
queue.processTimers();
|
|
240
466
|
}
|
|
241
467
|
}
|
|
242
|
-
|
|
468
|
+
shutdown() {
|
|
469
|
+
for (const queue of this.queues.values()) {
|
|
470
|
+
queue.cancelWaiters();
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
static createMessage(body, messageAttributes = {}, delaySeconds, messageGroupId, messageDeduplicationId) {
|
|
243
474
|
const now = Date.now();
|
|
244
475
|
return {
|
|
245
476
|
messageId: randomUUID(),
|
|
@@ -250,7 +481,12 @@ export class SqsStore {
|
|
|
250
481
|
sentTimestamp: now,
|
|
251
482
|
approximateReceiveCount: 0,
|
|
252
483
|
delayUntil: delaySeconds ? now + delaySeconds * 1000 : undefined,
|
|
484
|
+
messageGroupId,
|
|
485
|
+
messageDeduplicationId,
|
|
253
486
|
};
|
|
254
487
|
}
|
|
488
|
+
static contentBasedDeduplicationId(body) {
|
|
489
|
+
return createHash("sha256").update(body).digest("hex");
|
|
490
|
+
}
|
|
255
491
|
}
|
|
256
492
|
//# sourceMappingURL=sqsStore.js.map
|
package/dist/sqs/sqsStore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqsStore.js","sourceRoot":"","sources":["../../src/sqs/sqsStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqsStore.js","sourceRoot":"","sources":["../../src/sqs/sqsStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqsTypes.d.ts","sourceRoot":"","sources":["../../src/sqs/sqsTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,UAAU,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CAC3D;AAED,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"sqsTypes.d.ts","sourceRoot":"","sources":["../../src/sqs/sqsTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,UAAU,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CAC3D;AAED,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAY9B,CAAC;AAIH,eAAO,MAAM,yBAAyB,QAA4C,CAAC;AAGnF,eAAO,MAAM,0BAA0B,UAAY,CAAC;AAGpD,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAElD,eAAO,MAAM,mBAAmB,UAoB/B,CAAC"}
|
package/dist/sqs/sqsTypes.js
CHANGED
|
@@ -15,6 +15,8 @@ export const SETTABLE_ATTRIBUTES = new Set([
|
|
|
15
15
|
"Policy",
|
|
16
16
|
"KmsMasterKeyId",
|
|
17
17
|
"KmsDataKeyReusePeriodSeconds",
|
|
18
|
+
"FifoQueue",
|
|
19
|
+
"ContentBasedDeduplication",
|
|
18
20
|
]);
|
|
19
21
|
// AWS SQS allowed unicode characters: #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD
|
|
20
22
|
// eslint-disable-next-line no-control-regex
|
|
@@ -39,5 +41,9 @@ export const ALL_ATTRIBUTE_NAMES = [
|
|
|
39
41
|
"Policy",
|
|
40
42
|
"KmsMasterKeyId",
|
|
41
43
|
"KmsDataKeyReusePeriodSeconds",
|
|
44
|
+
"FifoQueue",
|
|
45
|
+
"ContentBasedDeduplication",
|
|
46
|
+
"DeduplicationScope",
|
|
47
|
+
"FifoThroughputLimit",
|
|
42
48
|
];
|
|
43
49
|
//# sourceMappingURL=sqsTypes.js.map
|
package/dist/sqs/sqsTypes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqsTypes.js","sourceRoot":"","sources":["../../src/sqs/sqsTypes.ts"],"names":[],"mappings":"AAqCA,MAAM,CAAC,MAAM,wBAAwB,GAA2B;IAC9D,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,GAAG;IACjB,kBAAkB,EAAE,QAAQ;IAC5B,sBAAsB,EAAE,QAAQ;IAChC,6BAA6B,EAAE,GAAG;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACzC,mBAAmB;IACnB,cAAc;IACd,oBAAoB;IACpB,wBAAwB;IACxB,+BAA+B;IAC/B,eAAe;IACf,QAAQ;IACR,gBAAgB;IAChB,8BAA8B;
|
|
1
|
+
{"version":3,"file":"sqsTypes.js","sourceRoot":"","sources":["../../src/sqs/sqsTypes.ts"],"names":[],"mappings":"AAqCA,MAAM,CAAC,MAAM,wBAAwB,GAA2B;IAC9D,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,GAAG;IACjB,kBAAkB,EAAE,QAAQ;IAC5B,sBAAsB,EAAE,QAAQ;IAChC,6BAA6B,EAAE,GAAG;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACzC,mBAAmB;IACnB,cAAc;IACd,oBAAoB;IACpB,wBAAwB;IACxB,+BAA+B;IAC/B,eAAe;IACf,QAAQ;IACR,gBAAgB;IAChB,8BAA8B;IAC9B,WAAW;IACX,2BAA2B;CAC5B,CAAC,CAAC;AAEH,0FAA0F;AAC1F,4CAA4C;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,yCAAyC,CAAC;AAEnF,oDAAoD;AACpD,MAAM,CAAC,MAAM,0BAA0B,GAAG,SAAS,CAAC;AAEpD,mDAAmD;AACnD,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAElD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU;IACV,mBAAmB;IACnB,cAAc;IACd,oBAAoB;IACpB,wBAAwB;IACxB,+BAA+B;IAC/B,6BAA6B;IAC7B,uCAAuC;IACvC,oCAAoC;IACpC,kBAAkB;IAClB,uBAAuB;IACvB,eAAe;IACf,QAAQ;IACR,gBAAgB;IAChB,8BAA8B;IAC9B,WAAW;IACX,2BAA2B;IAC3B,oBAAoB;IACpB,qBAAqB;CACtB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fauxqs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "SNS/SQS emulator",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"dev": "node --watch src/server.ts",
|
|
10
10
|
"test": "vitest run",
|
|
11
11
|
"test:coverage": "vitest run --coverage",
|
|
12
|
-
"lint": "oxlint && oxfmt src",
|
|
12
|
+
"lint": "oxlint && oxfmt src && tsc --noEmit",
|
|
13
13
|
"lint:fix": "oxlint --fix && oxfmt --write src",
|
|
14
14
|
"prepublishOnly": "npm run build"
|
|
15
15
|
},
|