eslint-cdk-plugin 1.0.0 → 1.0.2
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 +3 -3
- package/dist/no-variable-construct-id.mjs +2 -2
- package/dist/no-variable-construct-id.mjs.map +1 -1
- package/dist/require-passing-this.mjs +4 -2
- package/dist/require-passing-this.mjs.map +1 -1
- package/dist/utils/typeCheck.d.mts +1 -0
- package/dist/utils/typeCheck.mjs +7 -4
- package/dist/utils/typeCheck.mjs.map +1 -1
- package/package.json +2 -5
- package/CONTRIBUTING.md +0 -105
- package/VERSIONING_POLICY.md +0 -34
- package/assets/logo.png +0 -0
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img width="160px" height="160px" src="
|
|
2
|
+
<img width="160px" height="160px" src="https://raw.githubusercontent.com/ren-yamanashi/eslint-cdk-plugin/main/assets/logo.png" alt="ESLint plugin for AWS CDK logo">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<h1 align="center">eslint-cdk-plugin</h1>
|
|
@@ -71,11 +71,11 @@ If you have any questions or suggestions, please open an [issue](https://github.
|
|
|
71
71
|
|
|
72
72
|
## 💪 Contribution
|
|
73
73
|
|
|
74
|
-
Contributions are welcome! Please see [Contribution Guide](
|
|
74
|
+
Contributions are welcome! Please see [Contribution Guide](https://github.com/ren-yamanashi/eslint-cdk-plugin/blob/main/CONTRIBUTING.md) for more details.
|
|
75
75
|
|
|
76
76
|
## ⚓ Versioning Policy
|
|
77
77
|
|
|
78
|
-
Please see [Versioning Policy](
|
|
78
|
+
Please see [Versioning Policy](https://github.com/ren-yamanashi/eslint-cdk-plugin/blob/main/VERSIONING_POLICY.md).
|
|
79
79
|
|
|
80
80
|
## ©️ License
|
|
81
81
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AST_NODE_TYPES, ESLintUtils, } from "@typescript-eslint/utils";
|
|
2
|
-
import { isConstructType } from "./utils/typeCheck.mjs";
|
|
2
|
+
import { isConstructType, isStackType } from "./utils/typeCheck.mjs";
|
|
3
3
|
export const noVariableConstructId = ESLintUtils.RuleCreator.withoutDocs({
|
|
4
4
|
meta: {
|
|
5
5
|
type: "problem",
|
|
@@ -18,7 +18,7 @@ export const noVariableConstructId = ESLintUtils.RuleCreator.withoutDocs({
|
|
|
18
18
|
return {
|
|
19
19
|
NewExpression(node) {
|
|
20
20
|
const type = typeChecker.getTypeAtLocation(parserServices.esTreeNodeToTSNodeMap.get(node));
|
|
21
|
-
if (!isConstructType(type)) {
|
|
21
|
+
if (!isConstructType(type) || isStackType(type)) {
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
24
|
if (node.arguments.length < 2)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-variable-construct-id.mjs","sourceRoot":"","sources":["../src/no-variable-construct-id.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,GAGZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"no-variable-construct-id.mjs","sourceRoot":"","sources":["../src/no-variable-construct-id.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,GAGZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AASrE,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC;IACvE,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,iDAAiD;SAC/D;QACD,QAAQ,EAAE;YACR,qBAAqB,EAAE,8CAA8C;SACtE;QACD,MAAM,EAAE,EAAE;KACX;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAE5D,OAAO;YACL,aAAa,CAAC,IAAI;gBAChB,MAAM,IAAI,GAAG,WAAW,CAAC,iBAAiB,CACxC,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAC/C,CAAC;gBACF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChD,OAAO;gBACT,CAAC;gBAED,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO;gBAEtC,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAKH,MAAM,mBAAmB,GAAG,CAC1B,IAAmB,EACnB,OAAgB,EAChB,UAAkC,EAClC,EAAE;IACF,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IAGD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAG1C,IACE,SAAS,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO;QACzC,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EACnC,CAAC;QACD,OAAO;IACT,CAAC;IAGD,IACE,SAAS,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;QACjD,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAC7B,CAAC;QACD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,MAAM,CAAC;QACb,IAAI;QACJ,SAAS,EAAE,uBAAuB;KACnC,CAAC,CAAC;AACL,CAAC,CAAC;AAKF,MAAM,YAAY,GAAG,CAAC,IAAmB,EAAW,EAAE;IACpD,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IAC1B,OAAO,OAAO,EAAE,CAAC;QACf,IACE,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,YAAY;YAC5C,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc;YAC9C,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc;YAC9C,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc;YAC9C,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB,EAChD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AST_NODE_TYPES, ESLintUtils } from "@typescript-eslint/utils";
|
|
2
|
-
import { isConstructType } from "./utils/typeCheck.mjs";
|
|
2
|
+
import { isConstructType, isStackType } from "./utils/typeCheck.mjs";
|
|
3
3
|
export const requirePassingThis = ESLintUtils.RuleCreator.withoutDocs({
|
|
4
4
|
meta: {
|
|
5
5
|
type: "problem",
|
|
@@ -19,7 +19,9 @@ export const requirePassingThis = ESLintUtils.RuleCreator.withoutDocs({
|
|
|
19
19
|
return {
|
|
20
20
|
NewExpression(node) {
|
|
21
21
|
const type = typeChecker.getTypeAtLocation(parserServices.esTreeNodeToTSNodeMap.get(node));
|
|
22
|
-
if (!isConstructType(type) ||
|
|
22
|
+
if (!isConstructType(type) ||
|
|
23
|
+
isStackType(type) ||
|
|
24
|
+
!node.arguments.length) {
|
|
23
25
|
return;
|
|
24
26
|
}
|
|
25
27
|
const argument = node.arguments[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-passing-this.mjs","sourceRoot":"","sources":["../src/require-passing-this.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"require-passing-this.mjs","sourceRoot":"","sources":["../src/require-passing-this.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAQrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC;IACpE,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EAAE,0CAA0C;SACxD;QACD,QAAQ,EAAE;YACR,kBAAkB,EAAE,0CAA0C;SAC/D;QACD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,MAAM;KAChB;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAC5D,OAAO;YACL,aAAa,CAAC,IAAI;gBAChB,MAAM,IAAI,GAAG,WAAW,CAAC,iBAAiB,CACxC,cAAc,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAC/C,CAAC;gBAEF,IACE,CAAC,eAAe,CAAC,IAAI,CAAC;oBACtB,WAAW,CAAC,IAAI,CAAC;oBACjB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EACtB,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAEnC,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,EAAE,CAAC;oBACpD,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI;wBACJ,SAAS,EAAE,oBAAoB;wBAC/B,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;4BACb,OAAO,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBAC7C,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
package/dist/utils/typeCheck.mjs
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
export const isConstructOrStackType = (type) => {
|
|
2
|
-
return isTargetSuperClassType(type, ["Construct", "Stack"]);
|
|
2
|
+
return isTargetSuperClassType(type, ["Construct", "Stack"], isConstructOrStackType);
|
|
3
3
|
};
|
|
4
4
|
export const isConstructType = (type) => {
|
|
5
|
-
return isTargetSuperClassType(type, ["Construct"]);
|
|
5
|
+
return isTargetSuperClassType(type, ["Construct"], isConstructType);
|
|
6
6
|
};
|
|
7
|
-
const
|
|
7
|
+
export const isStackType = (type) => {
|
|
8
|
+
return isTargetSuperClassType(type, ["Stack"], isStackType);
|
|
9
|
+
};
|
|
10
|
+
const isTargetSuperClassType = (type, targetSuperClasses, typeCheckFunction) => {
|
|
8
11
|
if (!type.symbol)
|
|
9
12
|
return false;
|
|
10
13
|
if (targetSuperClasses.some((suffix) => type.symbol.name.endsWith(suffix))) {
|
|
11
14
|
return true;
|
|
12
15
|
}
|
|
13
16
|
const baseTypes = type.getBaseTypes() || [];
|
|
14
|
-
return baseTypes.some((baseType) =>
|
|
17
|
+
return baseTypes.some((baseType) => typeCheckFunction(baseType));
|
|
15
18
|
};
|
|
16
19
|
//# sourceMappingURL=typeCheck.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeCheck.mjs","sourceRoot":"","sources":["../../src/utils/typeCheck.mts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAU,EAAW,EAAE;IAC5D,OAAO,sBAAsB,
|
|
1
|
+
{"version":3,"file":"typeCheck.mjs","sourceRoot":"","sources":["../../src/utils/typeCheck.mts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAU,EAAW,EAAE;IAC5D,OAAO,sBAAsB,CAC3B,IAAI,EACJ,CAAC,WAAW,EAAE,OAAO,CAAC,EACtB,sBAAsB,CACvB,CAAC;AACJ,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAU,EAAW,EAAE;IACrD,OAAO,sBAAsB,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC;AACtE,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAU,EAAW,EAAE;IACjD,OAAO,sBAAsB,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC;AAC9D,CAAC,CAAC;AAQF,MAAM,sBAAsB,GAAG,CAC7B,IAAU,EACV,kBAAoC,EACpC,iBAA0C,EACjC,EAAE;IACX,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAG/B,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IAC5C,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-cdk-plugin",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "eslint plugin for AWS CDK projects",
|
|
5
5
|
"main": "dist/index.mjs",
|
|
6
6
|
"type": "module",
|
|
@@ -36,10 +36,7 @@
|
|
|
36
36
|
"files": [
|
|
37
37
|
"dist",
|
|
38
38
|
"README.md",
|
|
39
|
-
"LICENSE"
|
|
40
|
-
"CONTRIBUTING.md",
|
|
41
|
-
"VERSIONING_POLICY.md",
|
|
42
|
-
"assets"
|
|
39
|
+
"LICENSE"
|
|
43
40
|
],
|
|
44
41
|
"keywords": [
|
|
45
42
|
"eslint",
|
package/CONTRIBUTING.md
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
# Contributing to eslint-cdk-plugin
|
|
2
|
-
|
|
3
|
-
Thank you for your interest in contributing to eslint-cdk-plugin!
|
|
4
|
-
This document provides guidelines and steps for contributing.
|
|
5
|
-
|
|
6
|
-
## Code of Conduct
|
|
7
|
-
|
|
8
|
-
By participating in this project, you are expected to uphold our Code of Conduct.
|
|
9
|
-
Please report unacceptable behavior to `@ren-yamanashi`.
|
|
10
|
-
|
|
11
|
-
## How to Contribute
|
|
12
|
-
|
|
13
|
-
### Create Bugs Issue
|
|
14
|
-
|
|
15
|
-
Before creating issue, please check the existing issues to avoid duplicates.
|
|
16
|
-
When you create a bug issue, include as following content:
|
|
17
|
-
|
|
18
|
-
- A clear and descriptive title
|
|
19
|
-
- Steps to reproduce the behavior
|
|
20
|
-
- Expected behavior
|
|
21
|
-
- Actual behavior
|
|
22
|
-
- Code samples if applicable
|
|
23
|
-
- Version information (Node.js, ESLint)
|
|
24
|
-
|
|
25
|
-
### Create Feature Request Issue
|
|
26
|
-
|
|
27
|
-
We welcome suggestions for new rules!
|
|
28
|
-
When proposing a new rule:
|
|
29
|
-
|
|
30
|
-
1. First, check existing rules and issues to avoid duplicates
|
|
31
|
-
2. Create an issue with the following information:
|
|
32
|
-
- Rule name
|
|
33
|
-
- Description of the problem the rule solves
|
|
34
|
-
- Examples of code that should pass/fail
|
|
35
|
-
- References to AWS CDK best practices if applicable
|
|
36
|
-
|
|
37
|
-
### Pull Requests
|
|
38
|
-
|
|
39
|
-
1. Fork the repo and create your branch from `main`
|
|
40
|
-
2. Implement the rules
|
|
41
|
-
3. Implement the test for the rule and make sure it passes. (Tests are run in CI)
|
|
42
|
-
4. Update the documentation
|
|
43
|
-
5. Create a pull request
|
|
44
|
-
|
|
45
|
-
#### Development Setup
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
# Clone your fork
|
|
49
|
-
https://github.com/ren-yamanashi/eslint-cdk-plugin.git
|
|
50
|
-
|
|
51
|
-
# Install dependencies
|
|
52
|
-
pnpm install
|
|
53
|
-
|
|
54
|
-
# Run tests
|
|
55
|
-
pnpm test
|
|
56
|
-
|
|
57
|
-
# Run linter
|
|
58
|
-
pnpm lint
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
#### Creating a New Rule
|
|
62
|
-
|
|
63
|
-
1. Create a new file in `src`(file name should same rule name)
|
|
64
|
-
2. Create corresponding test file in `src/__tests__`
|
|
65
|
-
3. Add rule to `src/index.ts`
|
|
66
|
-
4. Add documentation in `docs`
|
|
67
|
-
|
|
68
|
-
Note: Writing the document is optional (because it is written using Vitepress and is not yet ready to accept contributions)
|
|
69
|
-
|
|
70
|
-
Example rule structure:
|
|
71
|
-
|
|
72
|
-
```typescript
|
|
73
|
-
import { ESLintUtils } from "@typescript-eslint/utils";
|
|
74
|
-
|
|
75
|
-
export const newRule = ESLintUtils.RuleCreator.withoutDocs({
|
|
76
|
-
meta: {
|
|
77
|
-
type: "problem",
|
|
78
|
-
docs: {
|
|
79
|
-
description: "Rule description",
|
|
80
|
-
},
|
|
81
|
-
messages: {
|
|
82
|
-
ruleError: "Error message with {{ placeholder }}",
|
|
83
|
-
},
|
|
84
|
-
schema: [],
|
|
85
|
-
},
|
|
86
|
-
defaultOptions: [],
|
|
87
|
-
create(context) {
|
|
88
|
-
// Rule implementation
|
|
89
|
-
},
|
|
90
|
-
});
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
## Merge Process
|
|
94
|
-
|
|
95
|
-
1. Changes are merged to `main`
|
|
96
|
-
2. Maintainers will review and merge
|
|
97
|
-
3. Publish to npm according to Milestone
|
|
98
|
-
|
|
99
|
-
## Questions?
|
|
100
|
-
|
|
101
|
-
Feel free to create an issue for any questions about contributing!
|
|
102
|
-
|
|
103
|
-
## License
|
|
104
|
-
|
|
105
|
-
By contributing, you agree that your contributions will be licensed under the project's MIT License.
|
package/VERSIONING_POLICY.md
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
## Semantic Versioning Policy
|
|
2
|
-
|
|
3
|
-
eslint-cdk-plugin follows semantic versioning. To clarify when a minor or major version bump occurs, we've defined the following semantic versioning policy:
|
|
4
|
-
|
|
5
|
-
### Patch Release (intended to not break your lint build)
|
|
6
|
-
|
|
7
|
-
- A bug fix in a rule that results in fewer linting errors
|
|
8
|
-
- A bug fix to the core functionality
|
|
9
|
-
- Improvements to documentation
|
|
10
|
-
- Non-user-facing changes such as refactoring code, adding/modifying tests, and increasing test coverage
|
|
11
|
-
- Re-releasing after a failed release
|
|
12
|
-
|
|
13
|
-
### Minor Release (might break your lint build)
|
|
14
|
-
|
|
15
|
-
- A bug fix in a rule that results in more linting errors
|
|
16
|
-
- A new rule is added (disabled by default)
|
|
17
|
-
- A new option to an existing rule that does not result in more linting errors by default
|
|
18
|
-
- An existing rule is deprecated
|
|
19
|
-
|
|
20
|
-
### Major Release (likely to break your lint build)
|
|
21
|
-
|
|
22
|
-
- `recommended` config is updated and may result in new linting errors
|
|
23
|
-
- A new rule is added (enabled by default)
|
|
24
|
-
- Removing deprecated rules or functionality
|
|
25
|
-
- Changes that require a new minimum version of Node.js or ESLint
|
|
26
|
-
|
|
27
|
-
### Version Pinning Recommendations
|
|
28
|
-
|
|
29
|
-
We recommend using one of the following approaches in your `package.json`:
|
|
30
|
-
|
|
31
|
-
- Use tilde (`~`) to allow only patch releases: `"eslint-cdk-plugin": "~1.1.0"`
|
|
32
|
-
- Use caret (`^`) if you're comfortable with minor updates: `"eslint-cdk-plugin": "^1.1.0"`
|
|
33
|
-
|
|
34
|
-
Note that minor updates may report more linting errors than the previous release, so using tilde is recommended for more stable builds.
|
package/assets/logo.png
DELETED
|
Binary file
|