@effortless-aws/cli 0.9.3 → 0.10.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/cli/index.js +54 -28
- package/package.json +2 -2
package/dist/cli/index.js
CHANGED
|
@@ -3951,16 +3951,8 @@ var cleanupOrphanedFunctions = (project, stage) => Effect21.gen(function* () {
|
|
|
3951
3951
|
|
|
3952
3952
|
// src/aws/sqs.ts
|
|
3953
3953
|
import { Effect as Effect22 } from "effect";
|
|
3954
|
-
var
|
|
3955
|
-
const {
|
|
3956
|
-
name,
|
|
3957
|
-
visibilityTimeout = 30,
|
|
3958
|
-
retentionPeriod = 345600,
|
|
3959
|
-
delay = 0,
|
|
3960
|
-
contentBasedDeduplication = true,
|
|
3961
|
-
tags
|
|
3962
|
-
} = input;
|
|
3963
|
-
const queueName = `${name}.fifo`;
|
|
3954
|
+
var ensureSingleFifoQueue = (opts) => Effect22.gen(function* () {
|
|
3955
|
+
const { queueName, attributes, tags } = opts;
|
|
3964
3956
|
const existingUrl = yield* sqs_exports.make("get_queue_url", {
|
|
3965
3957
|
QueueName: queueName
|
|
3966
3958
|
}).pipe(
|
|
@@ -3975,13 +3967,7 @@ var ensureFifoQueue = (input) => Effect22.gen(function* () {
|
|
|
3975
3967
|
yield* Effect22.logDebug(`Creating FIFO queue ${queueName}...`);
|
|
3976
3968
|
const result = yield* sqs_exports.make("create_queue", {
|
|
3977
3969
|
QueueName: queueName,
|
|
3978
|
-
Attributes:
|
|
3979
|
-
FifoQueue: "true",
|
|
3980
|
-
ContentBasedDeduplication: String(contentBasedDeduplication),
|
|
3981
|
-
VisibilityTimeout: String(visibilityTimeout),
|
|
3982
|
-
MessageRetentionPeriod: String(retentionPeriod),
|
|
3983
|
-
DelaySeconds: String(delay)
|
|
3984
|
-
},
|
|
3970
|
+
Attributes: attributes,
|
|
3985
3971
|
...tags ? { tags } : {}
|
|
3986
3972
|
});
|
|
3987
3973
|
queueUrl = result.QueueUrl;
|
|
@@ -3990,12 +3976,7 @@ var ensureFifoQueue = (input) => Effect22.gen(function* () {
|
|
|
3990
3976
|
queueUrl = existingUrl;
|
|
3991
3977
|
yield* sqs_exports.make("set_queue_attributes", {
|
|
3992
3978
|
QueueUrl: queueUrl,
|
|
3993
|
-
Attributes:
|
|
3994
|
-
ContentBasedDeduplication: String(contentBasedDeduplication),
|
|
3995
|
-
VisibilityTimeout: String(visibilityTimeout),
|
|
3996
|
-
MessageRetentionPeriod: String(retentionPeriod),
|
|
3997
|
-
DelaySeconds: String(delay)
|
|
3998
|
-
}
|
|
3979
|
+
Attributes: attributes
|
|
3999
3980
|
});
|
|
4000
3981
|
if (tags) {
|
|
4001
3982
|
yield* sqs_exports.make("tag_queue", {
|
|
@@ -4014,6 +3995,44 @@ var ensureFifoQueue = (input) => Effect22.gen(function* () {
|
|
|
4014
3995
|
}
|
|
4015
3996
|
return { queueUrl, queueArn };
|
|
4016
3997
|
});
|
|
3998
|
+
var ensureFifoQueue = (input) => Effect22.gen(function* () {
|
|
3999
|
+
const {
|
|
4000
|
+
name,
|
|
4001
|
+
visibilityTimeout = 30,
|
|
4002
|
+
retentionPeriod = 345600,
|
|
4003
|
+
delay = 0,
|
|
4004
|
+
contentBasedDeduplication = true,
|
|
4005
|
+
maxReceiveCount = 3,
|
|
4006
|
+
tags
|
|
4007
|
+
} = input;
|
|
4008
|
+
const dlqName = `${name}-dlq.fifo`;
|
|
4009
|
+
const { queueUrl: dlqUrl, queueArn: dlqArn } = yield* ensureSingleFifoQueue({
|
|
4010
|
+
queueName: dlqName,
|
|
4011
|
+
attributes: {
|
|
4012
|
+
FifoQueue: "true",
|
|
4013
|
+
ContentBasedDeduplication: String(contentBasedDeduplication),
|
|
4014
|
+
MessageRetentionPeriod: String(retentionPeriod)
|
|
4015
|
+
},
|
|
4016
|
+
tags
|
|
4017
|
+
});
|
|
4018
|
+
const queueName = `${name}.fifo`;
|
|
4019
|
+
const { queueUrl, queueArn } = yield* ensureSingleFifoQueue({
|
|
4020
|
+
queueName,
|
|
4021
|
+
attributes: {
|
|
4022
|
+
FifoQueue: "true",
|
|
4023
|
+
ContentBasedDeduplication: String(contentBasedDeduplication),
|
|
4024
|
+
VisibilityTimeout: String(visibilityTimeout),
|
|
4025
|
+
MessageRetentionPeriod: String(retentionPeriod),
|
|
4026
|
+
DelaySeconds: String(delay),
|
|
4027
|
+
RedrivePolicy: JSON.stringify({
|
|
4028
|
+
deadLetterTargetArn: dlqArn,
|
|
4029
|
+
maxReceiveCount
|
|
4030
|
+
})
|
|
4031
|
+
},
|
|
4032
|
+
tags
|
|
4033
|
+
});
|
|
4034
|
+
return { queueUrl, queueArn, dlqUrl, dlqArn };
|
|
4035
|
+
});
|
|
4017
4036
|
var ensureSqsEventSourceMapping = (input) => Effect22.gen(function* () {
|
|
4018
4037
|
const { functionArn, queueArn, batchSize = 10, batchWindow } = input;
|
|
4019
4038
|
const existingMappings = yield* lambda_exports.make("list_event_source_mappings", {
|
|
@@ -4044,8 +4063,7 @@ var ensureSqsEventSourceMapping = (input) => Effect22.gen(function* () {
|
|
|
4044
4063
|
});
|
|
4045
4064
|
return result.UUID;
|
|
4046
4065
|
});
|
|
4047
|
-
var
|
|
4048
|
-
const name = queueName.endsWith(".fifo") ? queueName : `${queueName}.fifo`;
|
|
4066
|
+
var deleteSingleQueue = (name) => Effect22.gen(function* () {
|
|
4049
4067
|
yield* Effect22.logDebug(`Deleting SQS queue: ${name}`);
|
|
4050
4068
|
const urlResult = yield* sqs_exports.make("get_queue_url", {
|
|
4051
4069
|
QueueName: name
|
|
@@ -4064,6 +4082,11 @@ var deleteFifoQueue = (queueName) => Effect22.gen(function* () {
|
|
|
4064
4082
|
});
|
|
4065
4083
|
}
|
|
4066
4084
|
});
|
|
4085
|
+
var deleteFifoQueue = (queueName) => Effect22.gen(function* () {
|
|
4086
|
+
const baseName = queueName.endsWith(".fifo") ? queueName.slice(0, -5) : queueName;
|
|
4087
|
+
yield* deleteSingleQueue(`${baseName}.fifo`);
|
|
4088
|
+
yield* deleteSingleQueue(`${baseName}-dlq.fifo`);
|
|
4089
|
+
});
|
|
4067
4090
|
|
|
4068
4091
|
// src/aws/ses.ts
|
|
4069
4092
|
import { Effect as Effect23 } from "effect";
|
|
@@ -4176,7 +4199,7 @@ var findDefineCalls = (sourceFile, defineFn) => {
|
|
|
4176
4199
|
}
|
|
4177
4200
|
return results;
|
|
4178
4201
|
};
|
|
4179
|
-
var RUNTIME_PROPS = ["onRecord", "onBatchComplete", "onBatch", "onMessage", "onObjectCreated", "onObjectRemoved", "setup", "schema", "onError", "deps", "config", "static", "middleware", "auth", "routes", "get", "post"];
|
|
4202
|
+
var RUNTIME_PROPS = ["onRecord", "onBatchComplete", "onBatch", "onMessage", "onObjectCreated", "onObjectRemoved", "setup", "schema", "onError", "onAfterInvoke", "deps", "config", "static", "middleware", "auth", "routes", "get", "post"];
|
|
4180
4203
|
var evalConfig = (configText, exportName) => {
|
|
4181
4204
|
try {
|
|
4182
4205
|
return new Function(`return ${configText}`)();
|
|
@@ -5738,12 +5761,13 @@ var deployFifoQueueFunction = ({ input, fn: fn13, layerArn, external, depsEnv, d
|
|
|
5738
5761
|
yield* Effect32.logDebug("Creating SQS FIFO queue...");
|
|
5739
5762
|
const queueName = `${input.project}-${tagCtx.stage}-${handlerName}`;
|
|
5740
5763
|
const timeout = toSeconds4(config.lambda?.timeout ?? 30);
|
|
5741
|
-
const { queueUrl, queueArn } = yield* ensureFifoQueue({
|
|
5764
|
+
const { queueUrl, queueArn, dlqUrl, dlqArn } = yield* ensureFifoQueue({
|
|
5742
5765
|
name: queueName,
|
|
5743
5766
|
visibilityTimeout: Math.max(config.visibilityTimeout ? toSeconds4(config.visibilityTimeout) : timeout, timeout),
|
|
5744
5767
|
retentionPeriod: config.retentionPeriod ? toSeconds4(config.retentionPeriod) : void 0,
|
|
5745
5768
|
delay: config.delay ? toSeconds4(config.delay) : void 0,
|
|
5746
5769
|
contentBasedDeduplication: config.contentBasedDeduplication ?? true,
|
|
5770
|
+
maxReceiveCount: config.maxReceiveCount,
|
|
5747
5771
|
tags: makeTags(tagCtx, "sqs")
|
|
5748
5772
|
});
|
|
5749
5773
|
const queueEnv = {
|
|
@@ -5780,7 +5804,9 @@ var deployFifoQueueFunction = ({ input, fn: fn13, layerArn, external, depsEnv, d
|
|
|
5780
5804
|
status,
|
|
5781
5805
|
bundleSize,
|
|
5782
5806
|
queueUrl,
|
|
5783
|
-
queueArn
|
|
5807
|
+
queueArn,
|
|
5808
|
+
dlqUrl,
|
|
5809
|
+
dlqArn
|
|
5784
5810
|
};
|
|
5785
5811
|
});
|
|
5786
5812
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effortless-aws/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "CLI and deploy tooling for effortless-aws",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"esbuild": "^0.25.0",
|
|
40
40
|
"glob": "^13.0.0",
|
|
41
41
|
"ts-morph": "^27.0.2",
|
|
42
|
-
"effortless-aws": "0.
|
|
42
|
+
"effortless-aws": "0.27.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@effect-ak/aws-sdk": "1.0.0-rc.3",
|