image-scanner-with-trivy 1.2.0 → 1.2.1

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/.jsii CHANGED
@@ -3945,6 +3945,6 @@
3945
3945
  "symbolId": "src/image-scanner-with-trivy:Severity"
3946
3946
  }
3947
3947
  },
3948
- "version": "1.2.0",
3949
- "fingerprint": "unnNOsyT4/nz1u5z5uyMBvow4olZOEWIP/D+8Gx+t/o="
3948
+ "version": "1.2.1",
3949
+ "fingerprint": "sO9TM7RVYrHjLPhrmKsR+ewIw5COtYPO1tHhw+VO+Nk="
3950
3950
  }
package/API.md CHANGED
@@ -1,63 +1,3 @@
1
- # image-scanner-with-trivy
2
-
3
- ## Detail Pages
4
-
5
- The detail blog is [here](https://dev.to/aws-builders/container-image-scanning-with-trivy-in-aws-cdk-151h).
6
-
7
- To my surprise, this library was featured on the ecosystem page of [Trivy's official documentation](https://aquasecurity.github.io/trivy/latest/ecosystem/ide/#image-scanner-with-trivy-community)!
8
-
9
- ## What is
10
-
11
- This is an AWS CDK Construct that allows you to **scan container images with Trivy in CDK deployment layer**.
12
-
13
- If it detects vulnerabilities, it can **prevent the image from being pushed to the ECR for the application**.
14
-
15
- Since it takes an `imageUri` for ECR as an argument, it can also be used to **simply scan an existing image in the repository**.
16
-
17
- ## Trivy
18
-
19
- [Trivy](https://github.com/aquasecurity/trivy) is a comprehensive and versatile security scanner.
20
-
21
- ## Usage
22
-
23
- - Install
24
-
25
- ```sh
26
- npm install image-scanner-with-trivy
27
- ```
28
-
29
- - CDK Code
30
-
31
- ```ts
32
- import { ImageScannerWithTrivy } from 'image-scanner-with-trivy';
33
-
34
- const repository = new Repository(this, 'ImageRepository', {
35
- removalPolicy: RemovalPolicy.DESTROY,
36
- autoDeleteImages: true,
37
- });
38
-
39
- const image = new DockerImageAsset(this, 'DockerImage', {
40
- directory: resolve(__dirname, './'),
41
- });
42
-
43
- // Add properties you want for trivy options (ignoreUnfixed, severity, scanners, trivyIgnore, etc).
44
- const imageScanner = new ImageScannerWithTrivy(this, 'ImageScannerWithTrivy', {
45
- imageUri: image.imageUri,
46
- repository: image.repository,
47
- });
48
-
49
- // By adding `addDependency`, if the vulnerabilities are detected by `ImageScannerWithTrivy`, the following `ECRDeployment` will not be executed, deployment will fail.
50
- const ecrDeployment = new ECRDeployment(this, 'DeployImage', {
51
- src: new DockerImageName(image.imageUri),
52
- dest: new DockerImageName(`${repository.repositoryUri}:latest`),
53
- });
54
- ecrDeployment.node.addDependency(imageScanner);
55
- ```
56
-
57
- ## API Reference
58
-
59
- API Reference is [here](./API.md#api-reference-).
60
-
61
1
  # API Reference <a name="API Reference" id="api-reference"></a>
62
2
 
63
3
  ## Constructs <a name="Constructs" id="Constructs"></a>
@@ -91,6 +91,6 @@ class ImageScannerWithTrivy extends constructs_1.Construct {
91
91
  }
92
92
  }
93
93
  _a = JSII_RTTI_SYMBOL_1;
94
- ImageScannerWithTrivy[_a] = { fqn: "image-scanner-with-trivy.ImageScannerWithTrivy", version: "1.2.0" };
94
+ ImageScannerWithTrivy[_a] = { fqn: "image-scanner-with-trivy.ImageScannerWithTrivy", version: "1.2.1" };
95
95
  exports.ImageScannerWithTrivy = ImageScannerWithTrivy;
96
96
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utc2Nhbm5lci13aXRoLXRyaXZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ltYWdlLXNjYW5uZXItd2l0aC10cml2eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUM1Qiw2Q0FBb0U7QUFFcEUsK0RBQXNEO0FBQ3RELHVEQU1nQztBQUNoQyxtRUFBd0Q7QUFDeEQsMkNBQXVDO0FBRXZDOzs7O0dBSUc7QUFDSCxJQUFZLFFBTVg7QUFORCxXQUFZLFFBQVE7SUFDbEIsK0JBQW1CLENBQUE7SUFDbkIsdUJBQVcsQ0FBQTtJQUNYLDZCQUFpQixDQUFBO0lBQ2pCLHlCQUFhLENBQUE7SUFDYixpQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBTlcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFNbkI7QUFFRDs7OztHQUlHO0FBQ0gsSUFBWSxRQUtYO0FBTEQsV0FBWSxRQUFRO0lBQ2xCLHlCQUFhLENBQUE7SUFDYiw2QkFBaUIsQ0FBQTtJQUNqQiw2QkFBaUIsQ0FBQTtJQUNqQiwrQkFBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFLbkI7QUFFRDs7OztHQUlHO0FBQ0gsSUFBWSxtQkFHWDtBQUhELFdBQVksbUJBQW1CO0lBQzdCLHdDQUFpQixDQUFBO0lBQ2pCLHdDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxtQkFBbUIsR0FBbkIsMkJBQW1CLEtBQW5CLDJCQUFtQixRQUc5QjtBQWtLRCxrRkFBa0Y7QUFDbEYsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7QUFFakMsTUFBYSxxQkFBc0IsU0FBUSxzQkFBUztJQUNsRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWlDO1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFDRSxLQUFLLENBQUMsVUFBVTtZQUNoQixDQUFDLG1CQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDckMsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksSUFBSSxLQUFLLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxFQUNyRDtZQUNBLE1BQU0sSUFBSSxLQUFLLENBQ2IsMEVBQTBFLEtBQUssQ0FBQyxVQUFVLEdBQUcsQ0FDOUYsQ0FBQztTQUNIO1FBRUQsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLDhCQUFpQixDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRTtZQUMvRSxJQUFJLEVBQUUsc0NBQXNDO1lBQzVDLGFBQWEsRUFBRSxtREFBbUQ7WUFDbEUsT0FBTyxFQUFFLG9CQUFPLENBQUMsVUFBVTtZQUMzQixPQUFPLEVBQUUsb0JBQU8sQ0FBQyxVQUFVO1lBQzNCLElBQUksRUFBRSxzQkFBUyxDQUFDLGNBQWMsQ0FBQyxJQUFBLFdBQUksRUFBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsRUFBRTtnQkFDbEUsUUFBUSxFQUFFLHlCQUFRLENBQUMsV0FBVzthQUMvQixDQUFDO1lBQ0YsWUFBWSxFQUFFLHlCQUFZLENBQUMsTUFBTTtZQUNqQyxPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQzlCLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxJQUFJLG1CQUFtQjtZQUNuRCxvQkFBb0IsRUFBRSxrQkFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxpRUFBaUU7U0FDNUcsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVqRCxNQUFNLG9CQUFvQixHQUFHLElBQUksMkJBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzFELGNBQWMsRUFBRSxvQkFBb0I7U0FDckMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxzQkFBc0IsR0FBNEQsRUFBRSxDQUFDO1FBQzNGLHNCQUFzQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM3QyxzQkFBc0IsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUNqRCxzQkFBc0IsQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUM7UUFDcEUsc0JBQXNCLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEUsc0JBQXNCLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ3ZELHNCQUFzQixDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUM7UUFDN0Usc0JBQXNCLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO1FBQ3RELHNCQUFzQixDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQztRQUN4RCxzQkFBc0IsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDN0Qsc0JBQXNCLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBRXZELElBQUksNEJBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ25DLFlBQVksRUFBRSwrQkFBK0I7WUFDN0MsVUFBVSxFQUFFLHNCQUFzQjtZQUNsQyxZQUFZLEVBQUUsb0JBQW9CLENBQUMsWUFBWTtTQUNoRCxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0FBbkRVLHNEQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IEN1c3RvbVJlc291cmNlLCBEdXJhdGlvbiwgU2l6ZSwgVG9rZW4gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBJUmVwb3NpdG9yeSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3InO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNyLWFzc2V0cyc7XG5pbXBvcnQge1xuICBBcmNoaXRlY3R1cmUsXG4gIEFzc2V0Q29kZSxcbiAgSGFuZGxlcixcbiAgUnVudGltZSxcbiAgU2luZ2xldG9uRnVuY3Rpb24sXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIEVudW0gZm9yIFNldmVyaXR5IFNlbGVjdGlvblxuICpcbiAqIEBzZWUgaHR0cHM6Ly9hcXVhc2VjdXJpdHkuZ2l0aHViLmlvL3RyaXZ5L2xhdGVzdC9kb2NzL3NjYW5uZXIvdnVsbmVyYWJpbGl0eS8jc2V2ZXJpdHktc2VsZWN0aW9uXG4gKi9cbmV4cG9ydCBlbnVtIFNldmVyaXR5IHtcbiAgVU5LTk9XTiA9ICdVTktOT1dOJyxcbiAgTE9XID0gJ0xPVycsXG4gIE1FRElVTSA9ICdNRURJVU0nLFxuICBISUdIID0gJ0hJR0gnLFxuICBDUklUSUNBTCA9ICdDUklUSUNBTCcsXG59XG5cbi8qKlxuICogRW51bSBmb3IgU2Nhbm5lcnNcbiAqXG4gKiBAc2VlIGh0dHBzOi8vYXF1YXNlY3VyaXR5LmdpdGh1Yi5pby90cml2eS9sYXRlc3QvZG9jcy9jb25maWd1cmF0aW9uL290aGVycy8jZW5hYmxlZGlzYWJsZS1zY2FubmVyc1xuICovXG5leHBvcnQgZW51bSBTY2FubmVycyB7XG4gIFZVTE4gPSAndnVsbicsXG4gIENPTkZJRyA9ICdjb25maWcnLFxuICBTRUNSRVQgPSAnc2VjcmV0JyxcbiAgTElDRU5TRSA9ICdsaWNlbnNlJyxcbn1cblxuLyoqXG4gKiBFbnVtIGZvciBJbWFnZUNvbmZpZ1NjYW5uZXJzXG4gKlxuICogQHNlZSBodHRwczovL2FxdWFzZWN1cml0eS5naXRodWIuaW8vdHJpdnkvbGF0ZXN0L2RvY3MvdGFyZ2V0L2NvbnRhaW5lcl9pbWFnZS8jY29udGFpbmVyLWltYWdlLW1ldGFkYXRhXG4gKi9cbmV4cG9ydCBlbnVtIEltYWdlQ29uZmlnU2Nhbm5lcnMge1xuICBDT05GSUcgPSAnY29uZmlnJyxcbiAgU0VDUkVUID0gJ3NlY3JldCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VTY2FubmVyV2l0aFRyaXZ5UHJvcHMge1xuICAvKipcbiAgICogSW1hZ2UgVVJJIGZvciBzY2FuIHRhcmdldC5cbiAgICovXG4gIHJlYWRvbmx5IGltYWdlVXJpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlcG9zaXRvcnkgaW5jbHVkaW5nIHRoZSBpbWFnZSBVUkkgZm9yIHNjYW4gdGFyZ2V0LlxuICAgKlxuICAgKiBCZWNhdXNlIG9mIGdyYW50UHVsbCB0byBDdXN0b21SZXNvdXJjZUxhbWJkYS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9zaXRvcnk6IElSZXBvc2l0b3J5O1xuXG4gIC8qKlxuICAgKiBUaGUgdW5maXhlZC91bmZpeGFibGUgdnVsbmVyYWJpbGl0aWVzIG1lYW4gdGhhdCB0aGUgcGF0Y2ggaGFzIG5vdCB5ZXQgYmVlbiBwcm92aWRlZCBvbiB0aGVpciBkaXN0cmlidXRpb24uXG4gICAqXG4gICAqIFRvIGhpZGUgdW5maXhlZC91bmZpeGFibGUgdnVsbmVyYWJpbGl0aWVzLCB5b3UgY2FuIHVzZSB0aGUgYC0taWdub3JlLXVuZml4ZWRgIGZsYWcuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcXVhc2VjdXJpdHkuZ2l0aHViLmlvL3RyaXZ5L2xhdGVzdC9kb2NzL3NjYW5uZXIvdnVsbmVyYWJpbGl0eS8jdW5maXhlZC12dWxuZXJhYmlsaXRpZXNcbiAgICovXG4gIHJlYWRvbmx5IGlnbm9yZVVuZml4ZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZXZlcml0eSBTZWxlY3Rpb25cbiAgICpcbiAgICogVGhlIHNldmVyaXR5IGlzIHRha2VuIGZyb20gdGhlIHNlbGVjdGVkIGRhdGEgc291cmNlIHNpbmNlIHRoZSBzZXZlcml0eSBmcm9tIHZlbmRvcnMgaXMgbW9yZSBhY2N1cmF0ZS5cbiAgICogVXNpbmcgQ1ZFLTIwMjMtMDQ2NCBhcyBhbiBleGFtcGxlLCB3aGlsZSBpdCBpcyByYXRlZCBhcyBcIkhJR0hcIiBpbiBOVkQsIFJlZCBIYXQgaGFzIG1hcmtlZCBpdHMgJ0ltcGFjdCcgYXMgXCJMb3dcIi4gQXMgYSByZXN1bHQsIFRyaXZ5IHdpbGwgZGlzcGxheSBpdCBhcyBcIkxvd1wiLlxuICAgKlxuICAgKiBUaGUgc2V2ZXJpdHkgZGVwZW5kcyBvbiB0aGUgY29tcGlsZSBvcHRpb24sIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24sIGV0Yy4gTlZEIGRvZXNuJ3Qga25vdyBob3cgdGhlIHZlbmRvciBkaXN0cmlidXRlcyB0aGUgc29mdHdhcmUuXG4gICAqIFJlZCBIYXQgZXZhbHVhdGVzIHRoZSBzZXZlcml0eSBtb3JlIGFjY3VyYXRlbHkuIFRoYXQncyB3aHkgVHJpdnkgcHJlZmVycyB2ZW5kb3Igc2NvcmVzIG92ZXIgTlZELlxuICAgKlxuICAgKiBJdCBkZWZhdWx0cyB0byBgQ1JJVElDQUxgIElOIFRISVMgQ09OU1RSVUNUIGZvciBzYWZldHkgaW4gQ0kvQ0QsIGJ1dCB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIG9mIFRyaXZ5IGlzIFwiQ1JJVElDQUwsSElHSCxNRURJVU0sTE9XLFVOS05PV05cIi5cbiAgICpcbiAgICogQGRlZmF1bHQgW1NldmVyaXR5LkNSSVRJQ0FMXVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXF1YXNlY3VyaXR5LmdpdGh1Yi5pby90cml2eS9sYXRlc3QvZG9jcy9zY2FubmVyL3Z1bG5lcmFiaWxpdHkvI3NldmVyaXR5LXNlbGVjdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgc2V2ZXJpdHk/OiBTZXZlcml0eVtdO1xuXG4gIC8qKlxuICAgKiBFbmFibGUvRGlzYWJsZSBTY2FubmVyc1xuICAgKlxuICAgKiBZb3UgY2FuIGVuYWJsZS9kaXNhYmxlIHNjYW5uZXJzIHdpdGggdGhlIGBzY2FubmVyc2AuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBjb250YWluZXIgaW1hZ2Ugc2Nhbm5pbmcgZW5hYmxlcyB2dWxuZXJhYmlsaXR5IChWVUxOKSBhbmQgc2VjcmV0IHNjYW5uZXJzIChTRUNSRVQpIGJ5IGRlZmF1bHQuXG4gICAqIElmIHlvdSBkb24ndCBuZWVkIHNlY3JldCBzY2FubmluZywgaXQgY2FuIGJlIGRpc2FibGVkIGJ5IHNwZWNpZnlpbmcgU2Nhbm5lcnMuVlVMTiBvbmx5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBbU2VjdXJpdHkuVlVMTixTY2FubmVycy5TRUNSRVRdXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcXVhc2VjdXJpdHkuZ2l0aHViLmlvL3RyaXZ5L2xhdGVzdC9kb2NzL2NvbmZpZ3VyYXRpb24vb3RoZXJzLyNlbmFibGVkaXNhYmxlLXNjYW5uZXJzXG4gICAqL1xuICByZWFkb25seSBzY2FubmVycz86IFNjYW5uZXJzW107XG5cbiAgLyoqXG4gICAqIEVudW0gZm9yIEltYWdlQ29uZmlnU2Nhbm5lcnNcbiAgICpcbiAgICogQ29udGFpbmVyIGltYWdlcyBoYXZlIGNvbmZpZ3VyYXRpb24uIGRvY2tlciBpbnNwZWN0IGFuZCBgZG9ja2VyIGhpc3RvcnlgIHNob3cgdGhlIGluZm9ybWF0aW9uIGFjY29yZGluZyB0byB0aGUgY29uZmlndXJhdGlvbi5cbiAgICogVHJpdnkgc2NhbnMgdGhlIGNvbmZpZ3VyYXRpb24gb2YgY29udGFpbmVyIGltYWdlcyBmb3JcbiAgICpcbiAgICogLSBNaXNjb25maWd1cmF0aW9uc1xuICAgKiAtIFNlY3JldHNcbiAgICpcbiAgICogVGhleSBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdC4gWW91IGNhbiBlbmFibGUgdGhlbSB3aXRoIGBpbWFnZUNvbmZpZ1NjYW5uZXJzYC5cbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICpcbiAgICogQHNlZSBodHRwczovL2FxdWFzZWN1cml0eS5naXRodWIuaW8vdHJpdnkvbGF0ZXN0L2RvY3MvdGFyZ2V0L2NvbnRhaW5lcl9pbWFnZS8jY29udGFpbmVyLWltYWdlLW1ldGFkYXRhXG4gICAqL1xuICByZWFkb25seSBpbWFnZUNvbmZpZ1NjYW5uZXJzPzogSW1hZ2VDb25maWdTY2FubmVyc1tdO1xuXG4gIC8qKlxuICAgKiBFeGl0IENvZGVcbiAgICpcbiAgICogVXNlIHRoZSBgZXhpdENvZGVgIG9wdGlvbiBpZiB5b3Ugd2FudCB0byBleGl0IHdpdGggYSBub24temVybyBleGl0IGNvZGUuXG4gICAqXG4gICAqIFlvdSBjYW4gc3BlY2lmeSAwIGlmIHlvdSBkbyBub3Qgd2FudCB0byBleGl0IGV2ZW4gd2hlbiB2dWxuZXJhYmlsaXRpZXMgYXJlIGRldGVjdGVkLlxuICAgKlxuICAgKiBJdCBkZWZhdWx0cyB0byAxIElOIFRISVMgQ09OU1RSVUNUIGZvciBzYWZldHkgaW4gQ0kvQ0QuIEluIHRoZSBvcmlnaW5hbCB0cml2eSwgaXQgaXMgMC5cbiAgICpcbiAgICogQGRlZmF1bHQgMVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXF1YXNlY3VyaXR5LmdpdGh1Yi5pby90cml2eS9sYXRlc3QvZG9jcy9jb25maWd1cmF0aW9uL290aGVycy8jZXhpdC1jb2RlXG4gICAqL1xuICByZWFkb25seSBleGl0Q29kZT86IG51bWJlcjtcblxuICAvKipcbiAgICogRXhpdCBvbiBFT0xcbiAgICpcbiAgICogU29tZXRpbWVzIHlvdSBtYXkgc3VycHJpc2luZ2x5IGdldCAwIHZ1bG5lcmFiaWxpdGllcyBpbiBhbiBvbGQgaW1hZ2U6XG4gICAqICAtIEVuYWJsaW5nIC0taWdub3JlLXVuZml4ZWQgb3B0aW9uIHdoaWxlIGFsbCBwYWNrYWdlcyBoYXZlIG5vIGZpeGVkIHZlcnNpb25zLlxuICAgKiAgLSBTY2FubmluZyBhIHJhdGhlciBvdXRkYXRlZCBPUyAoZS5nLiBVYnVudHUgMTAuMDQpLlxuICAgKlxuICAgKiBBbiBPUyBhdCB0aGUgZW5kIG9mIHNlcnZpY2UvbGlmZSAoRU9MKSB1c3VhbGx5IGdldHMgaW50byB0aGlzIHNpdHVhdGlvbiwgd2hpY2ggaXMgZGVmaW5pdGVseSBmdWxsIG9mIHZ1bG5lcmFiaWxpdGllcy5cbiAgICogYGV4aXRPbkVvbGAgY2FuIGZhaWwgc2Nhbm5pbmcgb24gRU9MIE9TIHdpdGggYSBub24temVybyBjb2RlLlxuICAgKlxuICAgKiBJdCBkZWZhdWx0cyB0byAxIElOIFRISVMgQ09OU1RSVUNUIGZvciBzYWZldHkgaW4gQ0kvQ0QuIEluIHRoZSBvcmlnaW5hbCB0cml2eSwgaXQgaXMgMC5cbiAgICpcbiAgICogQGRlZmF1bHQgMVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXF1YXNlY3VyaXR5LmdpdGh1Yi5pby90cml2eS9sYXRlc3QvZG9jcy9jb25maWd1cmF0aW9uL290aGVycy8jZXhpdC1vbi1lb2xcbiAgICovXG4gIHJlYWRvbmx5IGV4aXRPbkVvbD86IG51bWJlcjtcblxuICAvKipcbiAgICogQnkgRmluZGluZyBJRHNcbiAgICpcbiAgICogVGhlIGlnbm9yZSBydWxlcyB3cml0dGVuIHRvIHRoZSAudHJpdnlpZ25vcmUgaW4gdHJpdnkuXG4gICAqIFB1dCBlYWNoIGxpbmUgeW91IHdyaXRlIGluIHRoZSBmaWxlIGludG8gb25lIGVsZW1lbnQgb2YgdGhlIGFycmF5LlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiAgICAgJCBjYXQgLnRyaXZ5aWdub3JlXG4gICAqICAgICAjIEFjY2VwdCB0aGUgcmlza1xuICAgKiAgICAgQ1ZFLTIwMTgtMTQ2MThcbiAgICpcbiAgICogICAgICMgQWNjZXB0IHRoZSByaXNrIHVudGlsIDIwMjMtMDEtMDFcbiAgICogICAgIENWRS0yMDE5LTE0Njk3IGV4cDoyMDIzLTAxLTAxXG4gICAqXG4gICAqICAgICAjIE5vIGltcGFjdCBpbiBvdXIgc2V0dGluZ3NcbiAgICogICAgIENWRS0yMDE5LTE1NDNcbiAgICpcbiAgICogICAgICMgSWdub3JlIG1pc2NvbmZpZ3VyYXRpb25zXG4gICAqICAgICBBVkQtRFMtMDAwMlxuICAgKlxuICAgKiAgICAgIyBJZ25vcmUgc2VjcmV0c1xuICAgKiAgICAgZ2VuZXJpYy11bndhbnRlZC1ydWxlXG4gICAqICAgICBhd3MtYWNjb3VudC1pZFxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXF1YXNlY3VyaXR5LmdpdGh1Yi5pby90cml2eS9sYXRlc3QvZG9jcy9jb25maWd1cmF0aW9uL2ZpbHRlcmluZy8jdHJpdnlpZ25vcmVcbiAgICovXG4gIHJlYWRvbmx5IHRyaXZ5SWdub3JlPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE1lbW9yeSBTaXplIChNQikgZm9yIFNjYW5uZXIgTGFtYmRhXG4gICAqXG4gICAqIFlvdSBjYW4gc3BlY2lmeSBiZXR3ZWVuIGAzMDA4YCBhbmQgYDEwMjQwYC5cbiAgICpcbiAgICogSWYgdGhpcyBDb25zdHJ1Y3QgZXhlY3V0aW9uIHRlcm1pbmF0ZXMgYWJub3JtYWxseSBkdWUgdG8gU0lHS0lMTCwgdHJ5IGEgbGFyZ2VyIHNpemUuXG4gICAqXG4gICAqIERlZmF1bHQgdmFsdWUgKGAzMDA4YCBNQikgaXMgTWF4aW11bSBMYW1iZGEgbWVtb3J5IHNpemUgZm9yIGRlZmF1bHQgQVdTIGFjY291bnQgd2l0aG91dCBxdW90YSBsaW1pdCBpbmNyZWFzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgMzAwOFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogU2NhbiBJbWFnZSBvbiBhIHNwZWNpZmljIEFyY2hpdGVjdHVyZSBhbmQgT1NcbiAgICpcbiAgICogQnkgZGVmYXVsdCwgVHJpdnkgbG9hZHMgYW4gaW1hZ2Ugb24gYSBgbGludXgvYW1kNjRgIG1hY2hpbmUuXG4gICAqXG4gICAqIFRvIGN1c3RvbWl6ZSB0aGlzLCBwYXNzIGEgYHBsYXRmb3JtYCBhcmd1bWVudCBpbiB0aGUgZm9ybWF0IE9TL0FyY2hpdGVjdHVyZSBmb3IgdGhlIGltYWdlLCBzdWNoIGFzIGBsaW51eC9hcm02NGBcbiAgICpcbiAgICogQGRlZmF1bHQgLVxuICAgKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm0/OiBzdHJpbmc7XG59XG5cbi8vIE1heGltdW0gTGFtYmRhIG1lbW9yeSBzaXplIGZvciBkZWZhdWx0IEFXUyBhY2NvdW50IHdpdGhvdXQgcXVvdGEgbGltaXQgaW5jcmVhc2VcbmNvbnN0IERFRkFVTFRfTUVNT1JZX1NJWkUgPSAzMDA4O1xuXG5leHBvcnQgY2xhc3MgSW1hZ2VTY2FubmVyV2l0aFRyaXZ5IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEltYWdlU2Nhbm5lcldpdGhUcml2eVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGlmIChcbiAgICAgIHByb3BzLm1lbW9yeVNpemUgJiZcbiAgICAgICFUb2tlbi5pc1VucmVzb2x2ZWQocHJvcHMubWVtb3J5U2l6ZSkgJiZcbiAgICAgIChwcm9wcy5tZW1vcnlTaXplIDwgMzAwOCB8fCBwcm9wcy5tZW1vcnlTaXplID4gMTAyNDApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBZb3UgY2FuIHNwZWNpZnkgYmV0d2VlbiBcXGAzMDA4XFxgIGFuZCBcXGAxMDI0MFxcYCBmb3IgXFxgbWVtb3J5U2l6ZVxcYCwgZ290ICR7cHJvcHMubWVtb3J5U2l6ZX0uYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgY3VzdG9tUmVzb3VyY2VMYW1iZGEgPSBuZXcgU2luZ2xldG9uRnVuY3Rpb24odGhpcywgJ0N1c3RvbVJlc291cmNlTGFtYmRhJywge1xuICAgICAgdXVpZDogJzQ3MGI2MzQzLWQyNjctZjc1My0yMjZjLTFlOTlmMDlmMzE5YScsXG4gICAgICBsYW1iZGFQdXJwb3NlOiAnQ3VzdG9tOjpJbWFnZVNjYW5uZXJXaXRoVHJpdnlDdXN0b21SZXNvdXJjZUxhbWJkYScsXG4gICAgICBydW50aW1lOiBSdW50aW1lLkZST01fSU1BR0UsXG4gICAgICBoYW5kbGVyOiBIYW5kbGVyLkZST01fSU1BR0UsXG4gICAgICBjb2RlOiBBc3NldENvZGUuZnJvbUFzc2V0SW1hZ2Uoam9pbihfX2Rpcm5hbWUsICcuLi9hc3NldHMvbGFtYmRhJyksIHtcbiAgICAgICAgcGxhdGZvcm06IFBsYXRmb3JtLkxJTlVYX0FSTTY0LFxuICAgICAgfSksXG4gICAgICBhcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZS5BUk1fNjQsXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDkwMCksXG4gICAgICByZXRyeUF0dGVtcHRzOiAwLFxuICAgICAgbWVtb3J5U2l6ZTogcHJvcHMubWVtb3J5U2l6ZSA/PyBERUZBVUxUX01FTU9SWV9TSVpFLFxuICAgICAgZXBoZW1lcmFsU3RvcmFnZVNpemU6IFNpemUuZ2liaWJ5dGVzKDEwKSwgLy8gZm9yIGNhc2VzIHRoYXQgbmVlZCB0byB1cGRhdGUgdHJpdnkgREI6IC90bXAvdHJpdnkvZGIvdHJpdnkuZGJcbiAgICB9KTtcbiAgICBwcm9wcy5yZXBvc2l0b3J5LmdyYW50UHVsbChjdXN0b21SZXNvdXJjZUxhbWJkYSk7XG5cbiAgICBjb25zdCBpbWFnZVNjYW5uZXJQcm92aWRlciA9IG5ldyBQcm92aWRlcih0aGlzLCAnUHJvdmlkZXInLCB7XG4gICAgICBvbkV2ZW50SGFuZGxlcjogY3VzdG9tUmVzb3VyY2VMYW1iZGEsXG4gICAgfSk7XG5cbiAgICBjb25zdCBpbWFnZVNjYW5uZXJQcm9wZXJ0aWVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIHwgYm9vbGVhbiB8IG51bWJlciB9ID0ge307XG4gICAgaW1hZ2VTY2FubmVyUHJvcGVydGllcy5hZGRyID0gdGhpcy5ub2RlLmFkZHI7XG4gICAgaW1hZ2VTY2FubmVyUHJvcGVydGllcy5pbWFnZVVyaSA9IHByb3BzLmltYWdlVXJpO1xuICAgIGltYWdlU2Nhbm5lclByb3BlcnRpZXMuaWdub3JlVW5maXhlZCA9IHByb3BzLmlnbm9yZVVuZml4ZWQgPz8gZmFsc2U7XG4gICAgaW1hZ2VTY2FubmVyUHJvcGVydGllcy5zZXZlcml0eSA9IHByb3BzLnNldmVyaXR5ID8/IFtTZXZlcml0eS5DUklUSUNBTF07XG4gICAgaW1hZ2VTY2FubmVyUHJvcGVydGllcy5zY2FubmVycyA9IHByb3BzLnNjYW5uZXJzID8/IFtdO1xuICAgIGltYWdlU2Nhbm5lclByb3BlcnRpZXMuaW1hZ2VDb25maWdTY2FubmVycyA9IHByb3BzLmltYWdlQ29uZmlnU2Nhbm5lcnMgPz8gW107XG4gICAgaW1hZ2VTY2FubmVyUHJvcGVydGllcy5leGl0Q29kZSA9IHByb3BzLmV4aXRDb2RlID8/IDE7XG4gICAgaW1hZ2VTY2FubmVyUHJvcGVydGllcy5leGl0T25Fb2wgPSBwcm9wcy5leGl0T25Fb2wgPz8gMTtcbiAgICBpbWFnZVNjYW5uZXJQcm9wZXJ0aWVzLnRyaXZ5SWdub3JlID0gcHJvcHMudHJpdnlJZ25vcmUgPz8gW107XG4gICAgaW1hZ2VTY2FubmVyUHJvcGVydGllcy5wbGF0Zm9ybSA9IHByb3BzLnBsYXRmb3JtID8/ICcnO1xuXG4gICAgbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIHJlc291cmNlVHlwZTogJ0N1c3RvbTo6SW1hZ2VTY2FubmVyV2l0aFRyaXZ5JyxcbiAgICAgIHByb3BlcnRpZXM6IGltYWdlU2Nhbm5lclByb3BlcnRpZXMsXG4gICAgICBzZXJ2aWNlVG9rZW46IGltYWdlU2Nhbm5lclByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICB9KTtcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -41,30 +41,30 @@
41
41
  "organization": false
42
42
  },
43
43
  "devDependencies": {
44
- "@types/jest": "^29.5.11",
44
+ "@types/jest": "^29.5.13",
45
45
  "@types/node": "^18",
46
- "@typescript-eslint/eslint-plugin": "^6",
47
- "@typescript-eslint/parser": "^6",
46
+ "@typescript-eslint/eslint-plugin": "^7",
47
+ "@typescript-eslint/parser": "^7",
48
48
  "aws-cdk-lib": "2.95.1",
49
+ "commit-and-tag-version": "^12",
49
50
  "constructs": "10.0.5",
50
51
  "eslint": "^8",
51
52
  "eslint-config-prettier": "^9.1.0",
52
- "eslint-import-resolver-typescript": "^3.6.1",
53
- "eslint-plugin-import": "^2.29.1",
54
- "eslint-plugin-prettier": "^5.1.2",
53
+ "eslint-import-resolver-typescript": "^3.6.3",
54
+ "eslint-plugin-import": "^2.31.0",
55
+ "eslint-plugin-prettier": "^5.2.1",
55
56
  "jest": "^29.7.0",
56
57
  "jest-junit": "^15",
57
58
  "jsii": "~5.0.0",
58
- "jsii-diff": "^1.93.0",
59
- "jsii-docgen": "^9.2.2",
60
- "jsii-pacmak": "^1.93.0",
59
+ "jsii-diff": "^1.103.1",
60
+ "jsii-docgen": "^10.5.0",
61
+ "jsii-pacmak": "^1.103.1",
61
62
  "jsii-rosetta": "~5.0.0",
62
- "prettier": "^3.1.1",
63
- "projen": "^0.78.2",
64
- "standard-version": "^9",
65
- "ts-jest": "^29.1.1",
63
+ "prettier": "^3.3.3",
64
+ "projen": "^0.88.0",
65
+ "ts-jest": "^29.2.5",
66
66
  "ts-node": "^10.9.2",
67
- "typescript": "^5.3.3"
67
+ "typescript": "^5.6.2"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "aws-cdk-lib": "^2.95.1",
@@ -87,7 +87,10 @@
87
87
  },
88
88
  "main": "lib/index.js",
89
89
  "license": "Apache-2.0",
90
- "version": "1.2.0",
90
+ "publishConfig": {
91
+ "access": "public"
92
+ },
93
+ "version": "1.2.1",
91
94
  "types": "lib/index.d.ts",
92
95
  "stability": "stable",
93
96
  "jsii": {
package/.gitattributes DELETED
@@ -1,25 +0,0 @@
1
- # ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
2
-
3
- *.snap linguist-generated
4
- /.eslintrc.json linguist-generated
5
- /.gitattributes linguist-generated
6
- /.github/pull_request_template.md linguist-generated
7
- /.github/workflows/build.yml linguist-generated
8
- /.github/workflows/pull-request-lint.yml linguist-generated
9
- /.github/workflows/release.yml linguist-generated
10
- /.github/workflows/upgrade-main.yml linguist-generated
11
- /.gitignore linguist-generated
12
- /.mergify.yml linguist-generated
13
- /.npmignore linguist-generated
14
- /.prettierignore linguist-generated
15
- /.prettierrc.json linguist-generated
16
- /.projen/** linguist-generated
17
- /.projen/deps.json linguist-generated
18
- /.projen/files.json linguist-generated
19
- /.projen/tasks.json linguist-generated
20
- /API.md linguist-generated
21
- /jest.config.json linguist-generated
22
- /LICENSE linguist-generated
23
- /package.json linguist-generated
24
- /tsconfig.dev.json linguist-generated
25
- /yarn.lock linguist-generated
package/.prettierignore DELETED
@@ -1 +0,0 @@
1
- # ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
package/.prettierrc.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "singleQuote": true,
3
- "jsxSingleQuote": true,
4
- "trailingComma": "all",
5
- "semi": true,
6
- "printWidth": 100,
7
- "overrides": []
8
- }
package/.projenrc.ts DELETED
@@ -1,87 +0,0 @@
1
- import { awscdk } from 'projen';
2
- import { TrailingComma, Transform } from 'projen/lib/javascript';
3
- const project = new awscdk.AwsCdkConstructLibrary({
4
- author: 'go-to-k',
5
- authorAddress: '24818752+go-to-k@users.noreply.github.com',
6
- majorVersion: 1,
7
- minNodeVersion: '18.0.0',
8
- cdkVersion: '2.95.1',
9
- defaultReleaseBranch: 'main',
10
- jsiiVersion: '~5.0.0',
11
- name: 'image-scanner-with-trivy',
12
- projenrcTs: true,
13
- repositoryUrl: 'https://github.com/go-to-k/image-scanner-with-trivy',
14
- description: 'Scan container images with Trivy in CDK deployment',
15
- prettier: true,
16
- prettierOptions: {
17
- settings: {
18
- singleQuote: true,
19
- jsxSingleQuote: true,
20
- trailingComma: TrailingComma.ALL,
21
- semi: true,
22
- printWidth: 100,
23
- },
24
- },
25
- eslintOptions: {
26
- dirs: ['src'],
27
- prettier: true,
28
- ignorePatterns: [
29
- 'example/**/*',
30
- 'lambda/**/*',
31
- 'test/assets/**/*',
32
- 'test/*.snapshot/**/*',
33
- '*.d.ts',
34
- ],
35
- },
36
- jestOptions: {
37
- configFilePath: 'jest.config.json',
38
- jestConfig: {
39
- testEnvironment: 'node',
40
- roots: ['<rootDir>/test'],
41
- testMatch: ['**/*.test.ts'],
42
- transform: {
43
- '^.+\\.tsx?$': new Transform('ts-jest'),
44
- },
45
- snapshotSerializers: ['<rootDir>/test/snapshot-plugin.ts'],
46
- },
47
- },
48
- license: 'Apache-2.0',
49
- keywords: [
50
- 'aws',
51
- 'cdk',
52
- 'aws-cdk',
53
- 'docker',
54
- 'trivy',
55
- 'ecs',
56
- 'ecr',
57
- 'fargate',
58
- 'container',
59
- 'security',
60
- ],
61
- gitignore: ['*.js', '*.d.ts', 'cdk.out/'],
62
- bin: {
63
- 0: './assets',
64
- },
65
- githubOptions: {
66
- pullRequestLintOptions: {
67
- semanticTitleOptions: {
68
- types: ['feat', 'fix', 'chore', 'docs', 'test', 'refactor', 'ci'],
69
- },
70
- },
71
- },
72
- // deps: [], /* Runtime dependencies of this module. */
73
- // description: undefined, /* The description is just a string that helps people understand the purpose of the package. */
74
- // devDeps: [], /* Build dependencies for this module. */
75
- // packageName: undefined, /* The "name" in package.json. */
76
- });
77
- project.tsconfigDev.addInclude('assets/lambda/**/*.ts');
78
- project.setScript('cdk', 'cdk');
79
- project.setScript('integ:deploy', "cdk deploy --app='./test/integ.js'");
80
- project.setScript('integ:destroy', "cdk destroy --app='./test/integ.js'");
81
- project.projectBuild.compileTask.prependExec(
82
- 'yarn install --non-interactive --frozen-lockfile && yarn build',
83
- {
84
- cwd: 'assets/lambda',
85
- },
86
- );
87
- project.synth();