@aligent/cdk-aspects 0.6.4 → 0.6.5
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/CHANGELOG.md +6 -0
- package/lib/defaults/dynamodb.d.ts +0 -20
- package/lib/defaults/dynamodb.js +16 -32
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @aligent/cdk-aspects
|
|
2
2
|
|
|
3
|
+
## 0.6.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#1717](https://github.com/aligent/cdk-constructs/pull/1717) [`3dd2e7a`](https://github.com/aligent/cdk-constructs/commit/3dd2e7a126d245bf5eb8d785ea5b46ad11b50580) Thanks [@kai-nguyen-aligent](https://github.com/kai-nguyen-aligent)! - Fix conflicting throughput config when aspect overrides DynamoDB billing mode
|
|
8
|
+
|
|
3
9
|
## 0.6.4
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
|
@@ -3,26 +3,6 @@ import { IConstruct } from "constructs";
|
|
|
3
3
|
interface Config {
|
|
4
4
|
duration: "SHORT" | "MEDIUM" | "LONG";
|
|
5
5
|
}
|
|
6
|
-
/**
|
|
7
|
-
* Aspect that automatically applies configuration-aware defaults to DynamoDB Tables
|
|
8
|
-
*
|
|
9
|
-
* Visits all constructs in the scope and automatically applies configuration-specific
|
|
10
|
-
* removal policies and point-in-time recovery settings to DynamoDB tables.
|
|
11
|
-
* Different configurations balance between cost optimization and data retention needs.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* // Apply configuration-specific defaults to all tables
|
|
16
|
-
* Aspects.of(app).add(new DynamoDbDefaultsAspect({ duration: 'SHORT' }));
|
|
17
|
-
*
|
|
18
|
-
* // Tables automatically inherit configuration defaults
|
|
19
|
-
* new Table(stack, 'MyTable', {
|
|
20
|
-
* // point-in-time recovery and removal policy applied automatically
|
|
21
|
-
* });
|
|
22
|
-
* ```
|
|
23
|
-
*
|
|
24
|
-
* @see https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb.Table.html
|
|
25
|
-
*/
|
|
26
6
|
export declare class DynamoDbDefaultsAspect implements IAspect {
|
|
27
7
|
private readonly defaultProps;
|
|
28
8
|
/**
|
package/lib/defaults/dynamodb.js
CHANGED
|
@@ -3,26 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DynamoDbDefaultsAspect = void 0;
|
|
4
4
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
5
|
const aws_dynamodb_1 = require("aws-cdk-lib/aws-dynamodb");
|
|
6
|
-
/**
|
|
7
|
-
* Aspect that automatically applies configuration-aware defaults to DynamoDB Tables
|
|
8
|
-
*
|
|
9
|
-
* Visits all constructs in the scope and automatically applies configuration-specific
|
|
10
|
-
* removal policies and point-in-time recovery settings to DynamoDB tables.
|
|
11
|
-
* Different configurations balance between cost optimization and data retention needs.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* // Apply configuration-specific defaults to all tables
|
|
16
|
-
* Aspects.of(app).add(new DynamoDbDefaultsAspect({ duration: 'SHORT' }));
|
|
17
|
-
*
|
|
18
|
-
* // Tables automatically inherit configuration defaults
|
|
19
|
-
* new Table(stack, 'MyTable', {
|
|
20
|
-
* // point-in-time recovery and removal policy applied automatically
|
|
21
|
-
* });
|
|
22
|
-
* ```
|
|
23
|
-
*
|
|
24
|
-
* @see https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_dynamodb.Table.html
|
|
25
|
-
*/
|
|
26
6
|
class DynamoDbDefaultsAspect {
|
|
27
7
|
/**
|
|
28
8
|
* Creates a new DynamoDbDefaultsAspect
|
|
@@ -82,6 +62,7 @@ class DynamoDbDefaultsAspect {
|
|
|
82
62
|
* @param node - The construct to potentially modify
|
|
83
63
|
*/
|
|
84
64
|
visit(node) {
|
|
65
|
+
var _a;
|
|
85
66
|
if (node instanceof aws_dynamodb_1.Table) {
|
|
86
67
|
const { billingMode, readCapacity, writeCapacity, maxReadRequestUnits, maxWriteRequestUnits, removalPolicy, } = this.defaultProps;
|
|
87
68
|
if (removalPolicy) {
|
|
@@ -90,27 +71,30 @@ class DynamoDbDefaultsAspect {
|
|
|
90
71
|
const cfnTable = node.node.defaultChild;
|
|
91
72
|
if (!cfnTable)
|
|
92
73
|
return;
|
|
93
|
-
|
|
94
|
-
|
|
74
|
+
cfnTable.billingMode = (_a = cfnTable.billingMode) !== null && _a !== void 0 ? _a : billingMode;
|
|
75
|
+
// Clear conflicting throughput config to prevent CloudFormation errors
|
|
76
|
+
if (cfnTable.billingMode === aws_dynamodb_1.BillingMode.PAY_PER_REQUEST) {
|
|
77
|
+
cfnTable.provisionedThroughput = undefined;
|
|
95
78
|
}
|
|
96
|
-
if (cfnTable.
|
|
97
|
-
cfnTable.
|
|
98
|
-
this.isProvisionedThroughputConfigured()) {
|
|
99
|
-
cfnTable.provisionedThroughput = {
|
|
100
|
-
readCapacityUnits: readCapacity,
|
|
101
|
-
writeCapacityUnits: writeCapacity,
|
|
102
|
-
};
|
|
79
|
+
else if (cfnTable.billingMode === aws_dynamodb_1.BillingMode.PROVISIONED) {
|
|
80
|
+
cfnTable.onDemandThroughput = undefined;
|
|
103
81
|
}
|
|
104
|
-
if (cfnTable.
|
|
105
|
-
cfnTable.billingMode !== aws_dynamodb_1.BillingMode.PROVISIONED &&
|
|
82
|
+
if (cfnTable.billingMode === aws_dynamodb_1.BillingMode.PAY_PER_REQUEST &&
|
|
106
83
|
this.isOnDemandThroughputConfigured()) {
|
|
107
84
|
cfnTable.onDemandThroughput = {
|
|
108
85
|
maxReadRequestUnits,
|
|
109
86
|
maxWriteRequestUnits,
|
|
110
87
|
};
|
|
111
88
|
}
|
|
89
|
+
if (cfnTable.billingMode === aws_dynamodb_1.BillingMode.PROVISIONED &&
|
|
90
|
+
this.isProvisionedThroughputConfigured()) {
|
|
91
|
+
cfnTable.provisionedThroughput = {
|
|
92
|
+
readCapacityUnits: readCapacity,
|
|
93
|
+
writeCapacityUnits: writeCapacity,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
112
96
|
}
|
|
113
97
|
}
|
|
114
98
|
}
|
|
115
99
|
exports.DynamoDbDefaultsAspect = DynamoDbDefaultsAspect;
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1vZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkeW5hbW9kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBMEQ7QUFDMUQsMkRBS2tDO0FBNkJsQyxNQUFhLHNCQUFzQjtJQUdqQzs7OztPQUlHO0lBQ0gsWUFBWSxNQUFjO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxtQkFBbUIsQ0FDekIsUUFBcUM7UUFFckMsUUFBUSxRQUFRLEVBQUUsQ0FBQztZQUNqQixLQUFLLE9BQU87Z0JBQ1YsT0FBTztvQkFDTCxXQUFXLEVBQUUsMEJBQVcsQ0FBQyxXQUFXO29CQUNwQyxZQUFZLEVBQUUsQ0FBQztvQkFDZixhQUFhLEVBQUUsQ0FBQztvQkFDaEIsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztpQkFDckMsQ0FBQztZQUNKLEtBQUssUUFBUTtnQkFDWCxPQUFPO29CQUNMLFdBQVcsRUFBRSwwQkFBVyxDQUFDLGVBQWU7b0JBQ3hDLG1CQUFtQixFQUFFLEdBQUc7b0JBQ3hCLG9CQUFvQixFQUFFLEdBQUc7b0JBQ3pCLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87aUJBQ3JDLENBQUM7WUFDSjtnQkFDRSxPQUFPO29CQUNMLFdBQVcsRUFBRSwwQkFBVyxDQUFDLGVBQWU7b0JBQ3hDLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE1BQU07aUJBQ3BDLENBQUM7UUFDTixDQUFDO0lBQ0gsQ0FBQztJQUVPLGlDQUFpQztRQUN2QyxNQUFNLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBRXZFLE9BQU8sQ0FDTCxXQUFXLEtBQUssMEJBQVcsQ0FBQyxXQUFXO1lBQ3ZDLFlBQVksS0FBSyxTQUFTO1lBQzFCLGFBQWEsS0FBSyxTQUFTLENBQzVCLENBQUM7SUFDSixDQUFDO0lBRU8sOEJBQThCO1FBQ3BDLE1BQU0sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsR0FDOUQsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUVwQixPQUFPLENBQ0wsV0FBVyxLQUFLLDBCQUFXLENBQUMsZUFBZTtZQUMzQyxtQkFBbUIsS0FBSyxTQUFTO1lBQ2pDLG9CQUFvQixLQUFLLFNBQVMsQ0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLElBQWdCOztRQUNwQixJQUFJLElBQUksWUFBWSxvQkFBSyxFQUFFLENBQUM7WUFDMUIsTUFBTSxFQUNKLFdBQVcsRUFDWCxZQUFZLEVBQ1osYUFBYSxFQUNiLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsYUFBYSxHQUNkLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUV0QixJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekMsQ0FBQztZQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBd0IsQ0FBQztZQUNwRCxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBRXRCLFFBQVEsQ0FBQyxXQUFXLEdBQUcsTUFBQSxRQUFRLENBQUMsV0FBVyxtQ0FBSSxXQUFXLENBQUM7WUFFM0QsdUVBQXVFO1lBQ3ZFLElBQUksUUFBUSxDQUFDLFdBQVcsS0FBSywwQkFBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN6RCxRQUFRLENBQUMscUJBQXFCLEdBQUcsU0FBUyxDQUFDO1lBQzdDLENBQUM7aUJBQU0sSUFBSSxRQUFRLENBQUMsV0FBVyxLQUFLLDBCQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzVELFFBQVEsQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUM7WUFDMUMsQ0FBQztZQUVELElBQ0UsUUFBUSxDQUFDLFdBQVcsS0FBSywwQkFBVyxDQUFDLGVBQWU7Z0JBQ3BELElBQUksQ0FBQyw4QkFBOEIsRUFBRSxFQUNyQyxDQUFDO2dCQUNELFFBQVEsQ0FBQyxrQkFBa0IsR0FBRztvQkFDNUIsbUJBQW1CO29CQUNuQixvQkFBb0I7aUJBQ3JCLENBQUM7WUFDSixDQUFDO1lBRUQsSUFDRSxRQUFRLENBQUMsV0FBVyxLQUFLLDBCQUFXLENBQUMsV0FBVztnQkFDaEQsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLEVBQ3hDLENBQUM7Z0JBQ0QsUUFBUSxDQUFDLHFCQUFxQixHQUFHO29CQUMvQixpQkFBaUIsRUFBRSxZQUFhO29CQUNoQyxrQkFBa0IsRUFBRSxhQUFjO2lCQUNuQyxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF6SEQsd0RBeUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSwgdHlwZSBJQXNwZWN0IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBCaWxsaW5nTW9kZSxcbiAgQ2ZuVGFibGUsXG4gIFRhYmxlLFxuICB0eXBlIFRhYmxlUHJvcHMsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGJcIjtcbmltcG9ydCB7IElDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5pbnRlcmZhY2UgQ29uZmlnIHtcbiAgZHVyYXRpb246IFwiU0hPUlRcIiB8IFwiTUVESVVNXCIgfCBcIkxPTkdcIjtcbn1cblxuLyoqXG4gKiBBc3BlY3QgdGhhdCBhdXRvbWF0aWNhbGx5IGFwcGxpZXMgY29uZmlndXJhdGlvbi1hd2FyZSBkZWZhdWx0cyB0byBEeW5hbW9EQiBUYWJsZXNcbiAqXG4gKiBWaXNpdHMgYWxsIGNvbnN0cnVjdHMgaW4gdGhlIHNjb3BlIGFuZCBhdXRvbWF0aWNhbGx5IGFwcGxpZXMgY29uZmlndXJhdGlvbi1zcGVjaWZpY1xuICogcmVtb3ZhbCBwb2xpY2llcyBhbmQgcG9pbnQtaW4tdGltZSByZWNvdmVyeSBzZXR0aW5ncyB0byBEeW5hbW9EQiB0YWJsZXMuXG4gKiBEaWZmZXJlbnQgY29uZmlndXJhdGlvbnMgYmFsYW5jZSBiZXR3ZWVuIGNvc3Qgb3B0aW1pemF0aW9uIGFuZCBkYXRhIHJldGVudGlvbiBuZWVkcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gQXBwbHkgY29uZmlndXJhdGlvbi1zcGVjaWZpYyBkZWZhdWx0cyB0byBhbGwgdGFibGVzXG4gKiBBc3BlY3RzLm9mKGFwcCkuYWRkKG5ldyBEeW5hbW9EYkRlZmF1bHRzQXNwZWN0KHsgZHVyYXRpb246ICdTSE9SVCcgfSkpO1xuICpcbiAqIC8vIFRhYmxlcyBhdXRvbWF0aWNhbGx5IGluaGVyaXQgY29uZmlndXJhdGlvbiBkZWZhdWx0c1xuICogbmV3IFRhYmxlKHN0YWNrLCAnTXlUYWJsZScsIHtcbiAqICAgLy8gcG9pbnQtaW4tdGltZSByZWNvdmVyeSBhbmQgcmVtb3ZhbCBwb2xpY3kgYXBwbGllZCBhdXRvbWF0aWNhbGx5XG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nkay9hcGkvdjIvZG9jcy9hd3MtY2RrLWxpYi5hd3NfZHluYW1vZGIuVGFibGUuaHRtbFxuICovXG50eXBlIERlZmF1bHRQcm9wcyA9IFRhYmxlUHJvcHMgJiB7IGJpbGxpbmdNb2RlOiBCaWxsaW5nTW9kZSB9O1xuXG5leHBvcnQgY2xhc3MgRHluYW1vRGJEZWZhdWx0c0FzcGVjdCBpbXBsZW1lbnRzIElBc3BlY3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRQcm9wczogRGVmYXVsdFByb3BzO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IER5bmFtb0RiRGVmYXVsdHNBc3BlY3RcbiAgICpcbiAgICogQHBhcmFtIGNvbmZpZyAtIENvbmZpZ3VyYXRpb24gaWRlbnRpZmllciB1c2VkIHRvIHNlbGVjdCBhcHByb3ByaWF0ZSBkZWZhdWx0cy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogQ29uZmlnKSB7XG4gICAgdGhpcy5kZWZhdWx0UHJvcHMgPSB0aGlzLnJldGVudGlvblByb3BlcnRpZXMoY29uZmlnLmR1cmF0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZHVyYXRpb24tc3BlY2lmaWMgRHluYW1vREIgdGFibGUgcHJvcGVydGllc1xuICAgKlxuICAgKiBAcGFyYW0gZHVyYXRpb24gLSBUaGUgZHVyYXRpb24gdG8gZ2V0IHRoZSB0YWJsZSBwcm9wZXJ0aWVzIGZvclxuICAgKiBAcmV0dXJucyBUaGUgdGFibGUgcHJvcGVydGllcyBmb3IgdGhlIGR1cmF0aW9uXG4gICAqL1xuICBwcml2YXRlIHJldGVudGlvblByb3BlcnRpZXMoXG4gICAgZHVyYXRpb246IFwiU0hPUlRcIiB8IFwiTUVESVVNXCIgfCBcIkxPTkdcIlxuICApOiBEZWZhdWx0UHJvcHMge1xuICAgIHN3aXRjaCAoZHVyYXRpb24pIHtcbiAgICAgIGNhc2UgXCJTSE9SVFwiOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGJpbGxpbmdNb2RlOiBCaWxsaW5nTW9kZS5QUk9WSVNJT05FRCxcbiAgICAgICAgICByZWFkQ2FwYWNpdHk6IDEsXG4gICAgICAgICAgd3JpdGVDYXBhY2l0eTogMSxcbiAgICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICAgIH07XG4gICAgICBjYXNlIFwiTUVESVVNXCI6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYmlsbGluZ01vZGU6IEJpbGxpbmdNb2RlLlBBWV9QRVJfUkVRVUVTVCxcbiAgICAgICAgICBtYXhSZWFkUmVxdWVzdFVuaXRzOiAxMDAsXG4gICAgICAgICAgbWF4V3JpdGVSZXF1ZXN0VW5pdHM6IDEwMCxcbiAgICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICAgIH07XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGJpbGxpbmdNb2RlOiBCaWxsaW5nTW9kZS5QQVlfUEVSX1JFUVVFU1QsXG4gICAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5SRVRBSU4sXG4gICAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1Byb3Zpc2lvbmVkVGhyb3VnaHB1dENvbmZpZ3VyZWQoKSB7XG4gICAgY29uc3QgeyBiaWxsaW5nTW9kZSwgcmVhZENhcGFjaXR5LCB3cml0ZUNhcGFjaXR5IH0gPSB0aGlzLmRlZmF1bHRQcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICBiaWxsaW5nTW9kZSA9PT0gQmlsbGluZ01vZGUuUFJPVklTSU9ORUQgJiZcbiAgICAgIHJlYWRDYXBhY2l0eSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICB3cml0ZUNhcGFjaXR5ICE9PSB1bmRlZmluZWRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc09uRGVtYW5kVGhyb3VnaHB1dENvbmZpZ3VyZWQoKSB7XG4gICAgY29uc3QgeyBiaWxsaW5nTW9kZSwgbWF4UmVhZFJlcXVlc3RVbml0cywgbWF4V3JpdGVSZXF1ZXN0VW5pdHMgfSA9XG4gICAgICB0aGlzLmRlZmF1bHRQcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICBiaWxsaW5nTW9kZSA9PT0gQmlsbGluZ01vZGUuUEFZX1BFUl9SRVFVRVNUICYmXG4gICAgICBtYXhSZWFkUmVxdWVzdFVuaXRzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIG1heFdyaXRlUmVxdWVzdFVuaXRzICE9PSB1bmRlZmluZWRcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFZpc2l0cyBhIGNvbnN0cnVjdCBhbmQgYXBwbGllcyBjb25maWd1cmF0aW9uLWFwcHJvcHJpYXRlIGRlZmF1bHRzXG4gICAqXG4gICAqIEFwcGxpZXMgY29uZmlndXJhdGlvbi1zcGVjaWZpYyBiaWxsaW5nIG1vZGUsIHRocm91Z2hwdXQsIHBvaW50LWluLXRpbWUgcmVjb3ZlcnksXG4gICAqIGFuZCByZW1vdmFsIHBvbGljaWVzIHRvIHRhYmxlcyB0aGF0IGRvbid0IGFscmVhZHkgaGF2ZSB0aGVzZSBwcm9wZXJ0aWVzIGV4cGxpY2l0bHkgc2V0LlxuICAgKlxuICAgKiBAcGFyYW0gbm9kZSAtIFRoZSBjb25zdHJ1Y3QgdG8gcG90ZW50aWFsbHkgbW9kaWZ5XG4gICAqL1xuICB2aXNpdChub2RlOiBJQ29uc3RydWN0KTogdm9pZCB7XG4gICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBUYWJsZSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBiaWxsaW5nTW9kZSxcbiAgICAgICAgcmVhZENhcGFjaXR5LFxuICAgICAgICB3cml0ZUNhcGFjaXR5LFxuICAgICAgICBtYXhSZWFkUmVxdWVzdFVuaXRzLFxuICAgICAgICBtYXhXcml0ZVJlcXVlc3RVbml0cyxcbiAgICAgICAgcmVtb3ZhbFBvbGljeSxcbiAgICAgIH0gPSB0aGlzLmRlZmF1bHRQcm9wcztcblxuICAgICAgaWYgKHJlbW92YWxQb2xpY3kpIHtcbiAgICAgICAgbm9kZS5hcHBseVJlbW92YWxQb2xpY3kocmVtb3ZhbFBvbGljeSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNmblRhYmxlID0gbm9kZS5ub2RlLmRlZmF1bHRDaGlsZCBhcyBDZm5UYWJsZTtcbiAgICAgIGlmICghY2ZuVGFibGUpIHJldHVybjtcblxuICAgICAgY2ZuVGFibGUuYmlsbGluZ01vZGUgPSBjZm5UYWJsZS5iaWxsaW5nTW9kZSA/PyBiaWxsaW5nTW9kZTtcblxuICAgICAgLy8gQ2xlYXIgY29uZmxpY3RpbmcgdGhyb3VnaHB1dCBjb25maWcgdG8gcHJldmVudCBDbG91ZEZvcm1hdGlvbiBlcnJvcnNcbiAgICAgIGlmIChjZm5UYWJsZS5iaWxsaW5nTW9kZSA9PT0gQmlsbGluZ01vZGUuUEFZX1BFUl9SRVFVRVNUKSB7XG4gICAgICAgIGNmblRhYmxlLnByb3Zpc2lvbmVkVGhyb3VnaHB1dCA9IHVuZGVmaW5lZDtcbiAgICAgIH0gZWxzZSBpZiAoY2ZuVGFibGUuYmlsbGluZ01vZGUgPT09IEJpbGxpbmdNb2RlLlBST1ZJU0lPTkVEKSB7XG4gICAgICAgIGNmblRhYmxlLm9uRGVtYW5kVGhyb3VnaHB1dCA9IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICBjZm5UYWJsZS5iaWxsaW5nTW9kZSA9PT0gQmlsbGluZ01vZGUuUEFZX1BFUl9SRVFVRVNUICYmXG4gICAgICAgIHRoaXMuaXNPbkRlbWFuZFRocm91Z2hwdXRDb25maWd1cmVkKClcbiAgICAgICkge1xuICAgICAgICBjZm5UYWJsZS5vbkRlbWFuZFRocm91Z2hwdXQgPSB7XG4gICAgICAgICAgbWF4UmVhZFJlcXVlc3RVbml0cyxcbiAgICAgICAgICBtYXhXcml0ZVJlcXVlc3RVbml0cyxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICBjZm5UYWJsZS5iaWxsaW5nTW9kZSA9PT0gQmlsbGluZ01vZGUuUFJPVklTSU9ORUQgJiZcbiAgICAgICAgdGhpcy5pc1Byb3Zpc2lvbmVkVGhyb3VnaHB1dENvbmZpZ3VyZWQoKVxuICAgICAgKSB7XG4gICAgICAgIGNmblRhYmxlLnByb3Zpc2lvbmVkVGhyb3VnaHB1dCA9IHtcbiAgICAgICAgICByZWFkQ2FwYWNpdHlVbml0czogcmVhZENhcGFjaXR5ISxcbiAgICAgICAgICB3cml0ZUNhcGFjaXR5VW5pdHM6IHdyaXRlQ2FwYWNpdHkhLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aligent/cdk-aspects",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.5",
|
|
4
4
|
"description": "Collection of CDK Asppects",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/jest": "^29.5.10",
|
|
23
|
-
"@types/node": "^24.
|
|
23
|
+
"@types/node": "^24.13.2",
|
|
24
24
|
"aws-cdk": "^2.1124.1",
|
|
25
25
|
"jest": "^29.7.0",
|
|
26
26
|
"ts-jest": "^29.4.9",
|