awslint 2.62.1 → 2.63.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/lib/rules/durations.js +4 -2
- package/lib/rules/durations.ts +3 -1
- package/package.json +7 -7
package/lib/rules/durations.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.durationsLinter = void 0;
|
|
|
4
4
|
const linter_1 = require("../linter");
|
|
5
5
|
const DURATION_FQN = '@aws-cdk/core.Duration';
|
|
6
6
|
const DURATION_SUFFIX = /(Days|Milli(?:(?:S|s)econd)?s?|Sec(?:ond)?s?)$/;
|
|
7
|
+
const EXCLUDE_ANNOTATION_DURATION_PROP_TYPE = '[disable-awslint:duration-prop-type]';
|
|
7
8
|
exports.durationsLinter = new linter_1.Linter(assm => {
|
|
8
9
|
const result = new Array();
|
|
9
10
|
const generatedClassesPrefix = `${assm.name}.Cfn`;
|
|
@@ -16,7 +17,8 @@ exports.durationsLinter = new linter_1.Linter(assm => {
|
|
|
16
17
|
continue;
|
|
17
18
|
}
|
|
18
19
|
for (const property of type.allProperties) {
|
|
19
|
-
if (isDurationProperty(property)
|
|
20
|
+
if (isDurationProperty(property)
|
|
21
|
+
&& !property.docs.toString().includes(EXCLUDE_ANNOTATION_DURATION_PROP_TYPE)) {
|
|
20
22
|
result.push(property);
|
|
21
23
|
}
|
|
22
24
|
}
|
|
@@ -47,4 +49,4 @@ exports.durationsLinter.add({
|
|
|
47
49
|
evaluation.assert(!DURATION_SUFFIX.test(evaluation.ctx.name), `${evaluation.ctx.parentType.fqn}.${evaluation.ctx.name}`, `(suggested name: "${evaluation.ctx.name.replace(DURATION_SUFFIX, '')}")`);
|
|
48
50
|
},
|
|
49
51
|
});
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZHVyYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHNDQUFtQztBQUVuQyxNQUFNLFlBQVksR0FBRyx3QkFBd0IsQ0FBQztBQUM5QyxNQUFNLGVBQWUsR0FBRyxnREFBZ0QsQ0FBQztBQUN6RSxNQUFNLHFDQUFxQyxHQUFHLHNDQUFzQyxDQUFDO0FBRXhFLFFBQUEsZUFBZSxHQUFHLElBQUksZUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO0lBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUksS0FBSyxFQUFZLENBQUM7SUFDckMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQztJQUNsRCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDN0IsNEVBQTRFO1FBQzVFLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsRUFBRTtZQUFFLFNBQVM7U0FBRTtRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQUUsU0FBUztTQUFFO1FBQ3ZGLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN6QyxJQUFJLGtCQUFrQixDQUFDLFFBQVEsQ0FBQzttQkFDekIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxxQ0FBcUMsQ0FBQyxFQUFFO2dCQUNoRixNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3ZCO1NBQ0Y7S0FDRjtJQUNELE9BQU8sTUFBTSxDQUFDO0lBRWQsU0FBUyxrQkFBa0IsQ0FBQyxJQUFjO1FBQ3hDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUMseUVBQXlFO1FBQ3pFLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2VBQ3BFLGFBQWEsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO2VBQ2xDLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO2VBQ2hDLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO2VBQ2pDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2VBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLFlBQVksQ0FBQztJQUN0QyxDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQUM7QUFFSCx1QkFBZSxDQUFDLEdBQUcsQ0FBQztJQUNsQixJQUFJLEVBQUUsb0JBQW9CO0lBQzFCLE9BQU8sRUFBRSwwQkFBMEIsWUFBWSxFQUFFO0lBQ2pELElBQUksRUFBRSxVQUFVLENBQUMsRUFBRTtRQUNqQixVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxZQUFZLEVBQ3hELEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsdUJBQWUsQ0FBQyxHQUFHLENBQUM7SUFDbEIsSUFBSSxFQUFFLG9CQUFvQjtJQUMxQixPQUFPLEVBQUUsd0NBQXdDO0lBQ2pELElBQUksRUFBRSxVQUFVLENBQUMsRUFBRTtRQUNqQixVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUMxRCxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUN6RCxxQkFBcUIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0UsQ0FBQztDQUNGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnanNpaS1yZWZsZWN0JztcbmltcG9ydCB7IExpbnRlciB9IGZyb20gJy4uL2xpbnRlcic7XG5cbmNvbnN0IERVUkFUSU9OX0ZRTiA9ICdAYXdzLWNkay9jb3JlLkR1cmF0aW9uJztcbmNvbnN0IERVUkFUSU9OX1NVRkZJWCA9IC8oRGF5c3xNaWxsaSg/Oig/OlN8cyllY29uZCk/cz98U2VjKD86b25kKT9zPykkLztcbmNvbnN0IEVYQ0xVREVfQU5OT1RBVElPTl9EVVJBVElPTl9QUk9QX1RZUEUgPSAnW2Rpc2FibGUtYXdzbGludDpkdXJhdGlvbi1wcm9wLXR5cGVdJztcblxuZXhwb3J0IGNvbnN0IGR1cmF0aW9uc0xpbnRlciA9IG5ldyBMaW50ZXIoYXNzbSA9PiB7XG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBBcnJheTxQcm9wZXJ0eT4oKTtcbiAgY29uc3QgZ2VuZXJhdGVkQ2xhc3Nlc1ByZWZpeCA9IGAke2Fzc20ubmFtZX0uQ2ZuYDtcbiAgZm9yIChjb25zdCB0eXBlIG9mIGFzc20udHlwZXMpIHtcbiAgICAvLyBMMSBjbGFzc2VzIGFyZSBleGVtcHRlZCBmcm9tIHRoaXMgcnVsZSwgZG9pbmcgYmFzaWMgbmFtZSBtYXRjaGluZyBoZXJlLi4uXG4gICAgaWYgKHR5cGUuZnFuLnN0YXJ0c1dpdGgoZ2VuZXJhdGVkQ2xhc3Nlc1ByZWZpeCkpIHsgY29udGludWU7IH1cbiAgICBpZiAoIXR5cGUuaXNDbGFzc1R5cGUoKSAmJiAhdHlwZS5pc0RhdGFUeXBlKCkgJiYgIXR5cGUuaXNJbnRlcmZhY2VUeXBlKCkpIHsgY29udGludWU7IH1cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHR5cGUuYWxsUHJvcGVydGllcykge1xuICAgICAgaWYgKGlzRHVyYXRpb25Qcm9wZXJ0eShwcm9wZXJ0eSlcbiAgICAgICAgICAmJiAhcHJvcGVydHkuZG9jcy50b1N0cmluZygpLmluY2x1ZGVzKEVYQ0xVREVfQU5OT1RBVElPTl9EVVJBVElPTl9QUk9QX1RZUEUpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHByb3BlcnR5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcblxuICBmdW5jdGlvbiBpc0R1cmF0aW9uUHJvcGVydHkocHJvcDogUHJvcGVydHkpOiBib29sZWFuIHtcbiAgICBjb25zdCBsb3dlckNhc2VOYW1lID0gcHJvcC5uYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgLy8gTm8gbG9va2JlaGluZCBpbiBKUyByZWdleGVzLCBzbyBleGNsdWRpbmcgXCIqUGVyU2Vjb25kXCIgYnkgaGFuZCBoZXJlLi4uXG4gICAgcmV0dXJuIChEVVJBVElPTl9TVUZGSVgudGVzdChwcm9wLm5hbWUpICYmICEvUGVyU2Vjb25kJC8udGVzdChwcm9wLm5hbWUpKVxuICAgICAgfHwgbG93ZXJDYXNlTmFtZS5lbmRzV2l0aCgnZHVyYXRpb24nKVxuICAgICAgfHwgbG93ZXJDYXNlTmFtZS5lbmRzV2l0aCgncGVyaW9kJylcbiAgICAgIHx8IGxvd2VyQ2FzZU5hbWUuZW5kc1dpdGgoJ3RpbWVvdXQnKVxuICAgICAgfHwgbG93ZXJDYXNlTmFtZS5lbmRzV2l0aCgndHRsJylcbiAgICAgIHx8IHByb3AudHlwZS5mcW4gPT09IERVUkFUSU9OX0ZRTjtcbiAgfVxufSk7XG5cbmR1cmF0aW9uc0xpbnRlci5hZGQoe1xuICBjb2RlOiAnZHVyYXRpb24tcHJvcC10eXBlJyxcbiAgbWVzc2FnZTogYHByb3BlcnR5IG11c3QgYmUgdHlwZWQgJHtEVVJBVElPTl9GUU59YCxcbiAgZXZhbDogZXZhbHVhdGlvbiA9PiB7XG4gICAgZXZhbHVhdGlvbi5hc3NlcnQoZXZhbHVhdGlvbi5jdHgudHlwZS5mcW4gPT09IERVUkFUSU9OX0ZRTixcbiAgICAgIGAke2V2YWx1YXRpb24uY3R4LnBhcmVudFR5cGUuZnFufS4ke2V2YWx1YXRpb24uY3R4Lm5hbWV9YCk7XG4gIH0sXG59KTtcblxuZHVyYXRpb25zTGludGVyLmFkZCh7XG4gIGNvZGU6ICdkdXJhdGlvbi1wcm9wLW5hbWUnLFxuICBtZXNzYWdlOiAncHJvcGVydHkgbXVzdCBub3QgdXNlIHRpbWUtdW5pdCBzdWZmaXgnLFxuICBldmFsOiBldmFsdWF0aW9uID0+IHtcbiAgICBldmFsdWF0aW9uLmFzc2VydCghRFVSQVRJT05fU1VGRklYLnRlc3QoZXZhbHVhdGlvbi5jdHgubmFtZSksXG4gICAgICBgJHtldmFsdWF0aW9uLmN0eC5wYXJlbnRUeXBlLmZxbn0uJHtldmFsdWF0aW9uLmN0eC5uYW1lfWAsXG4gICAgICBgKHN1Z2dlc3RlZCBuYW1lOiBcIiR7ZXZhbHVhdGlvbi5jdHgubmFtZS5yZXBsYWNlKERVUkFUSU9OX1NVRkZJWCwgJycpfVwiKWApO1xuICB9LFxufSk7XG4iXX0=
|
package/lib/rules/durations.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { Linter } from '../linter';
|
|
|
3
3
|
|
|
4
4
|
const DURATION_FQN = '@aws-cdk/core.Duration';
|
|
5
5
|
const DURATION_SUFFIX = /(Days|Milli(?:(?:S|s)econd)?s?|Sec(?:ond)?s?)$/;
|
|
6
|
+
const EXCLUDE_ANNOTATION_DURATION_PROP_TYPE = '[disable-awslint:duration-prop-type]';
|
|
6
7
|
|
|
7
8
|
export const durationsLinter = new Linter(assm => {
|
|
8
9
|
const result = new Array<Property>();
|
|
@@ -12,7 +13,8 @@ export const durationsLinter = new Linter(assm => {
|
|
|
12
13
|
if (type.fqn.startsWith(generatedClassesPrefix)) { continue; }
|
|
13
14
|
if (!type.isClassType() && !type.isDataType() && !type.isInterfaceType()) { continue; }
|
|
14
15
|
for (const property of type.allProperties) {
|
|
15
|
-
if (isDurationProperty(property)
|
|
16
|
+
if (isDurationProperty(property)
|
|
17
|
+
&& !property.docs.toString().includes(EXCLUDE_ANNOTATION_DURATION_PROP_TYPE)) {
|
|
16
18
|
result.push(property);
|
|
17
19
|
}
|
|
18
20
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "awslint",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.63.0",
|
|
4
4
|
"description": "Enforces the AWS Construct Library guidelines",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsc -b && eslint . --ext=.ts && pkglint && chmod +x bin/awslint",
|
|
@@ -18,26 +18,26 @@
|
|
|
18
18
|
"awslint": "bin/awslint"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@jsii/spec": "1.
|
|
21
|
+
"@jsii/spec": "1.74.0",
|
|
22
22
|
"camelcase": "^6.3.0",
|
|
23
23
|
"chalk": "^4",
|
|
24
24
|
"fs-extra": "^9.1.0",
|
|
25
|
-
"jsii-reflect": "1.
|
|
25
|
+
"jsii-reflect": "1.74.0",
|
|
26
26
|
"yargs": "^16.2.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/fs-extra": "^8.1.2",
|
|
30
30
|
"@types/jest": "^27.5.2",
|
|
31
31
|
"@types/yargs": "^15.0.15",
|
|
32
|
-
"@aws-cdk/pkglint": "2.
|
|
32
|
+
"@aws-cdk/pkglint": "2.63.0",
|
|
33
33
|
"typescript": "~3.9.10",
|
|
34
34
|
"@typescript-eslint/eslint-plugin": "^4.33.0",
|
|
35
35
|
"@typescript-eslint/parser": "^4.33.0",
|
|
36
36
|
"eslint": "^7.32.0",
|
|
37
|
-
"eslint-import-resolver-node": "^0.3.
|
|
37
|
+
"eslint-import-resolver-node": "^0.3.7",
|
|
38
38
|
"eslint-import-resolver-typescript": "^2.7.1",
|
|
39
|
-
"@aws-cdk/eslint-plugin": "2.
|
|
40
|
-
"eslint-plugin-import": "^2.
|
|
39
|
+
"@aws-cdk/eslint-plugin": "2.63.0",
|
|
40
|
+
"eslint-plugin-import": "^2.27.5",
|
|
41
41
|
"eslint-plugin-jest": "^24.7.0",
|
|
42
42
|
"jest": "^27.5.1"
|
|
43
43
|
},
|