diff --git a/.projen/deps.json b/.projen/deps.json
index a03f97d90f..f92615718a 100644
--- a/.projen/deps.json
+++ b/.projen/deps.json
@@ -25,6 +25,11 @@
"version": "^7",
"type": "build"
},
+ {
+ "name": "commit-and-tag-version",
+ "version": "^12",
+ "type": "build"
+ },
{
"name": "eslint-config-prettier",
"type": "build"
@@ -62,6 +67,7 @@
},
{
"name": "jsii-docgen",
+ "version": "^10.5.0",
"type": "build"
},
{
@@ -86,11 +92,6 @@
"name": "projen",
"type": "build"
},
- {
- "name": "standard-version",
- "version": "^9",
- "type": "build"
- },
{
"name": "ts-jest",
"version": "^27",
diff --git a/.projen/tasks.json b/.projen/tasks.json
index b274981ce7..1a8a7ccff4 100644
--- a/.projen/tasks.json
+++ b/.projen/tasks.json
@@ -32,7 +32,8 @@
"CHANGELOG": "dist/changelog.md",
"BUMPFILE": "dist/version.txt",
"RELEASETAG": "dist/releasetag.txt",
- "RELEASE_TAG_PREFIX": ""
+ "RELEASE_TAG_PREFIX": "",
+ "BUMP_PACKAGE": "commit-and-tag-version@^12"
},
"steps": [
{
@@ -312,7 +313,8 @@
"CHANGELOG": "dist/changelog.md",
"BUMPFILE": "dist/version.txt",
"RELEASETAG": "dist/releasetag.txt",
- "RELEASE_TAG_PREFIX": ""
+ "RELEASE_TAG_PREFIX": "",
+ "BUMP_PACKAGE": "commit-and-tag-version@^12"
},
"steps": [
{
@@ -328,13 +330,13 @@
},
"steps": [
{
- "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-prettier,jsii-diff,jsii-docgen,jsii-pacmak,prettier,projen,typescript"
+ "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-prettier,jsii-diff,jsii-pacmak,prettier,projen,typescript"
},
{
"exec": "yarn install --check-files"
},
{
- "exec": "yarn upgrade @aws-cdk/assert @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier eslint-import-resolver-typescript eslint-plugin-import eslint-plugin-prettier eslint jest-junit jest jsii-diff jsii-docgen jsii-pacmak jsii-rosetta jsii prettier projen standard-version ts-jest typescript aws-cdk-lib constructs"
+ "exec": "yarn upgrade @aws-cdk/assert @types/jest @types/node @typescript-eslint/eslint-plugin @typescript-eslint/parser commit-and-tag-version eslint-config-prettier eslint-import-resolver-typescript eslint-plugin-import eslint-plugin-prettier eslint jest-junit jest jsii-diff jsii-docgen jsii-pacmak jsii-rosetta jsii prettier projen ts-jest typescript aws-cdk-lib constructs"
},
{
"exec": "npx projen"
diff --git a/API.md b/API.md
index 2204027dc2..6a09194f79 100644
--- a/API.md
+++ b/API.md
@@ -1,1575 +1,2718 @@
-# API Reference
-
-**Classes**
-
-Name|Description
-----|-----------
-[AnnotationLogger](#cdk-nag-annotationlogger)|A NagLogger that outputs to the CDK Annotations system.
-[AwsSolutionsChecks](#cdk-nag-awssolutionschecks)|Check Best practices based on AWS Solutions Security Matrix.
-[HIPAASecurityChecks](#cdk-nag-hipaasecuritychecks)|Check for HIPAA Security compliance.
-[NIST80053R4Checks](#cdk-nag-nist80053r4checks)|Check for NIST 800-53 rev 4 compliance.
-[NIST80053R5Checks](#cdk-nag-nist80053r5checks)|Check for NIST 800-53 rev 5 compliance.
-[NagPack](#cdk-nag-nagpack)|Base class for all rule packs.
-[NagReportLogger](#cdk-nag-nagreportlogger)|A NagLogger that creates compliance reports.
-[NagRules](#cdk-nag-nagrules)|Helper class with methods for rule creation.
-[NagSuppressions](#cdk-nag-nagsuppressions)|Helper class with methods to add cdk-nag suppressions to cdk resources.
-[PCIDSS321Checks](#cdk-nag-pcidss321checks)|Check for PCI DSS 3.2.1 compliance. Based on the PCI DSS 3.2.1 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-pci-dss.html.
-[SuppressionIgnoreAlways](#cdk-nag-suppressionignorealways)|Always ignore the suppression.
-[SuppressionIgnoreAnd](#cdk-nag-suppressionignoreand)|Ignore the suppression if all of the given INagSuppressionIgnore return a non-empty message.
-[SuppressionIgnoreErrors](#cdk-nag-suppressionignoreerrors)|Ignore Suppressions for Rules with a NagMessageLevel.ERROR.
-[SuppressionIgnoreNever](#cdk-nag-suppressionignorenever)|Don't ignore the suppression.
-[SuppressionIgnoreOr](#cdk-nag-suppressionignoreor)|Ignore the suppression if any of the given INagSuppressionIgnore return a non-empty message.
-
-
-**Structs**
-
-Name|Description
-----|-----------
-[AnnotationLoggerProps](#cdk-nag-annotationloggerprops)|Props for the AnnotationLogger.
-[NagLoggerBaseData](#cdk-nag-nagloggerbasedata)|Shared data for all INagLogger methods.
-[NagLoggerComplianceData](#cdk-nag-nagloggercompliancedata)|Data for onCompliance method of an INagLogger.
-[NagLoggerErrorData](#cdk-nag-nagloggererrordata)|Data for onError method of an INagLogger.
-[NagLoggerNonComplianceData](#cdk-nag-nagloggernoncompliancedata)|Data for onNonCompliance method of an INagLogger.
-[NagLoggerNotApplicableData](#cdk-nag-nagloggernotapplicabledata)|Data for onNotApplicable method of an INagLogger.
-[NagLoggerSuppressedData](#cdk-nag-nagloggersuppresseddata)|Data for onSuppressed method of an INagLogger.
-[NagLoggerSuppressedErrorData](#cdk-nag-nagloggersuppressederrordata)|Data for onSuppressedError method of an INagLogger.
-[NagPackProps](#cdk-nag-nagpackprops)|Interface for creating a NagPack.
-[NagPackSuppression](#cdk-nag-nagpacksuppression)|Interface for creating a rule suppression.
-[NagReportLine](#cdk-nag-nagreportline)|*No description*
-[NagReportLoggerProps](#cdk-nag-nagreportloggerprops)|Props for the NagReportLogger.
-[NagReportSchema](#cdk-nag-nagreportschema)|*No description*
-[RegexAppliesTo](#cdk-nag-regexappliesto)|A regular expression to apply to matching findings.
-[SuppressionIgnoreInput](#cdk-nag-suppressionignoreinput)|Information about the NagRule and the relevant NagSuppression for the INagSuppressionIgnore.
-
-
-**Interfaces**
-
-Name|Description
-----|-----------
-[IApplyRule](#cdk-nag-iapplyrule)|Interface for JSII interoperability for passing parameters and the Rule Callback to @applyRule method.
-[INagLogger](#cdk-nag-inaglogger)|Interface for creating NagSuppression Ignores.
-[INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)|Interface for creating NagSuppression Ignores.
-
-
-**Enums**
-
-Name|Description
-----|-----------
-[NagMessageLevel](#cdk-nag-nagmessagelevel)|The severity level of the rule.
-[NagReportFormat](#cdk-nag-nagreportformat)|Possible output formats of the NagReport.
-[NagRuleCompliance](#cdk-nag-nagrulecompliance)|The compliance level of a resource in relation to a rule.
-[NagRulePostValidationStates](#cdk-nag-nagrulepostvalidationstates)|Additional states a rule can be in post compliance validation.
-
-
-
-## class AnnotationLogger
+# API Reference
-A NagLogger that outputs to the CDK Annotations system.
-__Implements__: [INagLogger](#cdk-nag-inaglogger)
+## Structs
-### Initializer
+### AnnotationLoggerProps
+Props for the AnnotationLogger.
+#### Initializer
+```typescript
+import { AnnotationLoggerProps } from 'cdk-nag'
-```ts
-new AnnotationLogger(props?: AnnotationLoggerProps)
+const annotationLoggerProps: AnnotationLoggerProps = { ... }
```
-* **props** ([AnnotationLoggerProps](#cdk-nag-annotationloggerprops)
) *No description*
- * **logIgnores** (boolean
) Whether or not to log suppressed rule violations as informational messages (default: false). __*Optional*__
- * **verbose** (boolean
) Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages. __*Optional*__
-
+#### Properties
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| logIgnores
| boolean
| Whether or not to log suppressed rule violations as informational messages (default: false). |
+| verbose
| boolean
| Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages. |
-### Properties
+---
+##### `logIgnores`Optional
-Name | Type | Description
------|------|-------------
-**logIgnores** | boolean
|
-**suppressionId** | string
|
-**verbose** | boolean
|
+```typescript
+public readonly logIgnores: boolean;
+```
-### Methods
+- *Type:* boolean
+Whether or not to log suppressed rule violations as informational messages (default: false).
-#### onCompliance(_data)
+---
-Called when a CfnResource passes the compliance check for a given rule.
+##### `verbose`Optional
-```ts
-onCompliance(_data: NagLoggerComplianceData): void
+```typescript
+public readonly verbose: boolean;
```
-* **_data** ([NagLoggerComplianceData](#cdk-nag-nagloggercompliancedata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
+- *Type:* boolean
+Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages.
+---
+### NagLoggerBaseData
-#### onError(data)
-
-Called when a rule throws an error during while validating a CfnResource for compliance.
+Shared data for all INagLogger methods.
-```ts
-onError(data: NagLoggerErrorData): void
-```
+#### Initializer
-* **data** ([NagLoggerErrorData](#cdk-nag-nagloggererrordata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
- * **errorMessage** (string
) *No description*
+```typescript
+import { NagLoggerBaseData } from 'cdk-nag'
+const nagLoggerBaseData: NagLoggerBaseData = { ... }
+```
+#### Properties
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| nagPackName
| string
| *No description.* |
+| resource
| aws-cdk-lib.CfnResource
| *No description.* |
+| ruleExplanation
| string
| *No description.* |
+| ruleId
| string
| *No description.* |
+| ruleInfo
| string
| *No description.* |
+| ruleLevel
| NagMessageLevel
| *No description.* |
+| ruleOriginalName
| string
| *No description.* |
-#### onNonCompliance(data)
+---
-Called when a CfnResource does not pass the compliance check for a given rule and the the rule violation is not suppressed by the user.
+##### `nagPackName`Required
-```ts
-onNonCompliance(data: NagLoggerNonComplianceData): void
+```typescript
+public readonly nagPackName: string;
```
-* **data** ([NagLoggerNonComplianceData](#cdk-nag-nagloggernoncompliancedata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
- * **findingId** (string
) *No description*
+- *Type:* string
+---
+##### `resource`Required
+```typescript
+public readonly resource: CfnResource;
+```
-#### onNotApplicable(_data)
+- *Type:* aws-cdk-lib.CfnResource
-Called when a rule does not apply to the given CfnResource.
+---
-```ts
-onNotApplicable(_data: NagLoggerNotApplicableData): void
+##### `ruleExplanation`Required
+
+```typescript
+public readonly ruleExplanation: string;
```
-* **_data** ([NagLoggerNotApplicableData](#cdk-nag-nagloggernotapplicabledata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
+- *Type:* string
+
+---
+##### `ruleId`Required
+```typescript
+public readonly ruleId: string;
+```
+- *Type:* string
-#### onSuppressed(data)
+---
-Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user.
+##### `ruleInfo`Required
-```ts
-onSuppressed(data: NagLoggerSuppressedData): void
+```typescript
+public readonly ruleInfo: string;
```
-* **data** ([NagLoggerSuppressedData](#cdk-nag-nagloggersuppresseddata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
- * **findingId** (string
) *No description*
- * **suppressionReason** (string
) *No description*
+- *Type:* string
+---
+##### `ruleLevel`Required
+```typescript
+public readonly ruleLevel: NagMessageLevel;
+```
-#### onSuppressedError(data)
+- *Type:* NagMessageLevel
-Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed.
+---
-```ts
-onSuppressedError(data: NagLoggerSuppressedErrorData): void
-```
+##### `ruleOriginalName`Required
-* **data** ([NagLoggerSuppressedErrorData](#cdk-nag-nagloggersuppressederrordata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
- * **errorMessage** (string
) *No description*
- * **errorSuppressionReason** (string
) *No description*
+```typescript
+public readonly ruleOriginalName: string;
+```
+- *Type:* string
+---
+### NagLoggerComplianceData
-#### protected createMessage(ruleId, findingId, ruleInfo, ruleExplanation, verbose)
+Data for onCompliance method of an INagLogger.
+#### Initializer
+```typescript
+import { NagLoggerComplianceData } from 'cdk-nag'
-```ts
-protected createMessage(ruleId: string, findingId: string, ruleInfo: string, ruleExplanation: string, verbose: boolean): string
+const nagLoggerComplianceData: NagLoggerComplianceData = { ... }
```
-* **ruleId** (string
) *No description*
-* **findingId** (string
) *No description*
-* **ruleInfo** (string
) *No description*
-* **ruleExplanation** (string
) *No description*
-* **verbose** (boolean
) *No description*
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| nagPackName
| string
| *No description.* |
+| resource
| aws-cdk-lib.CfnResource
| *No description.* |
+| ruleExplanation
| string
| *No description.* |
+| ruleId
| string
| *No description.* |
+| ruleInfo
| string
| *No description.* |
+| ruleLevel
| NagMessageLevel
| *No description.* |
+| ruleOriginalName
| string
| *No description.* |
-__Returns__:
-* string
+---
+##### `nagPackName`Required
+```typescript
+public readonly nagPackName: string;
+```
-## class AwsSolutionsChecks
+- *Type:* string
-Check Best practices based on AWS Solutions Security Matrix.
+---
-__Implements__: [IAspect](#aws-cdk-lib-iaspect)
-__Extends__: [NagPack](#cdk-nag-nagpack)
+##### `resource`Required
-### Initializer
+```typescript
+public readonly resource: CfnResource;
+```
+- *Type:* aws-cdk-lib.CfnResource
+---
+##### `ruleExplanation`Required
-```ts
-new AwsSolutionsChecks(props?: NagPackProps)
+```typescript
+public readonly ruleExplanation: string;
```
-* **props** ([NagPackProps](#cdk-nag-nagpackprops)
) *No description*
- * **additionalLoggers** (Array<[INagLogger](#cdk-nag-inaglogger)>
) Additional NagLoggers for logging rule validation outputs. __*Optional*__
- * **logIgnores** (boolean
) Whether or not to log suppressed rule violations as informational messages (default: false). __*Optional*__
- * **reportFormats** (Array<[NagReportFormat](#cdk-nag-nagreportformat)>
) If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV). __*Optional*__
- * **reports** (boolean
) Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true). __*Optional*__
- * **suppressionIgnoreCondition** ([INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
) Conditionally prevent rules from being suppressed (default: no user provided condition). __*Optional*__
- * **verbose** (boolean
) Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). __*Optional*__
+- *Type:* string
+---
-### Methods
+##### `ruleId`Required
+```typescript
+public readonly ruleId: string;
+```
-#### visit(node)
+- *Type:* string
-All aspects can visit an IConstruct.
+---
-```ts
-visit(node: IConstruct): void
+##### `ruleInfo`Required
+
+```typescript
+public readonly ruleInfo: string;
```
-* **node** ([IConstruct](#constructs-iconstruct)
) *No description*
+- *Type:* string
+---
+##### `ruleLevel`Required
+```typescript
+public readonly ruleLevel: NagMessageLevel;
+```
+- *Type:* NagMessageLevel
+---
-## class HIPAASecurityChecks
+##### `ruleOriginalName`Required
-Check for HIPAA Security compliance.
+```typescript
+public readonly ruleOriginalName: string;
+```
-Based on the HIPAA Security AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-hipaa_security.html
+- *Type:* string
-__Implements__: [IAspect](#aws-cdk-lib-iaspect)
-__Extends__: [NagPack](#cdk-nag-nagpack)
+---
-### Initializer
+### NagLoggerErrorData
+Data for onError method of an INagLogger.
+#### Initializer
+```typescript
+import { NagLoggerErrorData } from 'cdk-nag'
-```ts
-new HIPAASecurityChecks(props?: NagPackProps)
+const nagLoggerErrorData: NagLoggerErrorData = { ... }
```
-* **props** ([NagPackProps](#cdk-nag-nagpackprops)
) *No description*
- * **additionalLoggers** (Array<[INagLogger](#cdk-nag-inaglogger)>
) Additional NagLoggers for logging rule validation outputs. __*Optional*__
- * **logIgnores** (boolean
) Whether or not to log suppressed rule violations as informational messages (default: false). __*Optional*__
- * **reportFormats** (Array<[NagReportFormat](#cdk-nag-nagreportformat)>
) If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV). __*Optional*__
- * **reports** (boolean
) Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true). __*Optional*__
- * **suppressionIgnoreCondition** ([INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
) Conditionally prevent rules from being suppressed (default: no user provided condition). __*Optional*__
- * **verbose** (boolean
) Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). __*Optional*__
-
+#### Properties
-### Methods
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| nagPackName
| string
| *No description.* |
+| resource
| aws-cdk-lib.CfnResource
| *No description.* |
+| ruleExplanation
| string
| *No description.* |
+| ruleId
| string
| *No description.* |
+| ruleInfo
| string
| *No description.* |
+| ruleLevel
| NagMessageLevel
| *No description.* |
+| ruleOriginalName
| string
| *No description.* |
+| errorMessage
| string
| *No description.* |
+---
-#### visit(node)
-
-All aspects can visit an IConstruct.
+##### `nagPackName`Required
-```ts
-visit(node: IConstruct): void
+```typescript
+public readonly nagPackName: string;
```
-* **node** ([IConstruct](#constructs-iconstruct)
) *No description*
+- *Type:* string
+---
+##### `resource`Required
+```typescript
+public readonly resource: CfnResource;
+```
+- *Type:* aws-cdk-lib.CfnResource
+---
-## class NIST80053R4Checks
+##### `ruleExplanation`Required
-Check for NIST 800-53 rev 4 compliance.
+```typescript
+public readonly ruleExplanation: string;
+```
-Based on the NIST 800-53 rev 4 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-nist-800-53_rev_4.html
+- *Type:* string
-__Implements__: [IAspect](#aws-cdk-lib-iaspect)
-__Extends__: [NagPack](#cdk-nag-nagpack)
+---
-### Initializer
+##### `ruleId`Required
+```typescript
+public readonly ruleId: string;
+```
+- *Type:* string
+---
-```ts
-new NIST80053R4Checks(props?: NagPackProps)
+##### `ruleInfo`Required
+
+```typescript
+public readonly ruleInfo: string;
```
-* **props** ([NagPackProps](#cdk-nag-nagpackprops)
) *No description*
- * **additionalLoggers** (Array<[INagLogger](#cdk-nag-inaglogger)>
) Additional NagLoggers for logging rule validation outputs. __*Optional*__
- * **logIgnores** (boolean
) Whether or not to log suppressed rule violations as informational messages (default: false). __*Optional*__
- * **reportFormats** (Array<[NagReportFormat](#cdk-nag-nagreportformat)>
) If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV). __*Optional*__
- * **reports** (boolean
) Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true). __*Optional*__
- * **suppressionIgnoreCondition** ([INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
) Conditionally prevent rules from being suppressed (default: no user provided condition). __*Optional*__
- * **verbose** (boolean
) Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). __*Optional*__
+- *Type:* string
+
+---
+##### `ruleLevel`Required
-### Methods
+```typescript
+public readonly ruleLevel: NagMessageLevel;
+```
+- *Type:* NagMessageLevel
-#### visit(node)
+---
-All aspects can visit an IConstruct.
+##### `ruleOriginalName`Required
-```ts
-visit(node: IConstruct): void
+```typescript
+public readonly ruleOriginalName: string;
```
-* **node** ([IConstruct](#constructs-iconstruct)
) *No description*
+- *Type:* string
+---
+##### `errorMessage`Required
+```typescript
+public readonly errorMessage: string;
+```
+- *Type:* string
+---
-## class NIST80053R5Checks
+### NagLoggerNonComplianceData
-Check for NIST 800-53 rev 5 compliance.
+Data for onNonCompliance method of an INagLogger.
-Based on the NIST 800-53 rev 5 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-nist-800-53_rev_5.html
+#### Initializer
-__Implements__: [IAspect](#aws-cdk-lib-iaspect)
-__Extends__: [NagPack](#cdk-nag-nagpack)
+```typescript
+import { NagLoggerNonComplianceData } from 'cdk-nag'
-### Initializer
+const nagLoggerNonComplianceData: NagLoggerNonComplianceData = { ... }
+```
+#### Properties
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| nagPackName
| string
| *No description.* |
+| resource
| aws-cdk-lib.CfnResource
| *No description.* |
+| ruleExplanation
| string
| *No description.* |
+| ruleId
| string
| *No description.* |
+| ruleInfo
| string
| *No description.* |
+| ruleLevel
| NagMessageLevel
| *No description.* |
+| ruleOriginalName
| string
| *No description.* |
+| findingId
| string
| *No description.* |
+---
-```ts
-new NIST80053R5Checks(props?: NagPackProps)
+##### `nagPackName`Required
+
+```typescript
+public readonly nagPackName: string;
```
-* **props** ([NagPackProps](#cdk-nag-nagpackprops)
) *No description*
- * **additionalLoggers** (Array<[INagLogger](#cdk-nag-inaglogger)>
) Additional NagLoggers for logging rule validation outputs. __*Optional*__
- * **logIgnores** (boolean
) Whether or not to log suppressed rule violations as informational messages (default: false). __*Optional*__
- * **reportFormats** (Array<[NagReportFormat](#cdk-nag-nagreportformat)>
) If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV). __*Optional*__
- * **reports** (boolean
) Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true). __*Optional*__
- * **suppressionIgnoreCondition** ([INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
) Conditionally prevent rules from being suppressed (default: no user provided condition). __*Optional*__
- * **verbose** (boolean
) Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). __*Optional*__
+- *Type:* string
+
+---
+##### `resource`Required
-### Methods
+```typescript
+public readonly resource: CfnResource;
+```
+- *Type:* aws-cdk-lib.CfnResource
-#### visit(node)
+---
-All aspects can visit an IConstruct.
+##### `ruleExplanation`Required
-```ts
-visit(node: IConstruct): void
+```typescript
+public readonly ruleExplanation: string;
```
-* **node** ([IConstruct](#constructs-iconstruct)
) *No description*
+- *Type:* string
+---
+##### `ruleId`Required
+```typescript
+public readonly ruleId: string;
+```
+- *Type:* string
+---
-## class NagPack
+##### `ruleInfo`Required
-Base class for all rule packs.
+```typescript
+public readonly ruleInfo: string;
+```
+
+- *Type:* string
-__Implements__: [IAspect](#aws-cdk-lib-iaspect)
-__Implemented by__: [AwsSolutionsChecks](#cdk-nag-awssolutionschecks), [HIPAASecurityChecks](#cdk-nag-hipaasecuritychecks), [NIST80053R4Checks](#cdk-nag-nist80053r4checks), [NIST80053R5Checks](#cdk-nag-nist80053r5checks), [PCIDSS321Checks](#cdk-nag-pcidss321checks)
+---
-### Initializer
+##### `ruleLevel`Required
+```typescript
+public readonly ruleLevel: NagMessageLevel;
+```
+- *Type:* NagMessageLevel
+---
-```ts
-new NagPack(props?: NagPackProps)
+##### `ruleOriginalName`Required
+
+```typescript
+public readonly ruleOriginalName: string;
```
-* **props** ([NagPackProps](#cdk-nag-nagpackprops)
) *No description*
- * **additionalLoggers** (Array<[INagLogger](#cdk-nag-inaglogger)>
) Additional NagLoggers for logging rule validation outputs. __*Optional*__
- * **logIgnores** (boolean
) Whether or not to log suppressed rule violations as informational messages (default: false). __*Optional*__
- * **reportFormats** (Array<[NagReportFormat](#cdk-nag-nagreportformat)>
) If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV). __*Optional*__
- * **reports** (boolean
) Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true). __*Optional*__
- * **suppressionIgnoreCondition** ([INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
) Conditionally prevent rules from being suppressed (default: no user provided condition). __*Optional*__
- * **verbose** (boolean
) Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). __*Optional*__
+- *Type:* string
+---
+##### `findingId`Required
-### Properties
+```typescript
+public readonly findingId: string;
+```
+- *Type:* string
-Name | Type | Description
------|------|-------------
-**loggers** | Array<[INagLogger](#cdk-nag-inaglogger)>
|
-**packName** | string
|
-**readPackName** | string
|
-**packGlobalSuppressionIgnore**? | [INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
| __*Optional*__
-**userGlobalSuppressionIgnore**? | [INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
| __*Optional*__
+---
-### Methods
+### NagLoggerNotApplicableData
+Data for onNotApplicable method of an INagLogger.
-#### visit(node)
+#### Initializer
-All aspects can visit an IConstruct.
+```typescript
+import { NagLoggerNotApplicableData } from 'cdk-nag'
-```ts
-visit(node: IConstruct): void
+const nagLoggerNotApplicableData: NagLoggerNotApplicableData = { ... }
```
-* **node** ([IConstruct](#constructs-iconstruct)
) *No description*
-
-
+#### Properties
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| nagPackName
| string
| *No description.* |
+| resource
| aws-cdk-lib.CfnResource
| *No description.* |
+| ruleExplanation
| string
| *No description.* |
+| ruleId
| string
| *No description.* |
+| ruleInfo
| string
| *No description.* |
+| ruleLevel
| NagMessageLevel
| *No description.* |
+| ruleOriginalName
| string
| *No description.* |
-#### protected applyRule(params)
+---
-Create a rule to be used in the NagPack.
+##### `nagPackName`Required
-```ts
-protected applyRule(params: IApplyRule): void
+```typescript
+public readonly nagPackName: string;
```
-* **params** ([IApplyRule](#cdk-nag-iapplyrule)
) The.
+- *Type:* string
+---
+##### `resource`Required
+```typescript
+public readonly resource: CfnResource;
+```
+
+- *Type:* aws-cdk-lib.CfnResource
-#### protected ignoreRule(suppressions, ruleId, findingId, resource, level, ignoreSuppressionCondition?)
+---
-Check whether a specific rule should be ignored.
+##### `ruleExplanation`Required
-```ts
-protected ignoreRule(suppressions: Array, ruleId: string, findingId: string, resource: CfnResource, level: NagMessageLevel, ignoreSuppressionCondition?: INagSuppressionIgnore): string
+```typescript
+public readonly ruleExplanation: string;
```
-* **suppressions** (Array<[NagPackSuppression](#cdk-nag-nagpacksuppression)>
) The suppressions listed in the cdk-nag metadata.
-* **ruleId** (string
) The id of the rule to ignore.
-* **findingId** (string
) The id of the finding that is being checked.
-* **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) The resource being evaluated.
-* **level** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
-* **ignoreSuppressionCondition** ([INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
) *No description*
+- *Type:* string
-__Returns__:
-* string
+---
+##### `ruleId`Required
+```typescript
+public readonly ruleId: string;
+```
-## class NagReportLogger
+- *Type:* string
-A NagLogger that creates compliance reports.
+---
-__Implements__: [INagLogger](#cdk-nag-inaglogger)
+##### `ruleInfo`Required
-### Initializer
+```typescript
+public readonly ruleInfo: string;
+```
+- *Type:* string
+---
+##### `ruleLevel`Required
-```ts
-new NagReportLogger(props: NagReportLoggerProps)
+```typescript
+public readonly ruleLevel: NagMessageLevel;
```
-* **props** ([NagReportLoggerProps](#cdk-nag-nagreportloggerprops)
) *No description*
- * **formats** (Array<[NagReportFormat](#cdk-nag-nagreportformat)>
) *No description*
+- *Type:* NagMessageLevel
+---
+##### `ruleOriginalName`Required
-### Properties
-
+```typescript
+public readonly ruleOriginalName: string;
+```
-Name | Type | Description
------|------|-------------
-**formats** | Array<[NagReportFormat](#cdk-nag-nagreportformat)>
|
+- *Type:* string
-### Methods
+---
+### NagLoggerSuppressedData
-#### getFormatStacks(format)
+Data for onSuppressed method of an INagLogger.
+#### Initializer
+```typescript
+import { NagLoggerSuppressedData } from 'cdk-nag'
-```ts
-getFormatStacks(format: NagReportFormat): Array
+const nagLoggerSuppressedData: NagLoggerSuppressedData = { ... }
```
-* **format** ([NagReportFormat](#cdk-nag-nagreportformat)
) *No description*
+#### Properties
-__Returns__:
-* Array
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| nagPackName
| string
| *No description.* |
+| resource
| aws-cdk-lib.CfnResource
| *No description.* |
+| ruleExplanation
| string
| *No description.* |
+| ruleId
| string
| *No description.* |
+| ruleInfo
| string
| *No description.* |
+| ruleLevel
| NagMessageLevel
| *No description.* |
+| ruleOriginalName
| string
| *No description.* |
+| findingId
| string
| *No description.* |
+| suppressionReason
| string
| *No description.* |
-#### onCompliance(data)
+---
-Called when a CfnResource passes the compliance check for a given rule.
+##### `nagPackName`Required
-```ts
-onCompliance(data: NagLoggerComplianceData): void
+```typescript
+public readonly nagPackName: string;
```
-* **data** ([NagLoggerComplianceData](#cdk-nag-nagloggercompliancedata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
+- *Type:* string
+---
+##### `resource`Required
+```typescript
+public readonly resource: CfnResource;
+```
-#### onError(data)
+- *Type:* aws-cdk-lib.CfnResource
-Called when a rule throws an error during while validating a CfnResource for compliance.
+---
-```ts
-onError(data: NagLoggerErrorData): void
+##### `ruleExplanation`Required
+
+```typescript
+public readonly ruleExplanation: string;
```
-* **data** ([NagLoggerErrorData](#cdk-nag-nagloggererrordata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
- * **errorMessage** (string
) *No description*
+- *Type:* string
+
+---
+##### `ruleId`Required
+```typescript
+public readonly ruleId: string;
+```
+- *Type:* string
-#### onNonCompliance(data)
+---
-Called when a CfnResource does not pass the compliance check for a given rule and the the rule violation is not suppressed by the user.
+##### `ruleInfo`Required
-```ts
-onNonCompliance(data: NagLoggerNonComplianceData): void
+```typescript
+public readonly ruleInfo: string;
```
-* **data** ([NagLoggerNonComplianceData](#cdk-nag-nagloggernoncompliancedata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
- * **findingId** (string
) *No description*
+- *Type:* string
+---
+##### `ruleLevel`Required
+```typescript
+public readonly ruleLevel: NagMessageLevel;
+```
-#### onNotApplicable(data)
+- *Type:* NagMessageLevel
-Called when a rule does not apply to the given CfnResource.
+---
-```ts
-onNotApplicable(data: NagLoggerNotApplicableData): void
+##### `ruleOriginalName`Required
+
+```typescript
+public readonly ruleOriginalName: string;
```
-* **data** ([NagLoggerNotApplicableData](#cdk-nag-nagloggernotapplicabledata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
+- *Type:* string
+
+---
+##### `findingId`Required
+```typescript
+public readonly findingId: string;
+```
+- *Type:* string
-#### onSuppressed(data)
+---
-Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user.
+##### `suppressionReason`Required
-```ts
-onSuppressed(data: NagLoggerSuppressedData): void
+```typescript
+public readonly suppressionReason: string;
```
-* **data** ([NagLoggerSuppressedData](#cdk-nag-nagloggersuppresseddata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
- * **findingId** (string
) *No description*
- * **suppressionReason** (string
) *No description*
+- *Type:* string
+---
+### NagLoggerSuppressedErrorData
+Data for onSuppressedError method of an INagLogger.
-#### onSuppressedError(data)
+#### Initializer
-Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed.
+```typescript
+import { NagLoggerSuppressedErrorData } from 'cdk-nag'
-```ts
-onSuppressedError(data: NagLoggerSuppressedErrorData): void
+const nagLoggerSuppressedErrorData: NagLoggerSuppressedErrorData = { ... }
```
-* **data** ([NagLoggerSuppressedErrorData](#cdk-nag-nagloggersuppressederrordata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
- * **errorMessage** (string
) *No description*
- * **errorSuppressionReason** (string
) *No description*
+#### Properties
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| nagPackName
| string
| *No description.* |
+| resource
| aws-cdk-lib.CfnResource
| *No description.* |
+| ruleExplanation
| string
| *No description.* |
+| ruleId
| string
| *No description.* |
+| ruleInfo
| string
| *No description.* |
+| ruleLevel
| NagMessageLevel
| *No description.* |
+| ruleOriginalName
| string
| *No description.* |
+| errorMessage
| string
| *No description.* |
+| errorSuppressionReason
| string
| *No description.* |
+---
+##### `nagPackName`Required
-#### protected initializeStackReport(data)
-
-Initialize the report for the rule pack's compliance report for the resource's Stack if it doesn't exist.
-
-```ts
-protected initializeStackReport(data: NagLoggerBaseData): void
+```typescript
+public readonly nagPackName: string;
```
-* **data** ([NagLoggerBaseData](#cdk-nag-nagloggerbasedata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
+- *Type:* string
+---
+##### `resource`Required
+```typescript
+public readonly resource: CfnResource;
+```
-#### protected writeToStackComplianceReport(data, compliance)
+- *Type:* aws-cdk-lib.CfnResource
+---
+##### `ruleExplanation`Required
-```ts
-protected writeToStackComplianceReport(data: NagLoggerBaseData, compliance: NagRuleCompliance | NagRulePostValidationStates): void
+```typescript
+public readonly ruleExplanation: string;
```
-* **data** ([NagLoggerBaseData](#cdk-nag-nagloggerbasedata)
) *No description*
-* **compliance** ([NagRuleCompliance](#cdk-nag-nagrulecompliance) | [NagRulePostValidationStates](#cdk-nag-nagrulepostvalidationstates)
) *No description*
+- *Type:* string
+---
+##### `ruleId`Required
+```typescript
+public readonly ruleId: string;
+```
+- *Type:* string
+---
-## class NagRules
+##### `ruleInfo`Required
-Helper class with methods for rule creation.
+```typescript
+public readonly ruleInfo: string;
+```
+- *Type:* string
-### Initializer
+---
+##### `ruleLevel`Required
+```typescript
+public readonly ruleLevel: NagMessageLevel;
+```
+- *Type:* NagMessageLevel
-```ts
-new NagRules()
+---
+
+##### `ruleOriginalName`Required
+
+```typescript
+public readonly ruleOriginalName: string;
```
+- *Type:* string
+---
-### Methods
+##### `errorMessage`Required
+```typescript
+public readonly errorMessage: string;
+```
-#### *static* resolveIfPrimitive(node, parameter)
+- *Type:* string
-Use in cases where a primitive value must be known to pass a rule.
+---
-https://developer.mozilla.org/en-US/docs/Glossary/Primitive
+##### `errorSuppressionReason`Required
-```ts
-static resolveIfPrimitive(node: CfnResource, parameter: any): any
+```typescript
+public readonly errorSuppressionReason: string;
```
-* **node** ([CfnResource](#aws-cdk-lib-cfnresource)
) The CfnResource to check.
-* **parameter** (any
) The value to attempt to resolve.
+- *Type:* string
-__Returns__:
-* any
+---
-#### *static* resolveResourceFromInstrinsic(node, parameter)
+### NagPackProps
-Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
+Interface for creating a NagPack.
-```ts
-static resolveResourceFromInstrinsic(node: CfnResource, parameter: any): any
-```
+#### Initializer
-* **node** ([CfnResource](#aws-cdk-lib-cfnresource)
) The CfnResource to check.
-* **parameter** (any
) The value to attempt to resolve.
+```typescript
+import { NagPackProps } from 'cdk-nag'
-__Returns__:
-* any
+const nagPackProps: NagPackProps = { ... }
+```
+#### Properties
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| additionalLoggers
| INagLogger[]
| Additional NagLoggers for logging rule validation outputs. |
+| logIgnores
| boolean
| Whether or not to log suppressed rule violations as informational messages (default: false). |
+| reportFormats
| NagReportFormat[]
| If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV). |
+| reports
| boolean
| Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true). |
+| suppressionIgnoreCondition
| INagSuppressionIgnore
| Conditionally prevent rules from being suppressed (default: no user provided condition). |
+| verbose
| boolean
| Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). |
-## class NagSuppressions
+---
-Helper class with methods to add cdk-nag suppressions to cdk resources.
+##### `additionalLoggers`Optional
+```typescript
+public readonly additionalLoggers: INagLogger[];
+```
-### Initializer
+- *Type:* INagLogger[]
+Additional NagLoggers for logging rule validation outputs.
+---
+##### `logIgnores`Optional
-```ts
-new NagSuppressions()
+```typescript
+public readonly logIgnores: boolean;
```
+- *Type:* boolean
+Whether or not to log suppressed rule violations as informational messages (default: false).
-### Methods
+---
+##### `reportFormats`Optional
-#### *static* addResourceSuppressions(construct, suppressions, applyToChildren?)
+```typescript
+public readonly reportFormats: NagReportFormat[];
+```
-Add cdk-nag suppressions to a CfnResource and optionally its children.
+- *Type:* NagReportFormat[]
+
+If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV).
+
+---
-```ts
-static addResourceSuppressions(construct: IConstruct | Array, suppressions: Array, applyToChildren?: boolean): void
+##### `reports`Optional
+
+```typescript
+public readonly reports: boolean;
```
-* **construct** ([IConstruct](#constructs-iconstruct) | Array<[IConstruct](#constructs-iconstruct)>
) The IConstruct(s) to apply the suppression to.
-* **suppressions** (Array<[NagPackSuppression](#cdk-nag-nagpacksuppression)>
) A list of suppressions to apply to the resource.
-* **applyToChildren** (boolean
) Apply the suppressions to children CfnResources (default:false).
+- *Type:* boolean
+
+Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true).
+---
+##### `suppressionIgnoreCondition`Optional
+```typescript
+public readonly suppressionIgnoreCondition: INagSuppressionIgnore;
+```
-#### *static* addResourceSuppressionsByPath(stack, path, suppressions, applyToChildren?)
+- *Type:* INagSuppressionIgnore
-Add cdk-nag suppressions to a CfnResource and optionally its children via its path.
+Conditionally prevent rules from being suppressed (default: no user provided condition).
-```ts
-static addResourceSuppressionsByPath(stack: Stack, path: string | Array, suppressions: Array, applyToChildren?: boolean): void
+---
+
+##### `verbose`Optional
+
+```typescript
+public readonly verbose: boolean;
```
-* **stack** ([Stack](#aws-cdk-lib-stack)
) The Stack the construct belongs to.
-* **path** (string | Array
) The path(s) to the construct in the provided stack.
-* **suppressions** (Array<[NagPackSuppression](#cdk-nag-nagpacksuppression)>
) A list of suppressions to apply to the resource.
-* **applyToChildren** (boolean
) Apply the suppressions to children CfnResources (default:false).
+- *Type:* boolean
+Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false).
+---
+### NagPackSuppression
-#### *static* addStackSuppressions(stack, suppressions, applyToNestedStacks?)
+Interface for creating a rule suppression.
-Apply cdk-nag suppressions to a Stack and optionally nested stacks.
+#### Initializer
-```ts
-static addStackSuppressions(stack: Stack, suppressions: Array, applyToNestedStacks?: boolean): void
+```typescript
+import { NagPackSuppression } from 'cdk-nag'
+
+const nagPackSuppression: NagPackSuppression = { ... }
```
-* **stack** ([Stack](#aws-cdk-lib-stack)
) The Stack to apply the suppression to.
-* **suppressions** (Array<[NagPackSuppression](#cdk-nag-nagpacksuppression)>
) A list of suppressions to apply to the stack.
-* **applyToNestedStacks** (boolean
) Apply the suppressions to children stacks (default:false).
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| id
| string
| The id of the rule to ignore. |
+| reason
| string
| The reason to ignore the rule (minimum 10 characters). |
+| appliesTo
| string \| RegexAppliesTo[]
| Rule specific granular suppressions. |
+---
+##### `id`Required
+```typescript
+public readonly id: string;
+```
+- *Type:* string
+The id of the rule to ignore.
-## class PCIDSS321Checks
+---
-Check for PCI DSS 3.2.1 compliance. Based on the PCI DSS 3.2.1 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-pci-dss.html.
+##### `reason`Required
-__Implements__: [IAspect](#aws-cdk-lib-iaspect)
-__Extends__: [NagPack](#cdk-nag-nagpack)
+```typescript
+public readonly reason: string;
+```
-### Initializer
+- *Type:* string
+The reason to ignore the rule (minimum 10 characters).
+---
+##### `appliesTo`Optional
-```ts
-new PCIDSS321Checks(props?: NagPackProps)
+```typescript
+public readonly appliesTo: string | RegexAppliesTo[];
```
-* **props** ([NagPackProps](#cdk-nag-nagpackprops)
) *No description*
- * **additionalLoggers** (Array<[INagLogger](#cdk-nag-inaglogger)>
) Additional NagLoggers for logging rule validation outputs. __*Optional*__
- * **logIgnores** (boolean
) Whether or not to log suppressed rule violations as informational messages (default: false). __*Optional*__
- * **reportFormats** (Array<[NagReportFormat](#cdk-nag-nagreportformat)>
) If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV). __*Optional*__
- * **reports** (boolean
) Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true). __*Optional*__
- * **suppressionIgnoreCondition** ([INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
) Conditionally prevent rules from being suppressed (default: no user provided condition). __*Optional*__
- * **verbose** (boolean
) Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false). __*Optional*__
+- *Type:* string | RegexAppliesTo[]
+Rule specific granular suppressions.
-### Methods
+---
+### NagReportLine
-#### visit(node)
+#### Initializer
-All aspects can visit an IConstruct.
+```typescript
+import { NagReportLine } from 'cdk-nag'
-```ts
-visit(node: IConstruct): void
+const nagReportLine: NagReportLine = { ... }
```
-* **node** ([IConstruct](#constructs-iconstruct)
) *No description*
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| compliance
| string
| *No description.* |
+| exceptionReason
| string
| *No description.* |
+| resourceId
| string
| *No description.* |
+| ruleId
| string
| *No description.* |
+| ruleInfo
| string
| *No description.* |
+| ruleLevel
| string
| *No description.* |
+---
+##### `compliance`Required
+```typescript
+public readonly compliance: string;
+```
+- *Type:* string
+---
-## class SuppressionIgnoreAlways
+##### `exceptionReason`Required
-Always ignore the suppression.
+```typescript
+public readonly exceptionReason: string;
+```
+
+- *Type:* string
-__Implements__: [INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
+---
-### Initializer
+##### `resourceId`Required
+```typescript
+public readonly resourceId: string;
+```
+- *Type:* string
+---
-```ts
-new SuppressionIgnoreAlways(triggerMessage: string)
+##### `ruleId`Required
+
+```typescript
+public readonly ruleId: string;
```
-* **triggerMessage** (string
) *No description*
+- *Type:* string
+---
-### Methods
+##### `ruleInfo`Required
+```typescript
+public readonly ruleInfo: string;
+```
-#### createMessage(_input)
+- *Type:* string
+---
+##### `ruleLevel`Required
-```ts
-createMessage(_input: SuppressionIgnoreInput): string
+```typescript
+public readonly ruleLevel: string;
```
-* **_input** ([SuppressionIgnoreInput](#cdk-nag-suppressionignoreinput)
) *No description*
- * **findingId** (string
) *No description*
- * **reason** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
+- *Type:* string
-__Returns__:
-* string
+---
+### NagReportLoggerProps
+Props for the NagReportLogger.
-## class SuppressionIgnoreAnd
+#### Initializer
-Ignore the suppression if all of the given INagSuppressionIgnore return a non-empty message.
+```typescript
+import { NagReportLoggerProps } from 'cdk-nag'
-__Implements__: [INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
+const nagReportLoggerProps: NagReportLoggerProps = { ... }
+```
-### Initializer
+#### Properties
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| formats
| NagReportFormat[]
| *No description.* |
+---
+##### `formats`Required
-```ts
-new SuppressionIgnoreAnd(...SuppressionIgnoreAnds: INagSuppressionIgnore[])
+```typescript
+public readonly formats: NagReportFormat[];
```
-* **SuppressionIgnoreAnds** ([INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
) *No description*
+- *Type:* NagReportFormat[]
+
+---
+### NagReportSchema
-### Methods
+#### Initializer
+```typescript
+import { NagReportSchema } from 'cdk-nag'
-#### createMessage(input)
+const nagReportSchema: NagReportSchema = { ... }
+```
+
+#### Properties
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| lines
| NagReportLine[]
| *No description.* |
+---
-```ts
-createMessage(input: SuppressionIgnoreInput): string
+##### `lines`Required
+
+```typescript
+public readonly lines: NagReportLine[];
```
-* **input** ([SuppressionIgnoreInput](#cdk-nag-suppressionignoreinput)
) *No description*
- * **findingId** (string
) *No description*
- * **reason** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
+- *Type:* NagReportLine[]
-__Returns__:
-* string
+---
+### RegexAppliesTo
+A regular expression to apply to matching findings.
-## class SuppressionIgnoreErrors
+#### Initializer
-Ignore Suppressions for Rules with a NagMessageLevel.ERROR.
+```typescript
+import { RegexAppliesTo } from 'cdk-nag'
-__Implements__: [INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
+const regexAppliesTo: RegexAppliesTo = { ... }
+```
-### Initializer
+#### Properties
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| regex
| string
| An ECMA-262 regex string. |
+---
+##### `regex`Required
-```ts
-new SuppressionIgnoreErrors()
+```typescript
+public readonly regex: string;
```
+- *Type:* string
+An ECMA-262 regex string.
-### Methods
+---
+### SuppressionIgnoreInput
-#### createMessage(input)
+Information about the NagRule and the relevant NagSuppression for the INagSuppressionIgnore.
+#### Initializer
+```typescript
+import { SuppressionIgnoreInput } from 'cdk-nag'
-```ts
-createMessage(input: SuppressionIgnoreInput): string
+const suppressionIgnoreInput: SuppressionIgnoreInput = { ... }
```
-* **input** ([SuppressionIgnoreInput](#cdk-nag-suppressionignoreinput)
) *No description*
- * **findingId** (string
) *No description*
- * **reason** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
+#### Properties
-__Returns__:
-* string
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| findingId
| string
| *No description.* |
+| reason
| string
| *No description.* |
+| resource
| aws-cdk-lib.CfnResource
| *No description.* |
+| ruleId
| string
| *No description.* |
+| ruleLevel
| NagMessageLevel
| *No description.* |
+---
+##### `findingId`Required
-## class SuppressionIgnoreNever
+```typescript
+public readonly findingId: string;
+```
-Don't ignore the suppression.
+- *Type:* string
-__Implements__: [INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
+---
-### Initializer
+##### `reason`Required
+```typescript
+public readonly reason: string;
+```
+- *Type:* string
+---
-```ts
-new SuppressionIgnoreNever()
+##### `resource`Required
+
+```typescript
+public readonly resource: CfnResource;
```
+- *Type:* aws-cdk-lib.CfnResource
+---
-### Methods
+##### `ruleId`Required
+```typescript
+public readonly ruleId: string;
+```
-#### createMessage(_input)
+- *Type:* string
+---
+##### `ruleLevel`Required
-```ts
-createMessage(_input: SuppressionIgnoreInput): string
+```typescript
+public readonly ruleLevel: NagMessageLevel;
```
-* **_input** ([SuppressionIgnoreInput](#cdk-nag-suppressionignoreinput)
) *No description*
- * **findingId** (string
) *No description*
- * **reason** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
+- *Type:* NagMessageLevel
-__Returns__:
-* string
+---
+## Classes
+### AnnotationLogger
-## class SuppressionIgnoreOr
-
-Ignore the suppression if any of the given INagSuppressionIgnore return a non-empty message.
+- *Implements:* INagLogger
-__Implements__: [INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
+A NagLogger that outputs to the CDK Annotations system.
-### Initializer
+#### Initializers
+```typescript
+import { AnnotationLogger } from 'cdk-nag'
+new AnnotationLogger(props?: AnnotationLoggerProps)
+```
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| props
| AnnotationLoggerProps
| *No description.* |
-```ts
-new SuppressionIgnoreOr(...orSuppressionIgnores: INagSuppressionIgnore[])
-```
+---
-* **orSuppressionIgnores** ([INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
) *No description*
+##### `props`Optional
+- *Type:* AnnotationLoggerProps
-### Methods
+---
+#### Methods
-#### createMessage(input)
+| **Name** | **Description** |
+| --- | --- |
+| onCompliance
| Called when a CfnResource passes the compliance check for a given rule. |
+| onError
| Called when a rule throws an error during while validating a CfnResource for compliance. |
+| onNonCompliance
| Called when a CfnResource does not pass the compliance check for a given rule and the the rule violation is not suppressed by the user. |
+| onNotApplicable
| Called when a rule does not apply to the given CfnResource. |
+| onSuppressed
| Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user. |
+| onSuppressedError
| Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed. |
+---
+##### `onCompliance`
-```ts
-createMessage(input: SuppressionIgnoreInput): string
+```typescript
+public onCompliance(_data: NagLoggerComplianceData): void
```
-* **input** ([SuppressionIgnoreInput](#cdk-nag-suppressionignoreinput)
) *No description*
- * **findingId** (string
) *No description*
- * **reason** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
-
-__Returns__:
-* string
+Called when a CfnResource passes the compliance check for a given rule.
+###### `_data`Required
+- *Type:* NagLoggerComplianceData
-## struct AnnotationLoggerProps
+---
+##### `onError`
-Props for the AnnotationLogger.
+```typescript
+public onError(data: NagLoggerErrorData): void
+```
+Called when a rule throws an error during while validating a CfnResource for compliance.
+###### `data`Required
-Name | Type | Description
------|------|-------------
-**logIgnores**? | boolean
| Whether or not to log suppressed rule violations as informational messages (default: false).
__*Optional*__
-**verbose**? | boolean
| Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages.
__*Optional*__
+- *Type:* NagLoggerErrorData
+---
+##### `onNonCompliance`
-## interface IApplyRule
+```typescript
+public onNonCompliance(data: NagLoggerNonComplianceData): void
+```
+Called when a CfnResource does not pass the compliance check for a given rule and the the rule violation is not suppressed by the user.
-Interface for JSII interoperability for passing parameters and the Rule Callback to @applyRule method.
+###### `data`Required
-### Properties
+- *Type:* NagLoggerNonComplianceData
+---
-Name | Type | Description
------|------|-------------
-**explanation** | string
| Why the rule exists.
-**info** | string
| Why the rule was triggered.
-**level** | [NagMessageLevel](#cdk-nag-nagmessagelevel)
| The annotations message level to apply to the rule if triggered.
-**node** | [CfnResource](#aws-cdk-lib-cfnresource)
| The CfnResource to check.
-**ignoreSuppressionCondition**? | [INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
| A condition in which a suppression should be ignored.
__*Optional*__
-**ruleSuffixOverride**? | string
| Override for the suffix of the Rule ID for this rule.
__*Optional*__
+##### `onNotApplicable`
-### Methods
+```typescript
+public onNotApplicable(_data: NagLoggerNotApplicableData): void
+```
+Called when a rule does not apply to the given CfnResource.
-#### rule(node)
+###### `_data`Required
-The callback to the rule.
+- *Type:* NagLoggerNotApplicableData
-```ts
-rule(node: CfnResource): NagRuleCompliance | Array
-```
+---
-* **node** ([CfnResource](#aws-cdk-lib-cfnresource)
) The CfnResource to check.
+##### `onSuppressed`
-__Returns__:
-* [NagRuleCompliance](#cdk-nag-nagrulecompliance) | Array
+```typescript
+public onSuppressed(data: NagLoggerSuppressedData): void
+```
+Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user.
+###### `data`Required
-## interface INagLogger
+- *Type:* NagLoggerSuppressedData
-__Implemented by__: [AnnotationLogger](#cdk-nag-annotationlogger), [NagReportLogger](#cdk-nag-nagreportlogger)
+---
-Interface for creating NagSuppression Ignores.
-### Methods
+##### `onSuppressedError`
+```typescript
+public onSuppressedError(data: NagLoggerSuppressedErrorData): void
+```
-#### onCompliance(data)
+Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed.
-Called when a CfnResource passes the compliance check for a given rule.
+###### `data`Required
-```ts
-onCompliance(data: NagLoggerComplianceData): void
-```
+- *Type:* NagLoggerSuppressedErrorData
-* **data** ([NagLoggerComplianceData](#cdk-nag-nagloggercompliancedata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
+---
+#### Properties
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| logIgnores
| boolean
| *No description.* |
+| verbose
| boolean
| *No description.* |
+| suppressionId
| string
| *No description.* |
-#### onError(data)
+---
-Called when a rule throws an error during while validating a CfnResource for compliance.
+##### `logIgnores`Required
-```ts
-onError(data: NagLoggerErrorData): void
+```typescript
+public readonly logIgnores: boolean;
```
-* **data** ([NagLoggerErrorData](#cdk-nag-nagloggererrordata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
- * **errorMessage** (string
) *No description*
+- *Type:* boolean
+---
+##### `verbose`Required
+```typescript
+public readonly verbose: boolean;
+```
-#### onNonCompliance(data)
+- *Type:* boolean
-Called when a CfnResource does not pass the compliance check for a given rule and the the rule violation is not suppressed by the user.
+---
-```ts
-onNonCompliance(data: NagLoggerNonComplianceData): void
+##### `suppressionId`Required
+
+```typescript
+public readonly suppressionId: string;
```
-* **data** ([NagLoggerNonComplianceData](#cdk-nag-nagloggernoncompliancedata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
- * **findingId** (string
) *No description*
+- *Type:* string
+
+---
+### AwsSolutionsChecks
+Check Best practices based on AWS Solutions Security Matrix.
-#### onNotApplicable(data)
+#### Initializers
-Called when a rule does not apply to the given CfnResource.
+```typescript
+import { AwsSolutionsChecks } from 'cdk-nag'
-```ts
-onNotApplicable(data: NagLoggerNotApplicableData): void
+new AwsSolutionsChecks(props?: NagPackProps)
```
-* **data** ([NagLoggerNotApplicableData](#cdk-nag-nagloggernotapplicabledata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| props
| NagPackProps
| *No description.* |
+---
+##### `props`Optional
+- *Type:* NagPackProps
-#### onSuppressed(data)
+---
-Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user.
+#### Methods
-```ts
-onSuppressed(data: NagLoggerSuppressedData): void
-```
+| **Name** | **Description** |
+| --- | --- |
+| visit
| All aspects can visit an IConstruct. |
-* **data** ([NagLoggerSuppressedData](#cdk-nag-nagloggersuppresseddata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
- * **findingId** (string
) *No description*
- * **suppressionReason** (string
) *No description*
+---
+##### `visit`
+```typescript
+public visit(node: IConstruct): void
+```
+All aspects can visit an IConstruct.
-#### onSuppressedError(data)
+###### `node`Required
-Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed.
+- *Type:* constructs.IConstruct
+
+---
-```ts
-onSuppressedError(data: NagLoggerSuppressedErrorData): void
-```
-* **data** ([NagLoggerSuppressedErrorData](#cdk-nag-nagloggersuppressederrordata)
) *No description*
- * **nagPackName** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleExplanation** (string
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleInfo** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
- * **ruleOriginalName** (string
) *No description*
- * **errorMessage** (string
) *No description*
- * **errorSuppressionReason** (string
) *No description*
+#### Properties
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| readPackName
| string
| *No description.* |
+---
+##### `readPackName`Required
+```typescript
+public readonly readPackName: string;
+```
+- *Type:* string
-## interface INagSuppressionIgnore
+---
-__Implemented by__: [SuppressionIgnoreAlways](#cdk-nag-suppressionignorealways), [SuppressionIgnoreAnd](#cdk-nag-suppressionignoreand), [SuppressionIgnoreErrors](#cdk-nag-suppressionignoreerrors), [SuppressionIgnoreNever](#cdk-nag-suppressionignorenever), [SuppressionIgnoreOr](#cdk-nag-suppressionignoreor)
-Interface for creating NagSuppression Ignores.
-### Methods
+### HIPAASecurityChecks
+Check for HIPAA Security compliance.
-#### createMessage(input)
+Based on the HIPAA Security AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-hipaa_security.html
+#### Initializers
+```typescript
+import { HIPAASecurityChecks } from 'cdk-nag'
-```ts
-createMessage(input: SuppressionIgnoreInput): string
+new HIPAASecurityChecks(props?: NagPackProps)
```
-* **input** ([SuppressionIgnoreInput](#cdk-nag-suppressionignoreinput)
) *No description*
- * **findingId** (string
) *No description*
- * **reason** (string
) *No description*
- * **resource** ([CfnResource](#aws-cdk-lib-cfnresource)
) *No description*
- * **ruleId** (string
) *No description*
- * **ruleLevel** ([NagMessageLevel](#cdk-nag-nagmessagelevel)
) *No description*
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| props
| NagPackProps
| *No description.* |
-__Returns__:
-* string
+---
+##### `props`Optional
+- *Type:* NagPackProps
-## struct NagLoggerBaseData
+---
+#### Methods
-Shared data for all INagLogger methods.
+| **Name** | **Description** |
+| --- | --- |
+| visit
| All aspects can visit an IConstruct. |
+---
+##### `visit`
-Name | Type | Description
------|------|-------------
-**nagPackName** | string
|
-**resource** | [CfnResource](#aws-cdk-lib-cfnresource)
|
-**ruleExplanation** | string
|
-**ruleId** | string
|
-**ruleInfo** | string
|
-**ruleLevel** | [NagMessageLevel](#cdk-nag-nagmessagelevel)
|
-**ruleOriginalName** | string
|
+```typescript
+public visit(node: IConstruct): void
+```
+All aspects can visit an IConstruct.
+###### `node`Required
-## struct NagLoggerComplianceData
+- *Type:* constructs.IConstruct
+---
-Data for onCompliance method of an INagLogger.
+#### Properties
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| readPackName
| string
| *No description.* |
-Name | Type | Description
------|------|-------------
-**nagPackName** | string
|
-**resource** | [CfnResource](#aws-cdk-lib-cfnresource)
|
-**ruleExplanation** | string
|
-**ruleId** | string
|
-**ruleInfo** | string
|
-**ruleLevel** | [NagMessageLevel](#cdk-nag-nagmessagelevel)
|
-**ruleOriginalName** | string
|
+---
+##### `readPackName`Required
+```typescript
+public readonly readPackName: string;
+```
-## struct NagLoggerErrorData
+- *Type:* string
+---
-Data for onError method of an INagLogger.
+### NagPack
+- *Implements:* aws-cdk-lib.IAspect
-Name | Type | Description
------|------|-------------
-**errorMessage** | string
|
-**nagPackName** | string
|
-**resource** | [CfnResource](#aws-cdk-lib-cfnresource)
|
-**ruleExplanation** | string
|
-**ruleId** | string
|
-**ruleInfo** | string
|
-**ruleLevel** | [NagMessageLevel](#cdk-nag-nagmessagelevel)
|
-**ruleOriginalName** | string
|
+Base class for all rule packs.
+#### Initializers
+```typescript
+import { NagPack } from 'cdk-nag'
-## struct NagLoggerNonComplianceData
+new NagPack(props?: NagPackProps)
+```
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| props
| NagPackProps
| *No description.* |
-Data for onNonCompliance method of an INagLogger.
+---
+##### `props`Optional
+- *Type:* NagPackProps
-Name | Type | Description
------|------|-------------
-**findingId** | string
|
-**nagPackName** | string
|
-**resource** | [CfnResource](#aws-cdk-lib-cfnresource)
|
-**ruleExplanation** | string
|
-**ruleId** | string
|
-**ruleInfo** | string
|
-**ruleLevel** | [NagMessageLevel](#cdk-nag-nagmessagelevel)
|
-**ruleOriginalName** | string
|
+---
+#### Methods
+| **Name** | **Description** |
+| --- | --- |
+| visit
| All aspects can visit an IConstruct. |
-## struct NagLoggerNotApplicableData
+---
+##### `visit`
-Data for onNotApplicable method of an INagLogger.
+```typescript
+public visit(node: IConstruct): void
+```
+All aspects can visit an IConstruct.
+###### `node`Required
-Name | Type | Description
------|------|-------------
-**nagPackName** | string
|
-**resource** | [CfnResource](#aws-cdk-lib-cfnresource)
|
-**ruleExplanation** | string
|
-**ruleId** | string
|
-**ruleInfo** | string
|
-**ruleLevel** | [NagMessageLevel](#cdk-nag-nagmessagelevel)
|
-**ruleOriginalName** | string
|
+- *Type:* constructs.IConstruct
+---
-## struct NagLoggerSuppressedData
+#### Properties
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| readPackName
| string
| *No description.* |
-Data for onSuppressed method of an INagLogger.
+---
+##### `readPackName`Required
+```typescript
+public readonly readPackName: string;
+```
-Name | Type | Description
------|------|-------------
-**findingId** | string
|
-**nagPackName** | string
|
-**resource** | [CfnResource](#aws-cdk-lib-cfnresource)
|
-**ruleExplanation** | string
|
-**ruleId** | string
|
-**ruleInfo** | string
|
-**ruleLevel** | [NagMessageLevel](#cdk-nag-nagmessagelevel)
|
-**ruleOriginalName** | string
|
-**suppressionReason** | string
|
+- *Type:* string
+---
-## struct NagLoggerSuppressedErrorData
+### NagReportLogger
+- *Implements:* INagLogger
-Data for onSuppressedError method of an INagLogger.
+A NagLogger that creates compliance reports.
+#### Initializers
+```typescript
+import { NagReportLogger } from 'cdk-nag'
-Name | Type | Description
------|------|-------------
-**errorMessage** | string
|
-**errorSuppressionReason** | string
|
-**nagPackName** | string
|
-**resource** | [CfnResource](#aws-cdk-lib-cfnresource)
|
-**ruleExplanation** | string
|
-**ruleId** | string
|
-**ruleInfo** | string
|
-**ruleLevel** | [NagMessageLevel](#cdk-nag-nagmessagelevel)
|
-**ruleOriginalName** | string
|
+new NagReportLogger(props: NagReportLoggerProps)
+```
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| props
| NagReportLoggerProps
| *No description.* |
+---
-## struct NagPackProps
+##### `props`Required
+- *Type:* NagReportLoggerProps
-Interface for creating a NagPack.
+---
+
+#### Methods
+| **Name** | **Description** |
+| --- | --- |
+| getFormatStacks
| *No description.* |
+| onCompliance
| Called when a CfnResource passes the compliance check for a given rule. |
+| onError
| Called when a rule throws an error during while validating a CfnResource for compliance. |
+| onNonCompliance
| Called when a CfnResource does not pass the compliance check for a given rule and the the rule violation is not suppressed by the user. |
+| onNotApplicable
| Called when a rule does not apply to the given CfnResource. |
+| onSuppressed
| Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user. |
+| onSuppressedError
| Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed. |
+---
-Name | Type | Description
------|------|-------------
-**additionalLoggers**? | Array<[INagLogger](#cdk-nag-inaglogger)>
| Additional NagLoggers for logging rule validation outputs.
__*Optional*__
-**logIgnores**? | boolean
| Whether or not to log suppressed rule violations as informational messages (default: false).
__*Optional*__
-**reportFormats**? | Array<[NagReportFormat](#cdk-nag-nagreportformat)>
| If reports are enabled, the output formats of compliance reports in the App's output directory (default: only CSV).
__*Optional*__
-**reports**? | boolean
| Whether or not to generate compliance reports for applied Stacks in the App's output directory (default: true).
__*Optional*__
-**suppressionIgnoreCondition**? | [INagSuppressionIgnore](#cdk-nag-inagsuppressionignore)
| Conditionally prevent rules from being suppressed (default: no user provided condition).
__*Optional*__
-**verbose**? | boolean
| Whether or not to enable extended explanatory descriptions on warning, error, and logged ignore messages (default: false).
__*Optional*__
+##### `getFormatStacks`
+```typescript
+public getFormatStacks(format: NagReportFormat): string[]
+```
+###### `format`Required
-## struct NagPackSuppression
+- *Type:* NagReportFormat
+---
-Interface for creating a rule suppression.
+##### `onCompliance`
+```typescript
+public onCompliance(data: NagLoggerComplianceData): void
+```
+Called when a CfnResource passes the compliance check for a given rule.
-Name | Type | Description
------|------|-------------
-**id** | string
| The id of the rule to ignore.
-**reason** | string
| The reason to ignore the rule (minimum 10 characters).
-**appliesTo**? | Array
| Rule specific granular suppressions.
__*Optional*__
+###### `data`Required
+- *Type:* NagLoggerComplianceData
+---
-## struct NagReportLine
+##### `onError`
+```typescript
+public onError(data: NagLoggerErrorData): void
+```
+Called when a rule throws an error during while validating a CfnResource for compliance.
+###### `data`Required
+- *Type:* NagLoggerErrorData
+---
-Name | Type | Description
------|------|-------------
-**compliance** | string
|
-**exceptionReason** | string
|
-**resourceId** | string
|
-**ruleId** | string
|
-**ruleInfo** | string
|
-**ruleLevel** | string
|
+##### `onNonCompliance`
+```typescript
+public onNonCompliance(data: NagLoggerNonComplianceData): void
+```
+Called when a CfnResource does not pass the compliance check for a given rule and the the rule violation is not suppressed by the user.
-## struct NagReportLoggerProps
+###### `data`Required
+- *Type:* NagLoggerNonComplianceData
-Props for the NagReportLogger.
+---
+##### `onNotApplicable`
+```typescript
+public onNotApplicable(data: NagLoggerNotApplicableData): void
+```
-Name | Type | Description
------|------|-------------
-**formats** | Array<[NagReportFormat](#cdk-nag-nagreportformat)>
|
+Called when a rule does not apply to the given CfnResource.
+###### `data`Required
+- *Type:* NagLoggerNotApplicableData
-## struct NagReportSchema
+---
+##### `onSuppressed`
+```typescript
+public onSuppressed(data: NagLoggerSuppressedData): void
+```
+Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user.
+###### `data`Required
+- *Type:* NagLoggerSuppressedData
-Name | Type | Description
------|------|-------------
-**lines** | Array<[NagReportLine](#cdk-nag-nagreportline)>
|
+---
+##### `onSuppressedError`
+```typescript
+public onSuppressedError(data: NagLoggerSuppressedErrorData): void
+```
-## struct RegexAppliesTo
+Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed.
+###### `data`Required
-A regular expression to apply to matching findings.
+- *Type:* NagLoggerSuppressedErrorData
+---
-Name | Type | Description
------|------|-------------
-**regex** | string
| An ECMA-262 regex string.
+#### Properties
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| formats
| NagReportFormat[]
| *No description.* |
+---
-## struct SuppressionIgnoreInput
+##### `formats`Required
+```typescript
+public readonly formats: NagReportFormat[];
+```
-Information about the NagRule and the relevant NagSuppression for the INagSuppressionIgnore.
+- *Type:* NagReportFormat[]
+---
-Name | Type | Description
------|------|-------------
-**findingId** | string
|
-**reason** | string
|
-**resource** | [CfnResource](#aws-cdk-lib-cfnresource)
|
-**ruleId** | string
|
-**ruleLevel** | [NagMessageLevel](#cdk-nag-nagmessagelevel)
|
+### NagRules
+Helper class with methods for rule creation.
+#### Initializers
-## enum NagMessageLevel
+```typescript
+import { NagRules } from 'cdk-nag'
-The severity level of the rule.
+new NagRules()
+```
-Name | Description
------|-----
-**WARN** |
-**ERROR** |
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+---
-## enum NagReportFormat
-Possible output formats of the NagReport.
+#### Static Functions
-Name | Description
------|-----
-**CSV** |
-**JSON** |
+| **Name** | **Description** |
+| --- | --- |
+| resolveIfPrimitive
| Use in cases where a primitive value must be known to pass a rule. |
+| resolveResourceFromInstrinsic
| Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule. |
+---
-## enum NagRuleCompliance
+##### `resolveIfPrimitive`
-The compliance level of a resource in relation to a rule.
+```typescript
+import { NagRules } from 'cdk-nag'
-Name | Description
------|-----
-**COMPLIANT** |
-**NON_COMPLIANT** |
-**NOT_APPLICABLE** |
+NagRules.resolveIfPrimitive(node: CfnResource, parameter: any)
+```
+Use in cases where a primitive value must be known to pass a rule.
-## enum NagRulePostValidationStates
+https://developer.mozilla.org/en-US/docs/Glossary/Primitive
+
+###### `node`Required
+
+- *Type:* aws-cdk-lib.CfnResource
+
+The CfnResource to check.
+
+---
+
+###### `parameter`Required
+
+- *Type:* any
+
+The value to attempt to resolve.
+
+---
+
+##### `resolveResourceFromInstrinsic`
+
+```typescript
+import { NagRules } from 'cdk-nag'
+
+NagRules.resolveResourceFromInstrinsic(node: CfnResource, parameter: any)
+```
+
+Use in cases where a token resolves to an intrinsic function and the referenced resource must be known to pass a rule.
+
+###### `node`Required
+
+- *Type:* aws-cdk-lib.CfnResource
+
+The CfnResource to check.
+
+---
+
+###### `parameter`Required
+
+- *Type:* any
+
+The value to attempt to resolve.
+
+---
+
+
+
+### NagSuppressions
+
+Helper class with methods to add cdk-nag suppressions to cdk resources.
+
+#### Initializers
+
+```typescript
+import { NagSuppressions } from 'cdk-nag'
+
+new NagSuppressions()
+```
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+
+---
+
+
+#### Static Functions
+
+| **Name** | **Description** |
+| --- | --- |
+| addResourceSuppressions
| Add cdk-nag suppressions to a CfnResource and optionally its children. |
+| addResourceSuppressionsByPath
| Add cdk-nag suppressions to a CfnResource and optionally its children via its path. |
+| addStackSuppressions
| Apply cdk-nag suppressions to a Stack and optionally nested stacks. |
+
+---
+
+##### `addResourceSuppressions`
+
+```typescript
+import { NagSuppressions } from 'cdk-nag'
+
+NagSuppressions.addResourceSuppressions(construct: IConstruct | IConstruct[], suppressions: NagPackSuppression[], applyToChildren?: boolean)
+```
+
+Add cdk-nag suppressions to a CfnResource and optionally its children.
+
+###### `construct`Required
+
+- *Type:* constructs.IConstruct | constructs.IConstruct[]
+
+The IConstruct(s) to apply the suppression to.
+
+---
+
+###### `suppressions`Required
+
+- *Type:* NagPackSuppression[]
+
+A list of suppressions to apply to the resource.
+
+---
+
+###### `applyToChildren`Optional
+
+- *Type:* boolean
+
+Apply the suppressions to children CfnResources (default:false).
+
+---
+
+##### `addResourceSuppressionsByPath`
+
+```typescript
+import { NagSuppressions } from 'cdk-nag'
+
+NagSuppressions.addResourceSuppressionsByPath(stack: Stack, path: string | string[], suppressions: NagPackSuppression[], applyToChildren?: boolean)
+```
+
+Add cdk-nag suppressions to a CfnResource and optionally its children via its path.
+
+###### `stack`Required
+
+- *Type:* aws-cdk-lib.Stack
+
+The Stack the construct belongs to.
+
+---
+
+###### `path`Required
+
+- *Type:* string | string[]
+
+The path(s) to the construct in the provided stack.
+
+---
+
+###### `suppressions`Required
+
+- *Type:* NagPackSuppression[]
+
+A list of suppressions to apply to the resource.
+
+---
+
+###### `applyToChildren`Optional
+
+- *Type:* boolean
+
+Apply the suppressions to children CfnResources (default:false).
+
+---
+
+##### `addStackSuppressions`
+
+```typescript
+import { NagSuppressions } from 'cdk-nag'
+
+NagSuppressions.addStackSuppressions(stack: Stack, suppressions: NagPackSuppression[], applyToNestedStacks?: boolean)
+```
+
+Apply cdk-nag suppressions to a Stack and optionally nested stacks.
+
+###### `stack`Required
+
+- *Type:* aws-cdk-lib.Stack
+
+The Stack to apply the suppression to.
+
+---
+
+###### `suppressions`Required
+
+- *Type:* NagPackSuppression[]
+
+A list of suppressions to apply to the stack.
+
+---
+
+###### `applyToNestedStacks`Optional
+
+- *Type:* boolean
+
+Apply the suppressions to children stacks (default:false).
+
+---
+
+
+
+### NIST80053R4Checks
+
+Check for NIST 800-53 rev 4 compliance.
+
+Based on the NIST 800-53 rev 4 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-nist-800-53_rev_4.html
+
+#### Initializers
+
+```typescript
+import { NIST80053R4Checks } from 'cdk-nag'
+
+new NIST80053R4Checks(props?: NagPackProps)
+```
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| props
| NagPackProps
| *No description.* |
+
+---
+
+##### `props`Optional
+
+- *Type:* NagPackProps
+
+---
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| visit
| All aspects can visit an IConstruct. |
+
+---
+
+##### `visit`
+
+```typescript
+public visit(node: IConstruct): void
+```
+
+All aspects can visit an IConstruct.
+
+###### `node`Required
+
+- *Type:* constructs.IConstruct
+
+---
+
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| readPackName
| string
| *No description.* |
+
+---
+
+##### `readPackName`Required
+
+```typescript
+public readonly readPackName: string;
+```
+
+- *Type:* string
+
+---
+
+
+### NIST80053R5Checks
+
+Check for NIST 800-53 rev 5 compliance.
+
+Based on the NIST 800-53 rev 5 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-nist-800-53_rev_5.html
+
+#### Initializers
+
+```typescript
+import { NIST80053R5Checks } from 'cdk-nag'
+
+new NIST80053R5Checks(props?: NagPackProps)
+```
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| props
| NagPackProps
| *No description.* |
+
+---
+
+##### `props`Optional
+
+- *Type:* NagPackProps
+
+---
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| visit
| All aspects can visit an IConstruct. |
+
+---
+
+##### `visit`
+
+```typescript
+public visit(node: IConstruct): void
+```
+
+All aspects can visit an IConstruct.
+
+###### `node`Required
+
+- *Type:* constructs.IConstruct
+
+---
+
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| readPackName
| string
| *No description.* |
+
+---
+
+##### `readPackName`Required
+
+```typescript
+public readonly readPackName: string;
+```
+
+- *Type:* string
+
+---
+
+
+### PCIDSS321Checks
+
+Check for PCI DSS 3.2.1 compliance. Based on the PCI DSS 3.2.1 AWS operational best practices: https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-pci-dss.html.
+
+#### Initializers
+
+```typescript
+import { PCIDSS321Checks } from 'cdk-nag'
+
+new PCIDSS321Checks(props?: NagPackProps)
+```
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| props
| NagPackProps
| *No description.* |
+
+---
+
+##### `props`Optional
+
+- *Type:* NagPackProps
+
+---
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| visit
| All aspects can visit an IConstruct. |
+
+---
+
+##### `visit`
+
+```typescript
+public visit(node: IConstruct): void
+```
+
+All aspects can visit an IConstruct.
+
+###### `node`Required
+
+- *Type:* constructs.IConstruct
+
+---
+
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| readPackName
| string
| *No description.* |
+
+---
+
+##### `readPackName`Required
+
+```typescript
+public readonly readPackName: string;
+```
+
+- *Type:* string
+
+---
+
+
+### SuppressionIgnoreAlways
+
+- *Implements:* INagSuppressionIgnore
+
+Always ignore the suppression.
+
+#### Initializers
+
+```typescript
+import { SuppressionIgnoreAlways } from 'cdk-nag'
+
+new SuppressionIgnoreAlways(triggerMessage: string)
+```
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| triggerMessage
| string
| *No description.* |
+
+---
+
+##### `triggerMessage`Required
+
+- *Type:* string
+
+---
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| createMessage
| *No description.* |
+
+---
+
+##### `createMessage`
+
+```typescript
+public createMessage(_input: SuppressionIgnoreInput): string
+```
+
+###### `_input`Required
+
+- *Type:* SuppressionIgnoreInput
+
+---
+
+
+
+
+### SuppressionIgnoreAnd
+
+- *Implements:* INagSuppressionIgnore
+
+Ignore the suppression if all of the given INagSuppressionIgnore return a non-empty message.
+
+#### Initializers
+
+```typescript
+import { SuppressionIgnoreAnd } from 'cdk-nag'
+
+new SuppressionIgnoreAnd(SuppressionIgnoreAnds: INagSuppressionIgnore)
+```
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| SuppressionIgnoreAnds
| INagSuppressionIgnore
| *No description.* |
+
+---
+
+##### `SuppressionIgnoreAnds`Required
+
+- *Type:* INagSuppressionIgnore
+
+---
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| createMessage
| *No description.* |
+
+---
+
+##### `createMessage`
+
+```typescript
+public createMessage(input: SuppressionIgnoreInput): string
+```
+
+###### `input`Required
+
+- *Type:* SuppressionIgnoreInput
+
+---
+
+
+
+
+### SuppressionIgnoreErrors
+
+- *Implements:* INagSuppressionIgnore
+
+Ignore Suppressions for Rules with a NagMessageLevel.ERROR.
+
+#### Initializers
+
+```typescript
+import { SuppressionIgnoreErrors } from 'cdk-nag'
+
+new SuppressionIgnoreErrors()
+```
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+
+---
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| createMessage
| *No description.* |
+
+---
+
+##### `createMessage`
+
+```typescript
+public createMessage(input: SuppressionIgnoreInput): string
+```
+
+###### `input`Required
+
+- *Type:* SuppressionIgnoreInput
+
+---
+
+
+
+
+### SuppressionIgnoreNever
+
+- *Implements:* INagSuppressionIgnore
+
+Don't ignore the suppression.
+
+#### Initializers
+
+```typescript
+import { SuppressionIgnoreNever } from 'cdk-nag'
+
+new SuppressionIgnoreNever()
+```
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+
+---
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| createMessage
| *No description.* |
+
+---
+
+##### `createMessage`
+
+```typescript
+public createMessage(_input: SuppressionIgnoreInput): string
+```
+
+###### `_input`Required
+
+- *Type:* SuppressionIgnoreInput
+
+---
+
+
+
+
+### SuppressionIgnoreOr
+
+- *Implements:* INagSuppressionIgnore
+
+Ignore the suppression if any of the given INagSuppressionIgnore return a non-empty message.
+
+#### Initializers
+
+```typescript
+import { SuppressionIgnoreOr } from 'cdk-nag'
+
+new SuppressionIgnoreOr(orSuppressionIgnores: INagSuppressionIgnore)
+```
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| orSuppressionIgnores
| INagSuppressionIgnore
| *No description.* |
+
+---
+
+##### `orSuppressionIgnores`Required
+
+- *Type:* INagSuppressionIgnore
+
+---
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| createMessage
| *No description.* |
+
+---
+
+##### `createMessage`
+
+```typescript
+public createMessage(input: SuppressionIgnoreInput): string
+```
+
+###### `input`Required
+
+- *Type:* SuppressionIgnoreInput
+
+---
+
+
+
+
+## Protocols
+
+### IApplyRule
+
+- *Implemented By:* IApplyRule
+
+Interface for JSII interoperability for passing parameters and the Rule Callback to @applyRule method.
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| rule
| The callback to the rule. |
+
+---
+
+##### `rule`
+
+```typescript
+public rule(node: CfnResource): NagRuleCompliance | string[]
+```
+
+The callback to the rule.
+
+###### `node`Required
+
+- *Type:* aws-cdk-lib.CfnResource
+
+The CfnResource to check.
+
+---
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| explanation
| string
| Why the rule exists. |
+| info
| string
| Why the rule was triggered. |
+| level
| NagMessageLevel
| The annotations message level to apply to the rule if triggered. |
+| node
| aws-cdk-lib.CfnResource
| The CfnResource to check. |
+| ignoreSuppressionCondition
| INagSuppressionIgnore
| A condition in which a suppression should be ignored. |
+| ruleSuffixOverride
| string
| Override for the suffix of the Rule ID for this rule. |
+
+---
+
+##### `explanation`Required
+
+```typescript
+public readonly explanation: string;
+```
+
+- *Type:* string
+
+Why the rule exists.
+
+---
+
+##### `info`Required
+
+```typescript
+public readonly info: string;
+```
+
+- *Type:* string
+
+Why the rule was triggered.
+
+---
+
+##### `level`Required
+
+```typescript
+public readonly level: NagMessageLevel;
+```
+
+- *Type:* NagMessageLevel
+
+The annotations message level to apply to the rule if triggered.
+
+---
+
+##### `node`Required
+
+```typescript
+public readonly node: CfnResource;
+```
+
+- *Type:* aws-cdk-lib.CfnResource
+
+The CfnResource to check.
+
+---
+
+##### `ignoreSuppressionCondition`Optional
+
+```typescript
+public readonly ignoreSuppressionCondition: INagSuppressionIgnore;
+```
+
+- *Type:* INagSuppressionIgnore
+
+A condition in which a suppression should be ignored.
+
+---
+
+##### `ruleSuffixOverride`Optional
+
+```typescript
+public readonly ruleSuffixOverride: string;
+```
+
+- *Type:* string
+
+Override for the suffix of the Rule ID for this rule.
+
+---
+
+### INagLogger
+
+- *Implemented By:* AnnotationLogger, NagReportLogger, INagLogger
+
+Interface for creating NagSuppression Ignores.
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| onCompliance
| Called when a CfnResource passes the compliance check for a given rule. |
+| onError
| Called when a rule throws an error during while validating a CfnResource for compliance. |
+| onNonCompliance
| Called when a CfnResource does not pass the compliance check for a given rule and the the rule violation is not suppressed by the user. |
+| onNotApplicable
| Called when a rule does not apply to the given CfnResource. |
+| onSuppressed
| Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user. |
+| onSuppressedError
| Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed. |
+
+---
+
+##### `onCompliance`
+
+```typescript
+public onCompliance(data: NagLoggerComplianceData): void
+```
+
+Called when a CfnResource passes the compliance check for a given rule.
+
+###### `data`Required
+
+- *Type:* NagLoggerComplianceData
+
+---
+
+##### `onError`
+
+```typescript
+public onError(data: NagLoggerErrorData): void
+```
+
+Called when a rule throws an error during while validating a CfnResource for compliance.
+
+###### `data`Required
+
+- *Type:* NagLoggerErrorData
+
+---
+
+##### `onNonCompliance`
+
+```typescript
+public onNonCompliance(data: NagLoggerNonComplianceData): void
+```
+
+Called when a CfnResource does not pass the compliance check for a given rule and the the rule violation is not suppressed by the user.
+
+###### `data`Required
+
+- *Type:* NagLoggerNonComplianceData
+
+---
+
+##### `onNotApplicable`
+
+```typescript
+public onNotApplicable(data: NagLoggerNotApplicableData): void
+```
+
+Called when a rule does not apply to the given CfnResource.
+
+###### `data`Required
+
+- *Type:* NagLoggerNotApplicableData
+
+---
+
+##### `onSuppressed`
+
+```typescript
+public onSuppressed(data: NagLoggerSuppressedData): void
+```
+
+Called when a CfnResource does not pass the compliance check for a given rule and the rule violation is suppressed by the user.
+
+###### `data`Required
+
+- *Type:* NagLoggerSuppressedData
+
+---
+
+##### `onSuppressedError`
+
+```typescript
+public onSuppressedError(data: NagLoggerSuppressedErrorData): void
+```
+
+Called when a rule throws an error during while validating a CfnResource for compliance and the error is suppressed.
+
+###### `data`Required
+
+- *Type:* NagLoggerSuppressedErrorData
+
+---
+
+
+### INagSuppressionIgnore
+
+- *Implemented By:* SuppressionIgnoreAlways, SuppressionIgnoreAnd, SuppressionIgnoreErrors, SuppressionIgnoreNever, SuppressionIgnoreOr, INagSuppressionIgnore
+
+Interface for creating NagSuppression Ignores.
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| createMessage
| *No description.* |
+
+---
+
+##### `createMessage`
+
+```typescript
+public createMessage(input: SuppressionIgnoreInput): string
+```
+
+###### `input`Required
+
+- *Type:* SuppressionIgnoreInput
+
+---
+
+
+## Enums
+
+### NagMessageLevel
+
+The severity level of the rule.
+
+#### Members
+
+| **Name** | **Description** |
+| --- | --- |
+| WARN
| *No description.* |
+| ERROR
| *No description.* |
+
+---
+
+##### `WARN`
+
+---
+
+
+##### `ERROR`
+
+---
+
+
+### NagReportFormat
+
+Possible output formats of the NagReport.
+
+#### Members
+
+| **Name** | **Description** |
+| --- | --- |
+| CSV
| *No description.* |
+| JSON
| *No description.* |
+
+---
+
+##### `CSV`
+
+---
+
+
+##### `JSON`
+
+---
+
+
+### NagRuleCompliance
+
+The compliance level of a resource in relation to a rule.
+
+#### Members
+
+| **Name** | **Description** |
+| --- | --- |
+| COMPLIANT
| *No description.* |
+| NON_COMPLIANT
| *No description.* |
+| NOT_APPLICABLE
| *No description.* |
+
+---
+
+##### `COMPLIANT`
+
+---
+
+
+##### `NON_COMPLIANT`
+
+---
+
+
+##### `NOT_APPLICABLE`
+
+---
+
+
+### NagRulePostValidationStates
+
+Additional states a rule can be in post compliance validation.
+
+#### Members
+
+| **Name** | **Description** |
+| --- | --- |
+| SUPPRESSED
| *No description.* |
+| UNKNOWN
| *No description.* |
+
+---
+
+##### `SUPPRESSED`
+
+---
-Additional states a rule can be in post compliance validation.
-Name | Description
------|-----
-**SUPPRESSED** |
-**UNKNOWN** |
+##### `UNKNOWN`
+---
diff --git a/package.json b/package.json
index 9952cbfb74..7d2c9bfa0c 100644
--- a/package.json
+++ b/package.json
@@ -46,6 +46,7 @@
"@typescript-eslint/eslint-plugin": "^7",
"@typescript-eslint/parser": "^7",
"aws-cdk-lib": "2.116.0",
+ "commit-and-tag-version": "^12",
"constructs": "10.0.5",
"eslint": "^8",
"eslint-config-prettier": "^8.10.0",
@@ -56,12 +57,11 @@
"jest-junit": "^15",
"jsii": "1.x",
"jsii-diff": "^1.102.0",
- "jsii-docgen": "^1.8.110",
+ "jsii-docgen": "^10.5.0",
"jsii-pacmak": "^1.102.0",
"jsii-rosetta": "1.x",
"prettier": "^2.8.8",
- "projen": "^0.86.0",
- "standard-version": "^9",
+ "projen": "^0.86.4",
"ts-jest": "^27",
"typescript": "^4.9.5"
},
diff --git a/yarn.lock b/yarn.lock
index af9277b759..a8d5b65a4a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -617,7 +617,7 @@
chalk "^4.1.2"
semver "^7.6.3"
-"@jsii/spec@1.102.0", "@jsii/spec@^1.102.0", "@jsii/spec@^1.30.0":
+"@jsii/spec@1.102.0", "@jsii/spec@^1.102.0":
version "1.102.0"
resolved "https://registry.yarnpkg.com/@jsii/spec/-/spec-1.102.0.tgz#3f9cfcd44e4358ba7259730452e89b2111918524"
integrity sha512-/VcmoEyp7HR0xoFz47/fiyZjAv+0gHG4ZwTbgB+umbB88bTbLZadnqBL7T9OIKQbK4w8HNOaRnHwjNBIYIPxWQ==
@@ -900,7 +900,7 @@
resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99"
integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==
-JSONStream@^1.0.4:
+JSONStream@^1.3.5:
version "1.3.5"
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
@@ -953,6 +953,13 @@ agent-base@6:
dependencies:
debug "4"
+agent-base@^7.0.2, agent-base@^7.1.0:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317"
+ integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==
+ dependencies:
+ debug "^4.3.4"
+
ajv@^6.12.4:
version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
@@ -1442,6 +1449,28 @@ comment-json@4.2.2:
has-own-prop "^2.0.0"
repeat-string "^1.6.1"
+commit-and-tag-version@^12:
+ version "12.4.2"
+ resolved "https://registry.yarnpkg.com/commit-and-tag-version/-/commit-and-tag-version-12.4.2.tgz#98cc351a7dc58bcc14908f17952a7f0606004413"
+ integrity sha512-K8EPV/vRM+PZCFqu1anHUyxPt8Q9dUUHU4WRE9a2GcHYfZPgu2GGKLxI018W/y+EZ7AbV0/P7QrLn5/lpcRyAg==
+ dependencies:
+ chalk "^2.4.2"
+ conventional-changelog "4.0.0"
+ conventional-changelog-config-spec "2.1.0"
+ conventional-changelog-conventionalcommits "6.1.0"
+ conventional-recommended-bump "7.0.1"
+ detect-indent "^6.0.0"
+ detect-newline "^3.1.0"
+ dotgitignore "^2.1.0"
+ figures "^3.1.0"
+ find-up "^5.0.0"
+ git-semver-tags "^5.0.0"
+ jsdom "^24.1.1"
+ semver "^7.6.3"
+ w3c-xmlserializer "^5.0.0"
+ yaml "^2.4.1"
+ yargs "^17.7.2"
+
commonmark@^0.31.1:
version "0.31.1"
resolved "https://registry.yarnpkg.com/commonmark/-/commonmark-0.31.1.tgz#5c8b1b5eaaca00a0912cad68d1f0f00c836cecd3"
@@ -1484,168 +1513,144 @@ constructs@^10.0.0:
resolved "https://registry.yarnpkg.com/constructs/-/constructs-10.3.0.tgz#4c246fce9cf8e77711ad45944e9fbd41f1501965"
integrity sha512-vbK8i3rIb/xwZxSpTjz3SagHn1qq9BChLEfy5Hf6fB3/2eFbrwt2n9kHwQcS0CPTRBesreeAcsJfMq2229FnbQ==
-conventional-changelog-angular@^5.0.12:
- version "5.0.13"
- resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c"
- integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==
+conventional-changelog-angular@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-6.0.0.tgz#a9a9494c28b7165889144fd5b91573c4aa9ca541"
+ integrity sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==
dependencies:
compare-func "^2.0.0"
- q "^1.5.1"
-conventional-changelog-atom@^2.0.8:
- version "2.0.8"
- resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz#a759ec61c22d1c1196925fca88fe3ae89fd7d8de"
- integrity sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==
- dependencies:
- q "^1.5.1"
+conventional-changelog-atom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-3.0.0.tgz#32de463a29db773de15382c96acda47930d3d24d"
+ integrity sha512-pnN5bWpH+iTUWU3FaYdw5lJmfWeqSyrUkG+wyHBI9tC1dLNnHkbAOg1SzTQ7zBqiFrfo55h40VsGXWMdopwc5g==
-conventional-changelog-codemirror@^2.0.8:
- version "2.0.8"
- resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz#398e9530f08ce34ec4640af98eeaf3022eb1f7dc"
- integrity sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==
- dependencies:
- q "^1.5.1"
+conventional-changelog-codemirror@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-3.0.0.tgz#6d5a4c67713346a9ebbcfb6336b3269ce8ddceeb"
+ integrity sha512-wzchZt9HEaAZrenZAUUHMCFcuYzGoZ1wG/kTRMICxsnW5AXohYMRxnyecP9ob42Gvn5TilhC0q66AtTPRSNMfw==
conventional-changelog-config-spec@2.1.0, conventional-changelog-config-spec@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz#874a635287ef8b581fd8558532bf655d4fb59f2d"
integrity sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==
-conventional-changelog-conventionalcommits@4.6.3, conventional-changelog-conventionalcommits@^4.5.0:
- version "4.6.3"
- resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz#0765490f56424b46f6cb4db9135902d6e5a36dc2"
- integrity sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==
+conventional-changelog-conventionalcommits@6.1.0, conventional-changelog-conventionalcommits@^6.0.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-6.1.0.tgz#3bad05f4eea64e423d3d90fc50c17d2c8cf17652"
+ integrity sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==
dependencies:
compare-func "^2.0.0"
- lodash "^4.17.15"
- q "^1.5.1"
-conventional-changelog-core@^4.2.1:
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f"
- integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==
+conventional-changelog-core@^5.0.0:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-5.0.2.tgz#78dbe6c346162be4132b7890668d3e860cad2d08"
+ integrity sha512-RhQOcDweXNWvlRwUDCpaqXzbZemKPKncCWZG50Alth72WITVd6nhVk9MJ6w1k9PFNBcZ3YwkdkChE+8+ZwtUug==
dependencies:
add-stream "^1.0.0"
- conventional-changelog-writer "^5.0.0"
- conventional-commits-parser "^3.2.0"
- dateformat "^3.0.0"
- get-pkg-repo "^4.0.0"
- git-raw-commits "^2.0.8"
+ conventional-changelog-writer "^6.0.0"
+ conventional-commits-parser "^4.0.0"
+ dateformat "^3.0.3"
+ get-pkg-repo "^4.2.1"
+ git-raw-commits "^3.0.0"
git-remote-origin-url "^2.0.0"
- git-semver-tags "^4.1.1"
- lodash "^4.17.15"
- normalize-package-data "^3.0.0"
- q "^1.5.1"
+ git-semver-tags "^5.0.0"
+ normalize-package-data "^3.0.3"
read-pkg "^3.0.0"
read-pkg-up "^3.0.0"
- through2 "^4.0.0"
-conventional-changelog-ember@^2.0.9:
- version "2.0.9"
- resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz#619b37ec708be9e74a220f4dcf79212ae1c92962"
- integrity sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==
- dependencies:
- q "^1.5.1"
+conventional-changelog-ember@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-3.0.0.tgz#8a02adc12f87285195dda43b573b7c0d1a1b266c"
+ integrity sha512-7PYthCoSxIS98vWhVcSphMYM322OxptpKAuHYdVspryI0ooLDehRXWeRWgN+zWSBXKl/pwdgAg8IpLNSM1/61A==
-conventional-changelog-eslint@^3.0.9:
- version "3.0.9"
- resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz#689bd0a470e02f7baafe21a495880deea18b7cdb"
- integrity sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==
- dependencies:
- q "^1.5.1"
+conventional-changelog-eslint@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-4.0.0.tgz#cdcaee9bc14ffc97540ecef6771c472e54f3d75e"
+ integrity sha512-nEZ9byP89hIU0dMx37JXQkE1IpMmqKtsaR24X7aM3L6Yy/uAtbb+ogqthuNYJkeO1HyvK7JsX84z8649hvp43Q==
-conventional-changelog-express@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz#420c9d92a347b72a91544750bffa9387665a6ee8"
- integrity sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==
- dependencies:
- q "^1.5.1"
+conventional-changelog-express@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-3.0.0.tgz#25bee76f7d11df45b42bd5580228b1f94c77a64f"
+ integrity sha512-HqxihpUMfIuxvlPvC6HltA4ZktQEUan/v3XQ77+/zbu8No/fqK3rxSZaYeHYant7zRxQNIIli7S+qLS9tX9zQA==
-conventional-changelog-jquery@^3.0.11:
- version "3.0.11"
- resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz#d142207400f51c9e5bb588596598e24bba8994bf"
- integrity sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==
- dependencies:
- q "^1.5.1"
+conventional-changelog-jquery@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-4.0.0.tgz#bbfea102b8ea66a781e245d43ead0608842ae326"
+ integrity sha512-TTIN5CyzRMf8PUwyy4IOLmLV2DFmPtasKN+x7EQKzwSX8086XYwo+NeaeA3VUT8bvKaIy5z/JoWUvi7huUOgaw==
-conventional-changelog-jshint@^2.0.9:
- version "2.0.9"
- resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz#f2d7f23e6acd4927a238555d92c09b50fe3852ff"
- integrity sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==
+conventional-changelog-jshint@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-3.0.0.tgz#a1743e77ffdee03b704af6faa199520d3a90a868"
+ integrity sha512-bQof4byF4q+n+dwFRkJ/jGf9dCNUv4/kCDcjeCizBvfF81TeimPZBB6fT4HYbXgxxfxWXNl/i+J6T0nI4by6DA==
dependencies:
compare-func "^2.0.0"
- q "^1.5.1"
-conventional-changelog-preset-loader@^2.3.4:
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c"
- integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==
+conventional-changelog-preset-loader@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-3.0.0.tgz#14975ef759d22515d6eabae6396c2ae721d4c105"
+ integrity sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA==
-conventional-changelog-writer@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz#e0757072f045fe03d91da6343c843029e702f359"
- integrity sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==
+conventional-changelog-writer@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-6.0.1.tgz#d8d3bb5e1f6230caed969dcc762b1c368a8f7b01"
+ integrity sha512-359t9aHorPw+U+nHzUXHS5ZnPBOizRxfQsWT5ZDHBfvfxQOAik+yfuhKXG66CN5LEWPpMNnIMHUTCKeYNprvHQ==
dependencies:
- conventional-commits-filter "^2.0.7"
- dateformat "^3.0.0"
+ conventional-commits-filter "^3.0.0"
+ dateformat "^3.0.3"
handlebars "^4.7.7"
json-stringify-safe "^5.0.1"
- lodash "^4.17.15"
- meow "^8.0.0"
- semver "^6.0.0"
- split "^1.0.0"
- through2 "^4.0.0"
-
-conventional-changelog@3.1.25:
- version "3.1.25"
- resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.25.tgz#3e227a37d15684f5aa1fb52222a6e9e2536ccaff"
- integrity sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==
- dependencies:
- conventional-changelog-angular "^5.0.12"
- conventional-changelog-atom "^2.0.8"
- conventional-changelog-codemirror "^2.0.8"
- conventional-changelog-conventionalcommits "^4.5.0"
- conventional-changelog-core "^4.2.1"
- conventional-changelog-ember "^2.0.9"
- conventional-changelog-eslint "^3.0.9"
- conventional-changelog-express "^2.0.6"
- conventional-changelog-jquery "^3.0.11"
- conventional-changelog-jshint "^2.0.9"
- conventional-changelog-preset-loader "^2.3.4"
-
-conventional-commits-filter@^2.0.7:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3"
- integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==
+ meow "^8.1.2"
+ semver "^7.0.0"
+ split "^1.0.1"
+
+conventional-changelog@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-4.0.0.tgz#51a8d7765e5837bb29b3ef1cf395d6ef594827a9"
+ integrity sha512-JbZjwE1PzxQCvm+HUTIr+pbSekS8qdOZzMakdFyPtdkEWwFvwEJYONzjgMm0txCb2yBcIcfKDmg8xtCKTdecNQ==
+ dependencies:
+ conventional-changelog-angular "^6.0.0"
+ conventional-changelog-atom "^3.0.0"
+ conventional-changelog-codemirror "^3.0.0"
+ conventional-changelog-conventionalcommits "^6.0.0"
+ conventional-changelog-core "^5.0.0"
+ conventional-changelog-ember "^3.0.0"
+ conventional-changelog-eslint "^4.0.0"
+ conventional-changelog-express "^3.0.0"
+ conventional-changelog-jquery "^4.0.0"
+ conventional-changelog-jshint "^3.0.0"
+ conventional-changelog-preset-loader "^3.0.0"
+
+conventional-commits-filter@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-3.0.0.tgz#bf1113266151dd64c49cd269e3eb7d71d7015ee2"
+ integrity sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q==
dependencies:
lodash.ismatch "^4.4.0"
- modify-values "^1.0.0"
+ modify-values "^1.0.1"
-conventional-commits-parser@^3.2.0:
- version "3.2.4"
- resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972"
- integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==
+conventional-commits-parser@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz#02ae1178a381304839bce7cea9da5f1b549ae505"
+ integrity sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==
dependencies:
- JSONStream "^1.0.4"
+ JSONStream "^1.3.5"
is-text-path "^1.0.1"
- lodash "^4.17.15"
- meow "^8.0.0"
- split2 "^3.0.0"
- through2 "^4.0.0"
+ meow "^8.1.2"
+ split2 "^3.2.2"
-conventional-recommended-bump@6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55"
- integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==
+conventional-recommended-bump@7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-7.0.1.tgz#ec01f6c7f5d0e2491c2d89488b0d757393392424"
+ integrity sha512-Ft79FF4SlOFvX4PkwFDRnaNiIVX7YbmqGU0RwccUaiGvgp3S0a8ipR2/Qxk31vclDNM+GSdJOVs2KrsUCjblVA==
dependencies:
concat-stream "^2.0.0"
- conventional-changelog-preset-loader "^2.3.4"
- conventional-commits-filter "^2.0.7"
- conventional-commits-parser "^3.2.0"
- git-raw-commits "^2.0.8"
- git-semver-tags "^4.1.1"
- meow "^8.0.0"
- q "^1.5.1"
+ conventional-changelog-preset-loader "^3.0.0"
+ conventional-commits-filter "^3.0.0"
+ conventional-commits-parser "^4.0.0"
+ git-raw-commits "^3.0.0"
+ git-semver-tags "^5.0.0"
+ meow "^8.1.2"
convert-source-map@^1.4.0, convert-source-map@^1.6.0:
version "1.9.0"
@@ -1693,6 +1698,13 @@ cssstyle@^2.3.0:
dependencies:
cssom "~0.3.6"
+cssstyle@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-4.0.1.tgz#ef29c598a1e90125c870525490ea4f354db0660a"
+ integrity sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==
+ dependencies:
+ rrweb-cssom "^0.6.0"
+
dargs@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc"
@@ -1707,6 +1719,14 @@ data-urls@^2.0.0:
whatwg-mimetype "^2.3.0"
whatwg-url "^8.0.0"
+data-urls@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-5.0.0.tgz#2f76906bce1824429ffecb6920f45a0b30f00dde"
+ integrity sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==
+ dependencies:
+ whatwg-mimetype "^4.0.0"
+ whatwg-url "^14.0.0"
+
data-view-buffer@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2"
@@ -1739,7 +1759,7 @@ date-format@^4.0.14:
resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400"
integrity sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==
-dateformat@^3.0.0:
+dateformat@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
@@ -1776,7 +1796,7 @@ decamelize@^5.0.1:
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-5.0.1.tgz#db11a92e58c741ef339fb0a2868d8a06a9a7b1e9"
integrity sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==
-decimal.js@^10.2.1:
+decimal.js@^10.2.1, decimal.js@^10.4.3:
version "10.4.3"
resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23"
integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==
@@ -1907,6 +1927,11 @@ emoji-regex@^8.0.0:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+entities@^4.4.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
+ integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
+
entities@~3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4"
@@ -2369,6 +2394,15 @@ form-data@^3.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+form-data@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
+ integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
fs-extra@^10.1.0:
version "10.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
@@ -2462,7 +2496,7 @@ get-package-type@^0.1.0:
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
-get-pkg-repo@^4.0.0:
+get-pkg-repo@^4.2.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385"
integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==
@@ -2486,16 +2520,14 @@ get-symbol-description@^1.0.2:
es-errors "^1.3.0"
get-intrinsic "^1.2.4"
-git-raw-commits@^2.0.8:
- version "2.0.11"
- resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723"
- integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==
+git-raw-commits@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-3.0.0.tgz#5432f053a9744f67e8db03dbc48add81252cfdeb"
+ integrity sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==
dependencies:
dargs "^7.0.0"
- lodash "^4.17.15"
- meow "^8.0.0"
- split2 "^3.0.0"
- through2 "^4.0.0"
+ meow "^8.1.2"
+ split2 "^3.2.2"
git-remote-origin-url@^2.0.0:
version "2.0.0"
@@ -2505,13 +2537,13 @@ git-remote-origin-url@^2.0.0:
gitconfiglocal "^1.0.0"
pify "^2.3.0"
-git-semver-tags@^4.0.0, git-semver-tags@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780"
- integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==
+git-semver-tags@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-5.0.1.tgz#db748aa0e43d313bf38dcd68624d8443234e1c15"
+ integrity sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA==
dependencies:
- meow "^8.0.0"
- semver "^6.0.0"
+ meow "^8.1.2"
+ semver "^7.0.0"
gitconfiglocal@^1.0.0:
version "1.0.0"
@@ -2534,6 +2566,11 @@ glob-parent@^6.0.2:
dependencies:
is-glob "^4.0.3"
+glob-promise@^6.0.7:
+ version "6.0.7"
+ resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-6.0.7.tgz#6d894212c63a42e1b86d1cbb04f4582b658308e4"
+ integrity sha512-DEAe6br1w8ZF+y6KM2pzgdfhpreladtNvyNNVgSkxxkFWzXTJFXxQrJQQbAnc7kL0EUd7w5cR8u4K0P4+/q+Gw==
+
glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.2.0:
version "7.2.3"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
@@ -2546,7 +2583,7 @@ glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.2.0:
once "^1.3.0"
path-is-absolute "^1.0.0"
-glob@^8:
+glob@^8, glob@^8.1.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e"
integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==
@@ -2693,6 +2730,13 @@ html-encoding-sniffer@^2.0.1:
dependencies:
whatwg-encoding "^1.0.5"
+html-encoding-sniffer@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz#696df529a7cfd82446369dc5193e590a3735b448"
+ integrity sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==
+ dependencies:
+ whatwg-encoding "^3.1.1"
+
html-escaper@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
@@ -2707,6 +2751,14 @@ http-proxy-agent@^4.0.1:
agent-base "6"
debug "4"
+http-proxy-agent@^7.0.2:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e"
+ integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==
+ dependencies:
+ agent-base "^7.1.0"
+ debug "^4.3.4"
+
https-proxy-agent@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
@@ -2715,6 +2767,14 @@ https-proxy-agent@^5.0.0:
agent-base "6"
debug "4"
+https-proxy-agent@^7.0.5:
+ version "7.0.5"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2"
+ integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==
+ dependencies:
+ agent-base "^7.0.2"
+ debug "4"
+
human-signals@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
@@ -2727,6 +2787,13 @@ iconv-lite@0.4.24:
dependencies:
safer-buffer ">= 2.1.2 < 3"
+iconv-lite@0.6.3:
+ version "0.6.3"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
+ integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3.0.0"
+
ignore@^5.2.0, ignore@^5.3.0, ignore@^5.3.1:
version "5.3.2"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
@@ -3498,6 +3565,33 @@ jsdom@^16.6.0:
ws "^7.4.6"
xml-name-validator "^3.0.0"
+jsdom@^24.1.1:
+ version "24.1.3"
+ resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-24.1.3.tgz#88e4a07cb9dd21067514a619e9f17b090a394a9f"
+ integrity sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ==
+ dependencies:
+ cssstyle "^4.0.1"
+ data-urls "^5.0.0"
+ decimal.js "^10.4.3"
+ form-data "^4.0.0"
+ html-encoding-sniffer "^4.0.0"
+ http-proxy-agent "^7.0.2"
+ https-proxy-agent "^7.0.5"
+ is-potential-custom-element-name "^1.0.1"
+ nwsapi "^2.2.12"
+ parse5 "^7.1.2"
+ rrweb-cssom "^0.7.1"
+ saxes "^6.0.0"
+ symbol-tree "^3.2.4"
+ tough-cookie "^4.1.4"
+ w3c-xmlserializer "^5.0.0"
+ webidl-conversions "^7.0.0"
+ whatwg-encoding "^3.1.1"
+ whatwg-mimetype "^4.0.0"
+ whatwg-url "^14.0.0"
+ ws "^8.18.0"
+ xml-name-validator "^5.0.0"
+
jsesc@^2.5.1:
version "2.5.2"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
@@ -3515,14 +3609,18 @@ jsii-diff@^1.102.0:
log4js "^6.9.1"
yargs "^16.2.0"
-jsii-docgen@^1.8.110:
- version "1.8.110"
- resolved "https://registry.yarnpkg.com/jsii-docgen/-/jsii-docgen-1.8.110.tgz#83c829864db993a9479531b43e8dcb2288803c1f"
- integrity sha512-xl/A8lpOfRzG7KQqHDkWf3bveR3b0hM91CG1/eHLSpBJpvsEvCS97JkOpcCp16XEiTHrHMrnILZPPGWneFUncw==
+jsii-docgen@^10.5.0:
+ version "10.5.0"
+ resolved "https://registry.yarnpkg.com/jsii-docgen/-/jsii-docgen-10.5.0.tgz#0e9d34383800a892ca7a7cd11f8dbeab20144154"
+ integrity sha512-mgR8xrqOAUzUq3EdcF7iZGceqzFD43usWNaP7ZomeMP0mZqXi1rNSKsVHdCACZgTZgKQDIv6tVbHoIDZEGTk0w==
dependencies:
- "@jsii/spec" "^1.30.0"
- fs-extra "^9.1.0"
- jsii-reflect "^1.30.0"
+ "@jsii/spec" "^1.102.0"
+ case "^1.6.3"
+ fs-extra "^10.1.0"
+ glob "^8.1.0"
+ glob-promise "^6.0.7"
+ jsii-reflect "^1.102.0"
+ semver "^7.6.3"
yargs "^16.2.0"
jsii-pacmak@^1.102.0:
@@ -3543,7 +3641,7 @@ jsii-pacmak@^1.102.0:
xmlbuilder "^15.1.1"
yargs "^16.2.0"
-jsii-reflect@^1.102.0, jsii-reflect@^1.30.0:
+jsii-reflect@^1.102.0:
version "1.102.0"
resolved "https://registry.yarnpkg.com/jsii-reflect/-/jsii-reflect-1.102.0.tgz#4d1d3c9e2f51d157a43297d55dd61487bf61e384"
integrity sha512-Lf2l8z3HSRSyouFGpDddfheP2LznKvFDKVlUWEzO+jDnQFOJOYTv4x617Yy5JIeIa9D8f70drRelOqove6hZtQ==
@@ -3760,7 +3858,7 @@ lodash.truncate@^4.4.2:
resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==
-lodash@^4.17.15, lodash@^4.7.0:
+lodash@^4.7.0:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -3833,7 +3931,7 @@ mdurl@~1.0.1:
resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==
-meow@^8.0.0:
+meow@^8.1.2:
version "8.1.2"
resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897"
integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==
@@ -3930,7 +4028,7 @@ mkdirp@^1.0.4:
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-modify-values@^1.0.0:
+modify-values@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022"
integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==
@@ -3975,7 +4073,7 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.5.0:
semver "2 || 3 || 4 || 5"
validate-npm-package-license "^3.0.1"
-normalize-package-data@^3.0.0:
+normalize-package-data@^3.0.0, normalize-package-data@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e"
integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==
@@ -3997,7 +4095,7 @@ npm-run-path@^4.0.1:
dependencies:
path-key "^3.0.0"
-nwsapi@^2.2.0:
+nwsapi@^2.2.0, nwsapi@^2.2.12:
version "2.2.12"
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.12.tgz#fb6af5c0ec35b27b4581eb3bbad34ec9e5c696f8"
integrity sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==
@@ -4170,6 +4268,13 @@ parse5@6.0.1:
resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
+parse5@^7.1.2:
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32"
+ integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==
+ dependencies:
+ entities "^4.4.0"
+
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
@@ -4275,10 +4380,10 @@ process-nextick-args@~2.0.0:
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
-projen@^0.86.0:
- version "0.86.0"
- resolved "https://registry.yarnpkg.com/projen/-/projen-0.86.0.tgz#7141b03ac6837dc7f902ffe08558424f74fefe1c"
- integrity sha512-7iqeGd2FdTInE/PVuWFZzjOqsQL8dLDdn54H3mK5CIYQqu9EAjrdMqDOHFZjDrNUz2bbau74jWCQW4tasAznOQ==
+projen@^0.86.4:
+ version "0.86.4"
+ resolved "https://registry.yarnpkg.com/projen/-/projen-0.86.4.tgz#dd4b0af35f04f96fbd8c10c1a70e748e029fb460"
+ integrity sha512-kUKEEhNzCN5ZBkj9xzUzdP9X1TFNlWWRQJTeEeq0nFSaue6StmHyNG2yHvoEO/c2tqz1Sc07+B/dC8VC+19C/Q==
dependencies:
"@iarna/toml" "^2.2.5"
case "^1.6.3"
@@ -4313,11 +4418,6 @@ punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.1:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
-q@^1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
- integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
-
querystringify@^2.1.1:
version "2.2.0"
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
@@ -4374,7 +4474,7 @@ read-pkg@^5.2.0:
parse-json "^5.0.0"
type-fest "^0.6.0"
-readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2:
+readable-stream@^3.0.0, readable-stream@^3.0.2:
version "3.6.2"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
@@ -4489,6 +4589,16 @@ rimraf@^3.0.0, rimraf@^3.0.2:
dependencies:
glob "^7.1.3"
+rrweb-cssom@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1"
+ integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==
+
+rrweb-cssom@^0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz#c73451a484b86dd7cfb1e0b2898df4b703183e4b"
+ integrity sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==
+
run-parallel@^1.1.9:
version "1.2.0"
resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
@@ -4525,7 +4635,7 @@ safe-regex-test@^1.0.3:
es-errors "^1.3.0"
is-regex "^1.1.4"
-"safer-buffer@>= 2.1.2 < 3":
+"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0":
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
@@ -4537,6 +4647,13 @@ saxes@^5.0.1:
dependencies:
xmlchars "^2.2.0"
+saxes@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5"
+ integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==
+ dependencies:
+ xmlchars "^2.2.0"
+
semver-intersect@^1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/semver-intersect/-/semver-intersect-1.5.0.tgz#bb3aa0ea504935410d34cf15f49818d56906bd48"
@@ -4549,12 +4666,12 @@ semver-intersect@^1.5.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-semver@7.x, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3:
+semver@7.x, semver@^7.0.0, semver@^7.3.2, semver@^7.3.4, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3:
version "7.6.3"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
-semver@^6.0.0, semver@^6.3.0, semver@^6.3.1:
+semver@^6.3.0, semver@^6.3.1:
version "6.3.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
@@ -4702,14 +4819,14 @@ spdx-license-list@^6.9.0:
resolved "https://registry.yarnpkg.com/spdx-license-list/-/spdx-license-list-6.9.0.tgz#5543abb3a15f985a12808f642a622d2721c372ad"
integrity sha512-L2jl5vc2j6jxWcNCvcVj/BW9A8yGIG02Dw+IUw0ZxDM70f7Ylf5Hq39appV1BI9yxyWQRpq2TQ1qaXvf+yjkqA==
-split2@^3.0.0:
+split2@^3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f"
integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==
dependencies:
readable-stream "^3.0.0"
-split@^1.0.0:
+split@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==
@@ -4728,26 +4845,6 @@ stack-utils@^2.0.3:
dependencies:
escape-string-regexp "^2.0.0"
-standard-version@^9:
- version "9.5.0"
- resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-9.5.0.tgz#851d6dcddf5320d5079601832aeb185dbf497949"
- integrity sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q==
- dependencies:
- chalk "^2.4.2"
- conventional-changelog "3.1.25"
- conventional-changelog-config-spec "2.1.0"
- conventional-changelog-conventionalcommits "4.6.3"
- conventional-recommended-bump "6.1.0"
- detect-indent "^6.0.0"
- detect-newline "^3.1.0"
- dotgitignore "^2.1.0"
- figures "^3.1.0"
- find-up "^5.0.0"
- git-semver-tags "^4.0.0"
- semver "^7.1.1"
- stringify-package "^1.0.1"
- yargs "^16.0.0"
-
stream-chain@^2.2.5:
version "2.2.5"
resolved "https://registry.yarnpkg.com/stream-chain/-/stream-chain-2.2.5.tgz#b30967e8f14ee033c5b9a19bbe8a2cba90ba0d09"
@@ -4828,11 +4925,6 @@ string_decoder@~1.1.1:
dependencies:
safe-buffer "~5.1.0"
-stringify-package@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.1.tgz#e5aa3643e7f74d0f28628b72f3dad5cecfc3ba85"
- integrity sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==
-
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
@@ -4957,13 +5049,6 @@ through2@^2.0.0:
readable-stream "~2.3.6"
xtend "~4.0.1"
-through2@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764"
- integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==
- dependencies:
- readable-stream "3"
-
through@2, "through@>=2.2.7 <3":
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
@@ -4986,7 +5071,7 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
-tough-cookie@^4.0.0:
+tough-cookie@^4.0.0, tough-cookie@^4.1.4:
version "4.1.4"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36"
integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==
@@ -5003,6 +5088,13 @@ tr46@^2.1.0:
dependencies:
punycode "^2.1.1"
+tr46@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-5.0.0.tgz#3b46d583613ec7283020d79019f1335723801cec"
+ integrity sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==
+ dependencies:
+ punycode "^2.3.1"
+
trim-newlines@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
@@ -5239,6 +5331,13 @@ w3c-xmlserializer@^2.0.0:
dependencies:
xml-name-validator "^3.0.0"
+w3c-xmlserializer@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz#f925ba26855158594d907313cedd1476c5967f6c"
+ integrity sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==
+ dependencies:
+ xml-name-validator "^5.0.0"
+
walker@^1.0.7:
version "1.0.8"
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
@@ -5256,6 +5355,11 @@ webidl-conversions@^6.1.0:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
+webidl-conversions@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
+ integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==
+
whatwg-encoding@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
@@ -5263,11 +5367,31 @@ whatwg-encoding@^1.0.5:
dependencies:
iconv-lite "0.4.24"
+whatwg-encoding@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz#d0f4ef769905d426e1688f3e34381a99b60b76e5"
+ integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==
+ dependencies:
+ iconv-lite "0.6.3"
+
whatwg-mimetype@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
+whatwg-mimetype@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz#bc1bf94a985dc50388d54a9258ac405c3ca2fc0a"
+ integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==
+
+whatwg-url@^14.0.0:
+ version "14.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-14.0.0.tgz#00baaa7fd198744910c4b1ef68378f2200e4ceb6"
+ integrity sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==
+ dependencies:
+ tr46 "^5.0.0"
+ webidl-conversions "^7.0.0"
+
whatwg-url@^8.0.0, whatwg-url@^8.5.0:
version "8.7.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77"
@@ -5350,11 +5474,21 @@ ws@^7.4.6:
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9"
integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==
+ws@^8.18.0:
+ version "8.18.0"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc"
+ integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==
+
xml-name-validator@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
+xml-name-validator@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-5.0.0.tgz#82be9b957f7afdacf961e5980f1bf227c0bf7673"
+ integrity sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==
+
xml@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5"
@@ -5405,7 +5539,7 @@ yaml@1.10.2:
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
-yaml@^2.2.2:
+yaml@^2.2.2, yaml@^2.4.1:
version "2.5.0"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.0.tgz#c6165a721cf8000e91c36490a41d7be25176cf5d"
integrity sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==
@@ -5420,7 +5554,7 @@ yargs-parser@^21.1.1:
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
-yargs@^16.0.0, yargs@^16.2.0:
+yargs@^16.2.0:
version "16.2.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==