@webda/aws 4.0.0-beta.2 → 4.0.0-beta.4
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 +64 -7
- package/lib/deployers/awsdeployer.d.ts +340 -0
- package/lib/deployers/awsdeployer.d.ts.map +1 -0
- package/lib/deployers/awsdeployer.js +673 -0
- package/lib/deployers/awsdeployer.js.map +1 -0
- package/lib/deployers/cloudformation.service.d.ts +438 -0
- package/lib/deployers/cloudformation.service.d.ts.map +1 -0
- package/lib/deployers/cloudformation.service.js +889 -0
- package/lib/deployers/cloudformation.service.js.map +1 -0
- package/lib/deployers/index.d.ts +4 -254
- package/lib/deployers/index.d.ts.map +1 -1
- package/lib/deployers/index.js +4 -542
- package/lib/deployers/index.js.map +1 -1
- package/lib/deployers/lambda-entrypoint.d.ts +33 -1
- package/lib/deployers/lambda-entrypoint.d.ts.map +1 -1
- package/lib/deployers/lambda-entrypoint.js +44 -10
- package/lib/deployers/lambda-entrypoint.js.map +1 -1
- package/lib/deployers/lambdapackager.service.d.ts +123 -0
- package/lib/deployers/lambdapackager.service.d.ts.map +1 -0
- package/lib/deployers/lambdapackager.service.js +149 -0
- package/lib/deployers/lambdapackager.service.js.map +1 -0
- package/lib/deployers/zip.d.ts +42 -0
- package/lib/deployers/zip.d.ts.map +1 -0
- package/lib/deployers/zip.js +129 -0
- package/lib/deployers/zip.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/services/aws-parameters.d.ts +33 -0
- package/lib/services/aws-parameters.d.ts.map +1 -0
- package/lib/services/aws-parameters.js +18 -0
- package/lib/services/aws-parameters.js.map +1 -0
- package/lib/services/awscommands.service.d.ts +39 -0
- package/lib/services/awscommands.service.d.ts.map +1 -0
- package/lib/services/awscommands.service.js +127 -0
- package/lib/services/awscommands.service.js.map +1 -0
- package/lib/services/cloudwatchlogger.service.d.ts +131 -0
- package/lib/services/cloudwatchlogger.service.d.ts.map +1 -0
- package/lib/services/{cloudwatchlogger.js → cloudwatchlogger.service.js} +60 -28
- package/lib/services/cloudwatchlogger.service.js.map +1 -0
- package/lib/services/contributors.d.ts +36 -0
- package/lib/services/contributors.d.ts.map +1 -0
- package/lib/services/contributors.js +2 -0
- package/lib/services/contributors.js.map +1 -0
- package/lib/services/dynamodb.service.d.ts +298 -0
- package/lib/services/dynamodb.service.d.ts.map +1 -0
- package/lib/services/dynamodb.service.js +986 -0
- package/lib/services/dynamodb.service.js.map +1 -0
- package/lib/services/index.d.ts +11 -31
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/index.js +11 -8
- package/lib/services/index.js.map +1 -1
- package/lib/services/lambdacaller.service.d.ts +81 -0
- package/lib/services/lambdacaller.service.d.ts.map +1 -0
- package/lib/services/lambdacaller.service.js +75 -0
- package/lib/services/lambdacaller.service.js.map +1 -0
- package/lib/services/lambdaserver.service.d.ts +127 -0
- package/lib/services/lambdaserver.service.d.ts.map +1 -0
- package/lib/services/lambdaserver.service.js +294 -0
- package/lib/services/lambdaserver.service.js.map +1 -0
- package/lib/services/{route53.d.ts → route53.service.d.ts} +21 -12
- package/lib/services/route53.service.d.ts.map +1 -0
- package/lib/services/{route53.js → route53.service.js} +25 -28
- package/lib/services/route53.service.js.map +1 -0
- package/lib/services/s3binary.service.d.ts +215 -0
- package/lib/services/s3binary.service.d.ts.map +1 -0
- package/lib/services/{s3binary.js → s3binary.service.js} +93 -55
- package/lib/services/s3binary.service.js.map +1 -0
- package/lib/services/secretsmanager.service.d.ts +102 -0
- package/lib/services/secretsmanager.service.d.ts.map +1 -0
- package/lib/services/{secretsmanager.js → secretsmanager.service.js} +40 -22
- package/lib/services/secretsmanager.service.js.map +1 -0
- package/lib/services/{sqsqueue.d.ts → sqsqueue.service.d.ts} +60 -35
- package/lib/services/sqsqueue.service.d.ts.map +1 -0
- package/lib/services/{sqsqueue.js → sqsqueue.service.js} +53 -28
- package/lib/services/sqsqueue.service.js.map +1 -0
- package/package.json +56 -64
- package/webda.module.json +1425 -264
- package/lib/deployers/cloudformation.d.ts +0 -317
- package/lib/deployers/cloudformation.d.ts.map +0 -1
- package/lib/deployers/cloudformation.js +0 -837
- package/lib/deployers/cloudformation.js.map +0 -1
- package/lib/deployers/cloudformation.spec.d.ts +0 -2
- package/lib/deployers/cloudformation.spec.d.ts.map +0 -1
- package/lib/deployers/cloudformation.spec.js +0 -530
- package/lib/deployers/cloudformation.spec.js.map +0 -1
- package/lib/deployers/index.spec.d.ts +0 -9
- package/lib/deployers/index.spec.d.ts.map +0 -1
- package/lib/deployers/index.spec.js +0 -595
- package/lib/deployers/index.spec.js.map +0 -1
- package/lib/deployers/lambdapackager.d.ts +0 -28
- package/lib/deployers/lambdapackager.d.ts.map +0 -1
- package/lib/deployers/lambdapackager.js +0 -26
- package/lib/deployers/lambdapackager.js.map +0 -1
- package/lib/deployers/lambdapackager.spec.d.ts +0 -2
- package/lib/deployers/lambdapackager.spec.d.ts.map +0 -1
- package/lib/deployers/lambdapackager.spec.js +0 -44
- package/lib/deployers/lambdapackager.spec.js.map +0 -1
- package/lib/index.spec.d.ts +0 -11
- package/lib/index.spec.d.ts.map +0 -1
- package/lib/index.spec.js +0 -42
- package/lib/index.spec.js.map +0 -1
- package/lib/services/aws-mixin.d.ts +0 -25
- package/lib/services/aws-mixin.d.ts.map +0 -1
- package/lib/services/aws-mixin.js +0 -18
- package/lib/services/aws-mixin.js.map +0 -1
- package/lib/services/cloudwatchlogger.d.ts +0 -82
- package/lib/services/cloudwatchlogger.d.ts.map +0 -1
- package/lib/services/cloudwatchlogger.js.map +0 -1
- package/lib/services/cloudwatchlogger.spec.d.ts +0 -2
- package/lib/services/cloudwatchlogger.spec.d.ts.map +0 -1
- package/lib/services/cloudwatchlogger.spec.js +0 -104
- package/lib/services/cloudwatchlogger.spec.js.map +0 -1
- package/lib/services/dynamodb.d.ts +0 -174
- package/lib/services/dynamodb.d.ts.map +0 -1
- package/lib/services/dynamodb.js +0 -711
- package/lib/services/dynamodb.js.map +0 -1
- package/lib/services/dynamodb.spec.d.ts +0 -24
- package/lib/services/dynamodb.spec.d.ts.map +0 -1
- package/lib/services/dynamodb.spec.js +0 -344
- package/lib/services/dynamodb.spec.js.map +0 -1
- package/lib/services/lambdacaller.d.ts +0 -69
- package/lib/services/lambdacaller.d.ts.map +0 -1
- package/lib/services/lambdacaller.js +0 -63
- package/lib/services/lambdacaller.js.map +0 -1
- package/lib/services/lambdacaller.spec.d.ts +0 -2
- package/lib/services/lambdacaller.spec.d.ts.map +0 -1
- package/lib/services/lambdacaller.spec.js +0 -70
- package/lib/services/lambdacaller.spec.js.map +0 -1
- package/lib/services/lambdaserver.d.ts +0 -87
- package/lib/services/lambdaserver.d.ts.map +0 -1
- package/lib/services/lambdaserver.js +0 -263
- package/lib/services/lambdaserver.js.map +0 -1
- package/lib/services/lambdaserver.spec.d.ts +0 -2
- package/lib/services/lambdaserver.spec.d.ts.map +0 -1
- package/lib/services/lambdaserver.spec.js +0 -417
- package/lib/services/lambdaserver.spec.js.map +0 -1
- package/lib/services/route53.d.ts.map +0 -1
- package/lib/services/route53.js.map +0 -1
- package/lib/services/route53.spec.d.ts +0 -2
- package/lib/services/route53.spec.d.ts.map +0 -1
- package/lib/services/route53.spec.js +0 -102
- package/lib/services/route53.spec.js.map +0 -1
- package/lib/services/s3binary.d.ts +0 -163
- package/lib/services/s3binary.d.ts.map +0 -1
- package/lib/services/s3binary.js.map +0 -1
- package/lib/services/s3binary.spec.d.ts +0 -2
- package/lib/services/s3binary.spec.d.ts.map +0 -1
- package/lib/services/s3binary.spec.js +0 -284
- package/lib/services/s3binary.spec.js.map +0 -1
- package/lib/services/secretsmanager.d.ts +0 -81
- package/lib/services/secretsmanager.d.ts.map +0 -1
- package/lib/services/secretsmanager.js.map +0 -1
- package/lib/services/secretsmanager.spec.d.ts +0 -2
- package/lib/services/secretsmanager.spec.d.ts.map +0 -1
- package/lib/services/secretsmanager.spec.js +0 -66
- package/lib/services/secretsmanager.spec.js.map +0 -1
- package/lib/services/sqsqueue.d.ts.map +0 -1
- package/lib/services/sqsqueue.js.map +0 -1
- package/lib/services/sqsqueue.spec.d.ts +0 -2
- package/lib/services/sqsqueue.spec.d.ts.map +0 -1
- package/lib/services/sqsqueue.spec.js +0 -157
- package/lib/services/sqsqueue.spec.js.map +0 -1
- package/lib/shell.d.ts +0 -13
- package/lib/shell.d.ts.map +0 -1
- package/lib/shell.js +0 -42
- package/lib/shell.js.map +0 -1
- package/webda.shell.json +0 -11
|
@@ -1,32 +1,48 @@
|
|
|
1
1
|
import { SecretsManager } from "@aws-sdk/client-secrets-manager";
|
|
2
2
|
import { Service, ServiceParameters } from "@webda/core";
|
|
3
|
-
import {
|
|
4
|
-
export class AWSSecretsManagerParameters extends AWSServiceParameters(ServiceParameters) {
|
|
5
|
-
}
|
|
3
|
+
import { loadAWSParameters } from "./aws-parameters.js";
|
|
6
4
|
/**
|
|
7
|
-
*
|
|
5
|
+
* AWS SecretsManager parameters
|
|
8
6
|
*/
|
|
9
|
-
export
|
|
7
|
+
export class AWSSecretsManagerParameters extends ServiceParameters {
|
|
10
8
|
/**
|
|
11
|
-
* @
|
|
9
|
+
* @override
|
|
10
|
+
* @param params - raw parameters
|
|
11
|
+
* @returns this
|
|
12
12
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
load(params = {}) {
|
|
14
|
+
super.load(params);
|
|
15
|
+
loadAWSParameters(this);
|
|
16
|
+
return this;
|
|
15
17
|
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Use AWS SecretsManager as a configuration provider and secret storage
|
|
21
|
+
*
|
|
22
|
+
* @WebdaModda
|
|
23
|
+
*/
|
|
24
|
+
export default class AWSSecretsManager extends Service {
|
|
16
25
|
/**
|
|
17
|
-
*
|
|
26
|
+
* Create the AWS client
|
|
27
|
+
* @override
|
|
18
28
|
*/
|
|
19
29
|
computeParameters() {
|
|
30
|
+
super.computeParameters();
|
|
20
31
|
this._client = new SecretsManager(this.parameters);
|
|
21
32
|
}
|
|
22
33
|
/**
|
|
23
|
-
*
|
|
34
|
+
* SecretsManager cannot notify changes
|
|
35
|
+
* @param _id - configuration id
|
|
36
|
+
* @param _callback - change callback
|
|
37
|
+
* @returns false
|
|
24
38
|
*/
|
|
25
39
|
canTriggerConfiguration(_id, _callback) {
|
|
26
40
|
return false;
|
|
27
41
|
}
|
|
28
42
|
/**
|
|
29
|
-
*
|
|
43
|
+
* Retrieve the configuration stored in a secret
|
|
44
|
+
* @param id - secret id
|
|
45
|
+
* @returns the secret content
|
|
30
46
|
*/
|
|
31
47
|
async getConfiguration(id) {
|
|
32
48
|
return this.get(id);
|
|
@@ -34,9 +50,9 @@ export default class AWSSecretsManager extends Service {
|
|
|
34
50
|
/**
|
|
35
51
|
* Create a new secret on AWS SecretsManager
|
|
36
52
|
*
|
|
37
|
-
* @param id
|
|
38
|
-
* @param values
|
|
39
|
-
* @param params
|
|
53
|
+
* @param id - secret name
|
|
54
|
+
* @param values - secret content
|
|
55
|
+
* @param params - additional createSecret parameters
|
|
40
56
|
*/
|
|
41
57
|
async create(id, values = {}, params = {}) {
|
|
42
58
|
params.Name = id;
|
|
@@ -47,8 +63,8 @@ export default class AWSSecretsManager extends Service {
|
|
|
47
63
|
* Delete a secret
|
|
48
64
|
*
|
|
49
65
|
* @param SecretId to delete
|
|
50
|
-
* @param RecoveryWindowInDays
|
|
51
|
-
* @param ForceDeleteWithoutRecovery
|
|
66
|
+
* @param RecoveryWindowInDays - days before the secret is deleted
|
|
67
|
+
* @param ForceDeleteWithoutRecovery - delete immediately
|
|
52
68
|
*/
|
|
53
69
|
async delete(SecretId, RecoveryWindowInDays = 7, ForceDeleteWithoutRecovery = false) {
|
|
54
70
|
let params = {
|
|
@@ -66,8 +82,8 @@ export default class AWSSecretsManager extends Service {
|
|
|
66
82
|
/**
|
|
67
83
|
* Store data in a AWS secret
|
|
68
84
|
*
|
|
69
|
-
* @param SecretId
|
|
70
|
-
* @param value
|
|
85
|
+
* @param SecretId - secret id
|
|
86
|
+
* @param value - secret content
|
|
71
87
|
*/
|
|
72
88
|
async put(SecretId, value) {
|
|
73
89
|
await this._client.putSecretValue({
|
|
@@ -78,7 +94,7 @@ export default class AWSSecretsManager extends Service {
|
|
|
78
94
|
/**
|
|
79
95
|
* Return SecretValue
|
|
80
96
|
*
|
|
81
|
-
* @param SecretId
|
|
97
|
+
* @param SecretId - secret id
|
|
82
98
|
* @returns JSON.parse of SecretString
|
|
83
99
|
*/
|
|
84
100
|
async get(SecretId) {
|
|
@@ -88,12 +104,14 @@ export default class AWSSecretsManager extends Service {
|
|
|
88
104
|
return JSON.parse(res.SecretString);
|
|
89
105
|
}
|
|
90
106
|
/**
|
|
91
|
-
*
|
|
107
|
+
* IAM policy required by the service
|
|
108
|
+
* @param accountId - AWS account id
|
|
109
|
+
* @returns the policy statement
|
|
92
110
|
*/
|
|
93
111
|
getARNPolicy(accountId) {
|
|
94
112
|
const region = this.parameters.region || "us-east-1";
|
|
95
113
|
return {
|
|
96
|
-
Sid: this.constructor.name + this.
|
|
114
|
+
Sid: this.constructor.name + this.getName(),
|
|
97
115
|
Effect: "Allow",
|
|
98
116
|
Action: ["secretsmanager:*"],
|
|
99
117
|
Resource: ["arn:aws:secretsmanager:" + region + ":" + accountId + ":secret:*"]
|
|
@@ -101,4 +119,4 @@ export default class AWSSecretsManager extends Service {
|
|
|
101
119
|
}
|
|
102
120
|
}
|
|
103
121
|
export { AWSSecretsManager };
|
|
104
|
-
//# sourceMappingURL=secretsmanager.js.map
|
|
122
|
+
//# sourceMappingURL=secretsmanager.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secretsmanager.service.js","sourceRoot":"","sources":["../../src/services/secretsmanager.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAyB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAwB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9E;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,iBAAiB;IAehE;;;;OAIG;IACH,IAAI,CAAC,MAAM,GAAQ,EAAE;QACnB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,iBACnB,SAAQ,OAAU;IAKlB;;;OAGG;IACH,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,GAAW,EAAE,SAAqB;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,MAAM,GAAQ,EAAE,EAAE,MAAM,GAAQ,EAAE;QACzD,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACjB,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,oBAAoB,GAAW,CAAC,EAAE,0BAA0B,GAAY,KAAK;QAC1G,IAAI,MAAM,GAAwB;YAChC,oBAAoB;YACpB,QAAQ;SACT,CAAC;QACF,IAAI,0BAA0B,EAAE,CAAC;YAC/B,MAAM,GAAG;gBACP,QAAQ;gBACR,0BAA0B;aAC3B,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,QAAgB,EAAE,KAAU;QACpC,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;YAChC,QAAQ;YACR,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,QAAgB;QACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;YAC5C,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,SAAiB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,WAAW,CAAC;QACrD,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE;YAC3C,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,CAAC,kBAAkB,CAAC;YAC5B,QAAQ,EAAE,CAAC,yBAAyB,GAAG,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,WAAW,CAAC;SAC/E,CAAC;IACJ,CAAC;CACF;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -1,32 +1,33 @@
|
|
|
1
1
|
import { SQS } from "@aws-sdk/client-sqs";
|
|
2
2
|
import { MessageReceipt, Queue, QueueParameters } from "@webda/core";
|
|
3
|
-
import
|
|
4
|
-
import { CloudFormationContributor } from "./
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
3
|
+
import { AWSServiceParameters } from "./aws-parameters.js";
|
|
4
|
+
import type { CloudFormationContributor, CloudFormationDeployerInfo } from "./contributors.js";
|
|
5
|
+
/**
|
|
6
|
+
* SQS Queue parameters
|
|
7
|
+
*/
|
|
8
|
+
export declare class SQSQueueParameters extends QueueParameters implements AWSServiceParameters {
|
|
9
|
+
/**
|
|
10
|
+
* Custom endpoint (localstack, minio, ...)
|
|
11
|
+
*/
|
|
12
|
+
endpoint?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Static credentials, default to the AWS environment variables
|
|
15
|
+
*/
|
|
16
|
+
credentials?: {
|
|
17
|
+
accessKeyId: string;
|
|
18
|
+
secretAccessKey: string;
|
|
19
|
+
sessionToken?: string;
|
|
17
20
|
};
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
/**
|
|
22
|
+
* AWS region
|
|
23
|
+
* @default "us-east-1"
|
|
24
|
+
*/
|
|
25
|
+
region?: string;
|
|
20
26
|
/**
|
|
21
27
|
* Time to wait pending for an item
|
|
22
28
|
* @default 20
|
|
23
29
|
*/
|
|
24
30
|
WaitTimeSeconds?: number;
|
|
25
|
-
/**
|
|
26
|
-
* Endpoint to pass to the AWS client
|
|
27
|
-
* Useful for localstack
|
|
28
|
-
*/
|
|
29
|
-
endpoint?: string;
|
|
30
31
|
/**
|
|
31
32
|
* Queue URL
|
|
32
33
|
* @default ""
|
|
@@ -45,7 +46,12 @@ export declare class SQSQueueParameters extends SQSQueueParameters_base {
|
|
|
45
46
|
* Any additional CloudFormation parameters
|
|
46
47
|
*/
|
|
47
48
|
CloudFormation?: any;
|
|
48
|
-
|
|
49
|
+
/**
|
|
50
|
+
* @override
|
|
51
|
+
* @param params - raw parameters
|
|
52
|
+
* @returns this
|
|
53
|
+
*/
|
|
54
|
+
load(params?: any): this;
|
|
49
55
|
}
|
|
50
56
|
/**
|
|
51
57
|
* Implement SQS as queue for Webda
|
|
@@ -58,23 +64,24 @@ export default class SQSQueue<T = any, K extends SQSQueueParameters = SQSQueuePa
|
|
|
58
64
|
*/
|
|
59
65
|
sqs: SQS;
|
|
60
66
|
/**
|
|
61
|
-
*
|
|
62
|
-
|
|
63
|
-
loadParameters(params: any): SQSQueueParameters;
|
|
64
|
-
/**
|
|
65
|
-
* @inheritdoc
|
|
67
|
+
* Create the SQS client
|
|
68
|
+
* @returns this
|
|
66
69
|
*/
|
|
67
70
|
init(): Promise<this>;
|
|
68
71
|
/**
|
|
69
|
-
* @
|
|
72
|
+
* @override
|
|
73
|
+
* @returns approximate number of messages in the queue
|
|
70
74
|
*/
|
|
71
75
|
size(): Promise<number>;
|
|
72
76
|
/**
|
|
73
|
-
* @
|
|
77
|
+
* @override
|
|
78
|
+
* @param params - the message to send
|
|
74
79
|
*/
|
|
75
80
|
sendMessage(params: T): Promise<void>;
|
|
76
81
|
/**
|
|
77
|
-
* @
|
|
82
|
+
* @override
|
|
83
|
+
* @param proto - optional prototype to rehydrate the payload into
|
|
84
|
+
* @returns the received messages
|
|
78
85
|
*/
|
|
79
86
|
receiveMessage<L>(proto?: {
|
|
80
87
|
new (): L;
|
|
@@ -84,30 +91,48 @@ export default class SQSQueue<T = any, K extends SQSQueueParameters = SQSQueuePa
|
|
|
84
91
|
* therefore we need to divide by 10 (the max number of group messaged) to get the number
|
|
85
92
|
* of consumers
|
|
86
93
|
*
|
|
87
|
-
* @returns
|
|
94
|
+
* @returns the number of consumers
|
|
88
95
|
*/
|
|
89
96
|
getMaxConsumers(): number;
|
|
90
97
|
/**
|
|
91
|
-
* @
|
|
98
|
+
* @override
|
|
99
|
+
* @param receipt - the message receipt handle
|
|
92
100
|
*/
|
|
93
101
|
deleteMessage(receipt: string): Promise<void>;
|
|
94
102
|
/**
|
|
95
|
-
*
|
|
103
|
+
* Purge the queue (used in tests)
|
|
96
104
|
*/
|
|
97
105
|
__clean(): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Purge the queue, retrying once if a purge is already in progress
|
|
108
|
+
* @param fail - throw on any error
|
|
109
|
+
*/
|
|
98
110
|
private __cleanWithRetry;
|
|
111
|
+
/**
|
|
112
|
+
* Parse the queue url
|
|
113
|
+
* @returns the account id, region and queue name
|
|
114
|
+
*/
|
|
99
115
|
_getQueueInfosFromUrl(): {
|
|
100
116
|
accountId: string;
|
|
101
117
|
region: string;
|
|
102
118
|
name: string;
|
|
103
119
|
};
|
|
120
|
+
/**
|
|
121
|
+
* IAM policy required by the service
|
|
122
|
+
* @returns the policy statement
|
|
123
|
+
*/
|
|
104
124
|
getARNPolicy(): {
|
|
105
125
|
Sid: string;
|
|
106
126
|
Effect: string;
|
|
107
127
|
Action: string[];
|
|
108
128
|
Resource: string[];
|
|
109
129
|
};
|
|
110
|
-
|
|
130
|
+
/**
|
|
131
|
+
* CloudFormation resources for the queue
|
|
132
|
+
* @param deployer - the deployer requesting the resources
|
|
133
|
+
* @returns the resources
|
|
134
|
+
*/
|
|
135
|
+
getCloudFormation(deployer: CloudFormationDeployerInfo): {};
|
|
111
136
|
}
|
|
112
137
|
export { SQSQueue };
|
|
113
|
-
//# sourceMappingURL=sqsqueue.d.ts.map
|
|
138
|
+
//# sourceMappingURL=sqsqueue.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqsqueue.service.d.ts","sourceRoot":"","sources":["../../src/services/sqsqueue.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAc,MAAM,aAAa,CAAC;AAEjF,OAAO,EAAE,oBAAoB,EAAqB,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/F;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,eAAgB,YAAW,oBAAoB;IACrF;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC;IAErB;;;;OAIG;IACH,IAAI,CAAC,MAAM,GAAE,GAAQ,GAAG,IAAI,CAM3B;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,CACtF,SAAQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAClB,YAAW,yBAAyB;IAEpC;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IAET;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1B;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAS5B;IAED;;;OAGG;IACG,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAa1C;IAED;;;;OAIG;IACG,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAY3E;IAED;;;;;;OAMG;IACH,eAAe,IAAI,MAAM,CAExB;IAED;;;OAGG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKlD;IAED;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAE7B;IAED;;;OAGG;YACW,gBAAgB;IAgB9B;;;OAGG;IACH,qBAAqB;QAWjB,SAAS;QACT,MAAM;QACN,IAAI;MAEP;IAED;;;OAGG;IACH,YAAY;QAIR,GAAG;QACH,MAAM;QACN,MAAM;QAON,QAAQ;MAEX;IAED;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,0BAA0B,MAkBrD;CACF;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
import { SQS } from "@aws-sdk/client-sqs";
|
|
2
2
|
import { Queue, QueueParameters, WebdaError } from "@webda/core";
|
|
3
3
|
import { createHash } from "crypto";
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
import { loadAWSParameters } from "./aws-parameters.js";
|
|
5
|
+
/**
|
|
6
|
+
* SQS Queue parameters
|
|
7
|
+
*/
|
|
8
|
+
export class SQSQueueParameters extends QueueParameters {
|
|
9
|
+
/**
|
|
10
|
+
* @override
|
|
11
|
+
* @param params - raw parameters
|
|
12
|
+
* @returns this
|
|
13
|
+
*/
|
|
14
|
+
load(params = {}) {
|
|
15
|
+
super.load(params);
|
|
16
|
+
loadAWSParameters(this);
|
|
17
|
+
this.WaitTimeSeconds ?? (this.WaitTimeSeconds = 20);
|
|
18
|
+
this.queue ?? (this.queue = "");
|
|
19
|
+
return this;
|
|
10
20
|
}
|
|
11
21
|
}
|
|
12
22
|
/**
|
|
@@ -16,13 +26,8 @@ export class SQSQueueParameters extends AWSServiceParameters(QueueParameters) {
|
|
|
16
26
|
*/
|
|
17
27
|
export default class SQSQueue extends Queue {
|
|
18
28
|
/**
|
|
19
|
-
*
|
|
20
|
-
|
|
21
|
-
loadParameters(params) {
|
|
22
|
-
return new SQSQueueParameters(params);
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* @inheritdoc
|
|
29
|
+
* Create the SQS client
|
|
30
|
+
* @returns this
|
|
26
31
|
*/
|
|
27
32
|
async init() {
|
|
28
33
|
await super.init();
|
|
@@ -30,7 +35,8 @@ export default class SQSQueue extends Queue {
|
|
|
30
35
|
return this;
|
|
31
36
|
}
|
|
32
37
|
/**
|
|
33
|
-
* @
|
|
38
|
+
* @override
|
|
39
|
+
* @returns approximate number of messages in the queue
|
|
34
40
|
*/
|
|
35
41
|
async size() {
|
|
36
42
|
const res = await this.sqs.getQueueAttributes({
|
|
@@ -41,9 +47,11 @@ export default class SQSQueue extends Queue {
|
|
|
41
47
|
parseInt(res["Attributes"]["ApproximateNumberOfMessagesNotVisible"]));
|
|
42
48
|
}
|
|
43
49
|
/**
|
|
44
|
-
* @
|
|
50
|
+
* @override
|
|
51
|
+
* @param params - the message to send
|
|
45
52
|
*/
|
|
46
53
|
async sendMessage(params) {
|
|
54
|
+
this.metrics.messages_sent.inc();
|
|
47
55
|
const sqsParams = {
|
|
48
56
|
QueueUrl: this.parameters.queue,
|
|
49
57
|
MessageBody: JSON.stringify(params)
|
|
@@ -57,7 +65,9 @@ export default class SQSQueue extends Queue {
|
|
|
57
65
|
await this.sqs.sendMessage(sqsParams);
|
|
58
66
|
}
|
|
59
67
|
/**
|
|
60
|
-
* @
|
|
68
|
+
* @override
|
|
69
|
+
* @param proto - optional prototype to rehydrate the payload into
|
|
70
|
+
* @returns the received messages
|
|
61
71
|
*/
|
|
62
72
|
async receiveMessage(proto) {
|
|
63
73
|
const queueArg = {
|
|
@@ -77,13 +87,14 @@ export default class SQSQueue extends Queue {
|
|
|
77
87
|
* therefore we need to divide by 10 (the max number of group messaged) to get the number
|
|
78
88
|
* of consumers
|
|
79
89
|
*
|
|
80
|
-
* @returns
|
|
90
|
+
* @returns the number of consumers
|
|
81
91
|
*/
|
|
82
92
|
getMaxConsumers() {
|
|
83
93
|
return Math.ceil(this.parameters.maxConsumers / 10);
|
|
84
94
|
}
|
|
85
95
|
/**
|
|
86
|
-
* @
|
|
96
|
+
* @override
|
|
97
|
+
* @param receipt - the message receipt handle
|
|
87
98
|
*/
|
|
88
99
|
async deleteMessage(receipt) {
|
|
89
100
|
await this.sqs.deleteMessage({
|
|
@@ -92,11 +103,15 @@ export default class SQSQueue extends Queue {
|
|
|
92
103
|
});
|
|
93
104
|
}
|
|
94
105
|
/**
|
|
95
|
-
*
|
|
106
|
+
* Purge the queue (used in tests)
|
|
96
107
|
*/
|
|
97
108
|
async __clean() {
|
|
98
|
-
|
|
109
|
+
await this.__cleanWithRetry(false);
|
|
99
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Purge the queue, retrying once if a purge is already in progress
|
|
113
|
+
* @param fail - throw on any error
|
|
114
|
+
*/
|
|
100
115
|
async __cleanWithRetry(fail) {
|
|
101
116
|
try {
|
|
102
117
|
await this.sqs.purgeQueue({
|
|
@@ -109,13 +124,14 @@ export default class SQSQueue extends Queue {
|
|
|
109
124
|
}
|
|
110
125
|
const delay = Math.floor(err.retryDelay * 1100);
|
|
111
126
|
// 10% of margin
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
resolve(this.__cleanWithRetry(true));
|
|
115
|
-
}, delay);
|
|
116
|
-
});
|
|
127
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
128
|
+
await this.__cleanWithRetry(true);
|
|
117
129
|
}
|
|
118
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Parse the queue url
|
|
133
|
+
* @returns the account id, region and queue name
|
|
134
|
+
*/
|
|
119
135
|
_getQueueInfosFromUrl() {
|
|
120
136
|
let found = this.parameters.queue.match(/.*sqs\.(.*)\.amazonaws.com\/(\d+)\/(.*)/i);
|
|
121
137
|
if (!found) {
|
|
@@ -132,11 +148,15 @@ export default class SQSQueue extends Queue {
|
|
|
132
148
|
name: found[3]
|
|
133
149
|
};
|
|
134
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* IAM policy required by the service
|
|
153
|
+
* @returns the policy statement
|
|
154
|
+
*/
|
|
135
155
|
getARNPolicy() {
|
|
136
156
|
// Parse this._params.queue;
|
|
137
157
|
const queue = this._getQueueInfosFromUrl();
|
|
138
158
|
return {
|
|
139
|
-
Sid: this.constructor.name + this.
|
|
159
|
+
Sid: this.constructor.name + this.getName(),
|
|
140
160
|
Effect: "Allow",
|
|
141
161
|
Action: [
|
|
142
162
|
"sqs:DeleteMessage",
|
|
@@ -148,6 +168,11 @@ export default class SQSQueue extends Queue {
|
|
|
148
168
|
Resource: ["arn:aws:sqs:" + queue.region + ":" + queue.accountId + ":" + queue.name]
|
|
149
169
|
};
|
|
150
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* CloudFormation resources for the queue
|
|
173
|
+
* @param deployer - the deployer requesting the resources
|
|
174
|
+
* @returns the resources
|
|
175
|
+
*/
|
|
151
176
|
getCloudFormation(deployer) {
|
|
152
177
|
if (this.parameters.CloudFormationSkip) {
|
|
153
178
|
return {};
|
|
@@ -156,7 +181,7 @@ export default class SQSQueue extends Queue {
|
|
|
156
181
|
const resources = {};
|
|
157
182
|
this.parameters.CloudFormation = this.parameters.CloudFormation || {};
|
|
158
183
|
this.parameters.CloudFormation.Queue = this.parameters.CloudFormation.Queue || {};
|
|
159
|
-
resources[this.
|
|
184
|
+
resources[this.getName() + "Queue"] = {
|
|
160
185
|
Type: "AWS::SQS::Queue",
|
|
161
186
|
Properties: {
|
|
162
187
|
...this.parameters.CloudFormation.Queue,
|
|
@@ -169,4 +194,4 @@ export default class SQSQueue extends Queue {
|
|
|
169
194
|
}
|
|
170
195
|
}
|
|
171
196
|
export { SQSQueue };
|
|
172
|
-
//# sourceMappingURL=sqsqueue.js.map
|
|
197
|
+
//# sourceMappingURL=sqsqueue.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqsqueue.service.js","sourceRoot":"","sources":["../../src/services/sqsqueue.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webda/aws",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.4",
|
|
4
4
|
"description": "Webda AWS Services implementation",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"build": "webda build",
|
|
8
|
-
"build:watch": "webda build --watch",
|
|
9
|
-
"pretest": "webda build",
|
|
10
|
-
"lint": "eslint",
|
|
11
|
-
"lint:fix": "eslint --fix",
|
|
12
|
-
"test": "c8 mocha",
|
|
13
|
-
"format": "prettier --check src/**/*",
|
|
14
|
-
"format:fix": "prettier --write src/**/*"
|
|
15
|
-
},
|
|
16
6
|
"repository": {
|
|
17
7
|
"type": "git",
|
|
18
8
|
"url": "git+https://github.com/loopingz/webda.io.git"
|
|
@@ -24,7 +14,6 @@
|
|
|
24
14
|
"files": [
|
|
25
15
|
"lib",
|
|
26
16
|
"webda.module.json",
|
|
27
|
-
"webda.shell.json",
|
|
28
17
|
"package.json"
|
|
29
18
|
],
|
|
30
19
|
"author": "loopingz",
|
|
@@ -34,69 +23,72 @@
|
|
|
34
23
|
},
|
|
35
24
|
"homepage": "https://github.com/loopingz/webda.io#readme",
|
|
36
25
|
"dependencies": {
|
|
37
|
-
"@aws-sdk/client-acm": "^3.
|
|
38
|
-
"@aws-sdk/client-api-gateway": "^3.
|
|
39
|
-
"@aws-sdk/client-cloudformation": "^3.
|
|
40
|
-
"@aws-sdk/client-cloudwatch-logs": "^3.
|
|
41
|
-
"@aws-sdk/client-dynamodb": "^3.
|
|
42
|
-
"@aws-sdk/client-ec2": "^3.
|
|
43
|
-
"@aws-sdk/client-lambda": "^3.
|
|
44
|
-
"@aws-sdk/client-route-53": "^3.
|
|
45
|
-
"@aws-sdk/client-s3": "^3.
|
|
46
|
-
"@aws-sdk/client-secrets-manager": "^3.
|
|
47
|
-
"@aws-sdk/client-sqs": "^3.
|
|
48
|
-
"@aws-sdk/client-sts": "^3.
|
|
49
|
-
"@aws-sdk/lib-dynamodb": "^3.
|
|
50
|
-
"@aws-sdk/s3-request-presigner": "^3.
|
|
51
|
-
"@types/json-schema": "^7.0.
|
|
52
|
-
"
|
|
53
|
-
"@webda/async": "^4.0.0-beta.2",
|
|
54
|
-
"@webda/core": "^4.0.0-beta.2",
|
|
55
|
-
"@webda/ql": "^4.0.0-beta.2",
|
|
56
|
-
"@webda/workout": "^4.0.0-beta.2",
|
|
57
|
-
"bluebird": "^3.7.2",
|
|
58
|
-
"commitlint": "^19.2.1",
|
|
59
|
-
"cookie": "^1.0.1",
|
|
60
|
-
"glob": "^10.0.0",
|
|
26
|
+
"@aws-sdk/client-acm": "^3.1019.0",
|
|
27
|
+
"@aws-sdk/client-api-gateway": "^3.1019.0",
|
|
28
|
+
"@aws-sdk/client-cloudformation": "^3.1019.0",
|
|
29
|
+
"@aws-sdk/client-cloudwatch-logs": "^3.1019.0",
|
|
30
|
+
"@aws-sdk/client-dynamodb": "^3.1019.0",
|
|
31
|
+
"@aws-sdk/client-ec2": "^3.1019.0",
|
|
32
|
+
"@aws-sdk/client-lambda": "^3.1019.0",
|
|
33
|
+
"@aws-sdk/client-route-53": "^3.1019.0",
|
|
34
|
+
"@aws-sdk/client-s3": "^3.1019.0",
|
|
35
|
+
"@aws-sdk/client-secrets-manager": "^3.1019.0",
|
|
36
|
+
"@aws-sdk/client-sqs": "^3.1019.0",
|
|
37
|
+
"@aws-sdk/client-sts": "^3.1019.0",
|
|
38
|
+
"@aws-sdk/lib-dynamodb": "^3.1019.0",
|
|
39
|
+
"@aws-sdk/s3-request-presigner": "^3.1019.0",
|
|
40
|
+
"@types/json-schema": "^7.0.15",
|
|
41
|
+
"cookie": "^1.1.1",
|
|
61
42
|
"iam-policy-optimizer": "^1.2.0",
|
|
62
|
-
"mime-types": "^
|
|
63
|
-
"yaml": "^2.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
|
|
69
|
-
"lcov",
|
|
70
|
-
"json",
|
|
71
|
-
"text"
|
|
72
|
-
],
|
|
73
|
-
"exclude": [
|
|
74
|
-
"**/*.spec.ts",
|
|
75
|
-
"test/**/*"
|
|
76
|
-
]
|
|
43
|
+
"mime-types": "^3.0.2",
|
|
44
|
+
"yaml": "^2.8.3",
|
|
45
|
+
"@webda/core": "4.0.0-beta.4",
|
|
46
|
+
"@webda/ql": "4.0.0-beta.3",
|
|
47
|
+
"@webda/utils": "4.0.0-beta.4",
|
|
48
|
+
"@webda/workout": "4.0.0-beta.3",
|
|
49
|
+
"@webda/async": "4.0.0-beta.4"
|
|
77
50
|
},
|
|
78
51
|
"publishConfig": {
|
|
79
52
|
"access": "public"
|
|
80
53
|
},
|
|
81
54
|
"devDependencies": {
|
|
82
|
-
"@
|
|
83
|
-
"@types/
|
|
84
|
-
"@
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
55
|
+
"@types/aws-lambda": "^8.10.161",
|
|
56
|
+
"@types/node": "25.5.0",
|
|
57
|
+
"@vitest/coverage-v8": "^4.1.2",
|
|
58
|
+
"aws-sdk-client-mock": "^4.1.0",
|
|
59
|
+
"jscodeshift": "^17.3.0",
|
|
60
|
+
"skott": "^0.35.8",
|
|
61
|
+
"typescript": "7.1.0-dev.20260929.1",
|
|
62
|
+
"vite": "^6.0.0",
|
|
63
|
+
"vitest": "^4.1.2",
|
|
64
|
+
"@webda/compiler": "^4.0.0-beta.4",
|
|
65
|
+
"@webda/test": "4.0.0-beta.3"
|
|
90
66
|
},
|
|
91
67
|
"type": "module",
|
|
92
68
|
"engines": {
|
|
93
|
-
"node": ">=
|
|
69
|
+
"node": ">=22.0.0"
|
|
94
70
|
},
|
|
95
71
|
"nx": {
|
|
96
72
|
"implicitDependencies": [
|
|
97
|
-
"@webda/core"
|
|
98
|
-
"@webda/shell"
|
|
73
|
+
"@webda/core"
|
|
99
74
|
]
|
|
100
75
|
},
|
|
101
|
-
"
|
|
102
|
-
|
|
76
|
+
"webda": {
|
|
77
|
+
"namespace": "Webda",
|
|
78
|
+
"capabilities": {
|
|
79
|
+
"aws-commands": "Webda/AWSCommands"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"scripts": {
|
|
83
|
+
"build": "webdac build",
|
|
84
|
+
"build:watch": "webdac build --watch",
|
|
85
|
+
"pretest": "npm run build",
|
|
86
|
+
"lint": "eslint",
|
|
87
|
+
"lint:fix": "eslint --fix",
|
|
88
|
+
"test": "vitest run",
|
|
89
|
+
"format": "prettier --check src/**/*",
|
|
90
|
+
"format:fix": "prettier --write src/**/*",
|
|
91
|
+
"deps:graph": "skott --showCircularDependencies --no-trackTypeOnlyDependencies --displayMode=raw -e .ts",
|
|
92
|
+
"codemod": "jscodeshift --parser=ts --extensions=tsx,ts -t ../codemod/current.mjs src"
|
|
93
|
+
}
|
|
94
|
+
}
|