From 09f236efd90f02141f37e67898642de89ddbfccb Mon Sep 17 00:00:00 2001 From: Daniel Neilson <53624638+ddneilson@users.noreply.github.com> Date: Fri, 28 Aug 2020 16:50:37 -0500 Subject: [PATCH] chore(deps): Bulk update of all dependencies (#104) --- .github/dependabot.yml | 2 +- build.sh | 2 +- .../python/setup.py | 2 +- .../ts/package.json | 10 +- integ/package.json | 68 +- lambda-layers/package.json | 6 +- package.json | 124 +- .../aws-rfdk/lib/core/lib/cloudwatch-agent.ts | 2 - .../lib/core/lib/exporting-log-group.ts | 2 - .../aws-rfdk/lib/core/lib/health-monitor.ts | 17 +- .../lib/core/lib/imported-acm-certificate.ts | 8 +- .../lib/core/lib/mongodb-installer.ts | 2 - .../aws-rfdk/lib/core/lib/mongodb-instance.ts | 2 - .../lib/core/lib/mongodb-post-install.ts | 2 - .../aws-rfdk/lib/core/lib/runtime-info.ts | 4 +- .../aws-rfdk/lib/core/lib/script-assets.ts | 2 - .../aws-rfdk/lib/core/lib/staticip-server.ts | 6 +- .../aws-rfdk/lib/core/lib/x509-certificate.ts | 4 - .../lib/core/test/mongodb-instance.test.ts | 2 +- .../lib/core/test/mountable-ebs.test.ts | 2 +- .../lib/core/test/x509-certificate.test.ts | 32 +- .../lib/deadline/lib/database-connection.ts | 4 - .../aws-rfdk/lib/deadline/lib/render-queue.ts | 2 - .../aws-rfdk/lib/deadline/lib/repository.ts | 6 +- .../lib/deadline/lib/usage-based-licensing.ts | 2 - .../aws-rfdk/lib/deadline/lib/worker-fleet.ts | 17 +- .../lib/deadline/test/render-queue.test.ts | 27 +- .../lib/deadline/test/repository.test.ts | 2 +- packages/aws-rfdk/package.json | 216 +- scripts/generate-aggregate-tsconfig.sh | 2 +- tools/awslint/.gitignore | 95 - tools/awslint/.npmignore | 5 - tools/awslint/LICENSE | 201 - tools/awslint/NOTICE | 2 - tools/awslint/README.md | 130 - tools/awslint/bin/awslint | 2 - tools/awslint/bin/awslint.ts | 265 - tools/awslint/lib/index.ts | 2 - tools/awslint/lib/linter.ts | 333 -- tools/awslint/lib/rules/api.ts | 145 - tools/awslint/lib/rules/attributes.ts | 37 - tools/awslint/lib/rules/cfn-resource.ts | 86 - tools/awslint/lib/rules/cloudwatch-events.ts | 75 - tools/awslint/lib/rules/construct.ts | 278 - tools/awslint/lib/rules/core-types.ts | 142 - tools/awslint/lib/rules/docs.ts | 117 - tools/awslint/lib/rules/durations.ts | 51 - tools/awslint/lib/rules/exports.ts | 13 - tools/awslint/lib/rules/imports.ts | 113 - tools/awslint/lib/rules/index.ts | 32 - tools/awslint/lib/rules/integrations.ts | 32 - tools/awslint/lib/rules/module.ts | 41 - tools/awslint/lib/rules/no-unused-type.ts | 85 - .../lib/rules/public-static-properties.ts | 25 - tools/awslint/lib/rules/resource.ts | 279 - tools/awslint/lib/rules/util.ts | 45 - tools/awslint/load.sh | 32 - tools/awslint/package.json | 55 - tools/awslint/tsconfig.json | 20 - tools/cdk-build-tools/config/eslintrc.js | 2 +- tools/cdk-build-tools/package.json | 22 +- tools/pkglint/lib/rules.ts | 2 +- tools/pkglint/package.json | 10 +- yarn.lock | 4620 +++++++---------- 64 files changed, 2104 insertions(+), 5869 deletions(-) delete mode 100644 tools/awslint/.gitignore delete mode 100644 tools/awslint/.npmignore delete mode 100644 tools/awslint/LICENSE delete mode 100644 tools/awslint/NOTICE delete mode 100644 tools/awslint/README.md delete mode 100755 tools/awslint/bin/awslint delete mode 100644 tools/awslint/bin/awslint.ts delete mode 100644 tools/awslint/lib/index.ts delete mode 100644 tools/awslint/lib/linter.ts delete mode 100644 tools/awslint/lib/rules/api.ts delete mode 100644 tools/awslint/lib/rules/attributes.ts delete mode 100644 tools/awslint/lib/rules/cfn-resource.ts delete mode 100644 tools/awslint/lib/rules/cloudwatch-events.ts delete mode 100644 tools/awslint/lib/rules/construct.ts delete mode 100644 tools/awslint/lib/rules/core-types.ts delete mode 100644 tools/awslint/lib/rules/docs.ts delete mode 100644 tools/awslint/lib/rules/durations.ts delete mode 100644 tools/awslint/lib/rules/exports.ts delete mode 100644 tools/awslint/lib/rules/imports.ts delete mode 100644 tools/awslint/lib/rules/index.ts delete mode 100644 tools/awslint/lib/rules/integrations.ts delete mode 100644 tools/awslint/lib/rules/module.ts delete mode 100644 tools/awslint/lib/rules/no-unused-type.ts delete mode 100644 tools/awslint/lib/rules/public-static-properties.ts delete mode 100644 tools/awslint/lib/rules/resource.ts delete mode 100644 tools/awslint/lib/rules/util.ts delete mode 100644 tools/awslint/load.sh delete mode 100644 tools/awslint/package.json delete mode 100644 tools/awslint/tsconfig.json diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 06823d824..8af86612d 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -14,7 +14,7 @@ updates: - dependency-name: "@types/node" versions: ">=11.0.0-0" - dependency-name: "constructs" - versions: ">=3.0.2" + versions: ">=3.0.4" - dependency-name: "@aws-cdk/*" commit-message: prefix: "chore(deps):" diff --git a/build.sh b/build.sh index 43f761efc..ed069e786 100755 --- a/build.sh +++ b/build.sh @@ -48,6 +48,6 @@ rm -rf $BUILD_INDICATOR echo "=============================================================================================" echo "building..." -time lerna run $bail --stream $runtarget || fail +time lerna run $bail --stream $runtarget --ignore 'all-in-farm**' || fail touch $BUILD_INDICATOR diff --git a/examples/deadline/All-In-AWS-Infrastructure-Basic/python/setup.py b/examples/deadline/All-In-AWS-Infrastructure-Basic/python/setup.py index 3aeea95c6..2702c0076 100644 --- a/examples/deadline/All-In-AWS-Infrastructure-Basic/python/setup.py +++ b/examples/deadline/All-In-AWS-Infrastructure-Basic/python/setup.py @@ -18,7 +18,7 @@ install_requires=[ "aws-cdk.core==1.57.0", - "aws-rfdk==0.16.0" + "aws-rfdk==0.17.0" ], python_requires=">=3.7", diff --git a/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/package.json b/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/package.json index 0582f2871..754772fe8 100644 --- a/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/package.json +++ b/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/package.json @@ -18,14 +18,14 @@ "watch": "tsc -w" }, "devDependencies": { - "@types/node": "10.17.5", - "aws-cdk": "1.57.0", - "ts-node": "^8.1.0", - "typescript": "^3.8.3" + "@types/node": "^14.6.1", + "aws-cdk": "1.61.1", + "ts-node": "^9.0.0", + "typescript": "~3.9.7" }, "dependencies": { "@aws-cdk/core": "1.57.0", "aws-rfdk": "0.17.0", - "source-map-support": "^0.5.16" + "source-map-support": "^0.5.19" } } diff --git a/integ/package.json b/integ/package.json index b99a4192c..a15d4a6ed 100644 --- a/integ/package.json +++ b/integ/package.json @@ -54,50 +54,50 @@ "pkglint": "pkglint -f" }, "devDependencies": { - "@aws-cdk/assert": "1.57.0", - "@types/jest": "^26.0.4", - "@types/node": "^14.0.14", - "@typescript-eslint/eslint-plugin": "^3.5.0", - "@typescript-eslint/parser": "^3.5.0", - "aws-cdk": "1.57.0", - "eslint": "^7.4.0", + "@aws-cdk/assert": "1.61.1", + "@types/jest": "^26.0.10", + "@types/node": "^14.6.1", + "@typescript-eslint/eslint-plugin": "^3.10.1", + "@typescript-eslint/parser": "^3.10.1", + "aws-cdk": "1.61.1", + "eslint": "^7.7.0", "eslint-import-resolver-node": "^0.3.4", - "eslint-import-resolver-typescript": "^2.0.0", + "eslint-import-resolver-typescript": "^2.2.1", "eslint-plugin-import": "^2.22.0", "eslint-plugin-license-header": "^0.2.0", - "jest": "^26.1.0", + "jest": "^26.4.2", "pkglint": "0.17.0", - "ts-jest": "^26.1.3" + "ts-jest": "^26.2.0" }, "dependencies": { - "@aws-cdk/aws-docdb": "1.57.0", - "@aws-cdk/aws-ec2": "1.57.0", - "@aws-cdk/aws-efs": "1.57.0", - "@aws-cdk/aws-elasticloadbalancingv2": "1.57.0", - "@aws-cdk/aws-iam": "1.57.0", - "@aws-cdk/aws-logs": "1.57.0", - "@aws-cdk/aws-route53": "1.57.0", - "@aws-cdk/aws-s3": "1.57.0", - "@aws-cdk/aws-s3-assets": "1.57.0", - "@aws-cdk/aws-secretsmanager": "1.57.0", - "@aws-cdk/core": "1.57.0", + "@aws-cdk/aws-docdb": "1.61.1", + "@aws-cdk/aws-ec2": "1.61.1", + "@aws-cdk/aws-efs": "1.61.1", + "@aws-cdk/aws-elasticloadbalancingv2": "1.61.1", + "@aws-cdk/aws-iam": "1.61.1", + "@aws-cdk/aws-logs": "1.61.1", + "@aws-cdk/aws-route53": "1.61.1", + "@aws-cdk/aws-s3": "1.61.1", + "@aws-cdk/aws-s3-assets": "1.61.1", + "@aws-cdk/aws-secretsmanager": "1.61.1", + "@aws-cdk/core": "1.61.1", "aws-rfdk": "0.17.0", - "aws-sdk": "^2.709.0" + "aws-sdk": "^2.741.0" }, "peerDependencies": { - "@aws-cdk/aws-docdb": "1.57.0", - "@aws-cdk/aws-ec2": "1.57.0", - "@aws-cdk/aws-efs": "1.57.0", - "@aws-cdk/aws-elasticloadbalancingv2": "1.57.0", - "@aws-cdk/aws-iam": "1.57.0", - "@aws-cdk/aws-logs": "1.57.0", - "@aws-cdk/aws-route53": "1.57.0", - "@aws-cdk/aws-s3": "1.57.0", - "@aws-cdk/aws-s3-assets": "1.57.0", - "@aws-cdk/aws-secretsmanager": "1.57.0", - "@aws-cdk/core": "1.57.0", + "@aws-cdk/aws-docdb": "1.61.1", + "@aws-cdk/aws-ec2": "1.61.1", + "@aws-cdk/aws-efs": "1.61.1", + "@aws-cdk/aws-elasticloadbalancingv2": "1.61.1", + "@aws-cdk/aws-iam": "1.61.1", + "@aws-cdk/aws-logs": "1.61.1", + "@aws-cdk/aws-route53": "1.61.1", + "@aws-cdk/aws-s3": "1.61.1", + "@aws-cdk/aws-s3-assets": "1.61.1", + "@aws-cdk/aws-secretsmanager": "1.61.1", + "@aws-cdk/core": "1.61.1", "aws-rfdk": "0.17.0", - "aws-sdk": "^2.709.0" + "aws-sdk": "^2.741.0" }, "engines": { "node": ">= 10.13.0 <13 || >=13.7.0" diff --git a/lambda-layers/package.json b/lambda-layers/package.json index bd6aef15e..001840e48 100644 --- a/lambda-layers/package.json +++ b/lambda-layers/package.json @@ -29,10 +29,10 @@ "stability": "stable", "maturity": "stable", "devDependencies": { - "@types/node": "^14.0.12", - "typescript": "~3.9.6" + "@types/node": "^14.6.1", + "typescript": "~3.9.7" }, "dependencies": { - "aws-sdk": "^2.693.0" + "aws-sdk": "^2.741.0" } } diff --git a/package.json b/package.json index 22e2f612a..496d79fa7 100644 --- a/package.json +++ b/package.json @@ -26,75 +26,75 @@ } }, "devDependencies": { - "@aws-cdk/assets": "1.57.0", - "@aws-cdk/aws-apigateway": "1.57.0", - "@aws-cdk/aws-applicationautoscaling": "1.57.0", - "@aws-cdk/aws-autoscaling": "1.57.0", - "@aws-cdk/aws-autoscaling-common": "1.57.0", - "@aws-cdk/aws-autoscaling-hooktargets": "1.57.0", - "@aws-cdk/aws-batch": "1.57.0", - "@aws-cdk/aws-certificatemanager": "1.57.0", - "@aws-cdk/aws-cloudformation": "1.57.0", - "@aws-cdk/aws-cloudfront": "1.57.0", - "@aws-cdk/aws-cloudwatch": "1.57.0", - "@aws-cdk/aws-cloudwatch-actions": "1.57.0", - "@aws-cdk/aws-codebuild": "1.57.0", - "@aws-cdk/aws-codecommit": "1.57.0", - "@aws-cdk/aws-codeguruprofiler": "1.57.0", - "@aws-cdk/aws-codepipeline": "1.57.0", - "@aws-cdk/aws-cognito": "1.57.0", - "@aws-cdk/aws-docdb": "1.57.0", - "@aws-cdk/aws-dynamodb": "1.57.0", - "@aws-cdk/aws-ec2": "1.57.0", - "@aws-cdk/aws-ecr": "1.57.0", - "@aws-cdk/aws-ecr-assets": "1.57.0", - "@aws-cdk/aws-ecs": "1.57.0", - "@aws-cdk/aws-ecs-patterns": "1.57.0", - "@aws-cdk/aws-efs": "1.57.0", - "@aws-cdk/aws-elasticloadbalancing": "1.57.0", - "@aws-cdk/aws-elasticloadbalancingv2": "1.57.0", - "@aws-cdk/aws-events": "1.57.0", - "@aws-cdk/aws-events-targets": "1.57.0", - "@aws-cdk/aws-iam": "1.57.0", - "@aws-cdk/aws-kinesis": "1.57.0", - "@aws-cdk/aws-kms": "1.57.0", - "@aws-cdk/aws-lambda": "1.57.0", - "@aws-cdk/aws-logs": "1.57.0", - "@aws-cdk/aws-route53": "1.57.0", - "@aws-cdk/aws-route53-targets": "1.57.0", - "@aws-cdk/aws-s3": "1.57.0", - "@aws-cdk/aws-s3-assets": "1.57.0", - "@aws-cdk/aws-sam": "1.57.0", - "@aws-cdk/aws-secretsmanager": "1.57.0", - "@aws-cdk/aws-servicediscovery": "1.57.0", - "@aws-cdk/aws-sns": "1.57.0", - "@aws-cdk/aws-sns-subscriptions": "1.57.0", - "@aws-cdk/aws-sqs": "1.57.0", - "@aws-cdk/aws-ssm": "1.57.0", - "@aws-cdk/aws-stepfunctions": "1.57.0", - "@aws-cdk/cloud-assembly-schema": "1.57.0", - "@aws-cdk/core": "1.57.0", - "@aws-cdk/custom-resources": "1.57.0", - "@aws-cdk/cx-api": "1.57.0", - "@aws-cdk/region-info": "1.57.0", - "@types/jest": "^26.0.4", - "@types/node": "^14.0.14", + "@aws-cdk/assets": "1.61.1", + "@aws-cdk/aws-apigateway": "1.61.1", + "@aws-cdk/aws-applicationautoscaling": "1.61.1", + "@aws-cdk/aws-autoscaling": "1.61.1", + "@aws-cdk/aws-autoscaling-common": "1.61.1", + "@aws-cdk/aws-autoscaling-hooktargets": "1.61.1", + "@aws-cdk/aws-batch": "1.61.1", + "@aws-cdk/aws-certificatemanager": "1.61.1", + "@aws-cdk/aws-cloudformation": "1.61.1", + "@aws-cdk/aws-cloudfront": "1.61.1", + "@aws-cdk/aws-cloudwatch": "1.61.1", + "@aws-cdk/aws-cloudwatch-actions": "1.61.1", + "@aws-cdk/aws-codebuild": "1.61.1", + "@aws-cdk/aws-codecommit": "1.61.1", + "@aws-cdk/aws-codeguruprofiler": "1.61.1", + "@aws-cdk/aws-codepipeline": "1.61.1", + "@aws-cdk/aws-cognito": "1.61.1", + "@aws-cdk/aws-docdb": "1.61.1", + "@aws-cdk/aws-dynamodb": "1.61.1", + "@aws-cdk/aws-ec2": "1.61.1", + "@aws-cdk/aws-ecr": "1.61.1", + "@aws-cdk/aws-ecr-assets": "1.61.1", + "@aws-cdk/aws-ecs": "1.61.1", + "@aws-cdk/aws-ecs-patterns": "1.61.1", + "@aws-cdk/aws-efs": "1.61.1", + "@aws-cdk/aws-elasticloadbalancing": "1.61.1", + "@aws-cdk/aws-elasticloadbalancingv2": "1.61.1", + "@aws-cdk/aws-events": "1.61.1", + "@aws-cdk/aws-events-targets": "1.61.1", + "@aws-cdk/aws-iam": "1.61.1", + "@aws-cdk/aws-kinesis": "1.61.1", + "@aws-cdk/aws-kms": "1.61.1", + "@aws-cdk/aws-lambda": "1.61.1", + "@aws-cdk/aws-logs": "1.61.1", + "@aws-cdk/aws-route53": "1.61.1", + "@aws-cdk/aws-route53-targets": "1.61.1", + "@aws-cdk/aws-s3": "1.61.1", + "@aws-cdk/aws-s3-assets": "1.61.1", + "@aws-cdk/aws-sam": "1.61.1", + "@aws-cdk/aws-secretsmanager": "1.61.1", + "@aws-cdk/aws-servicediscovery": "1.61.1", + "@aws-cdk/aws-sns": "1.61.1", + "@aws-cdk/aws-sns-subscriptions": "1.61.1", + "@aws-cdk/aws-sqs": "1.61.1", + "@aws-cdk/aws-ssm": "1.61.1", + "@aws-cdk/aws-stepfunctions": "1.61.1", + "@aws-cdk/cloud-assembly-schema": "1.61.1", + "@aws-cdk/core": "1.61.1", + "@aws-cdk/custom-resources": "1.61.1", + "@aws-cdk/cx-api": "1.61.1", + "@aws-cdk/region-info": "1.61.1", + "@types/jest": "^26.0.10", + "@types/node": "^14.6.1", "@types/nodeunit": "^0.0.31", - "aws-cdk": "1.57.0", - "aws-sdk": "^2.709.0", - "constructs": "^3.0.2", - "conventional-changelog-cli": "^2.0.34", + "aws-cdk": "1.61.1", + "aws-sdk": "^2.741.0", + "constructs": "^3.0.4", + "conventional-changelog-cli": "^2.1.0", "fs-extra": "^9.0.1", - "jest": "^25.5.4", + "jest": "^26.4.2", "jsii-diff": "^1.12.0", "jsii-pacmak": "^1.12.0", - "jest-junit": "^11.0.1", + "jest-junit": "^11.1.0", "lerna": "^3.22.1", "nodeunit": "^0.11.3", "nyc": "^15.1.0", - "standard-version": "^8.0.2", - "ts-jest": "^25.5.1", - "typescript": "~3.9.6" + "standard-version": "^9.0.0", + "ts-jest": "^26.2.0", + "typescript": "~3.9.7" }, "workspaces": { "packages": [ diff --git a/packages/aws-rfdk/lib/core/lib/cloudwatch-agent.ts b/packages/aws-rfdk/lib/core/lib/cloudwatch-agent.ts index 5638cd0b6..bc40d500e 100644 --- a/packages/aws-rfdk/lib/core/lib/cloudwatch-agent.ts +++ b/packages/aws-rfdk/lib/core/lib/cloudwatch-agent.ts @@ -57,8 +57,6 @@ export interface CloudWatchAgentProps { * bucket to prevent an attacker from modifying the actions performed by these scripts. We strongly recommend that * you either enable Amazon S3 server access logging on your CDK bootstrap bucket, or enable AWS CloudTrail on your * account to assist in post-incident analysis of compromised production environments. - * - * @ResourcesDeployed */ export class CloudWatchAgent extends Construct { diff --git a/packages/aws-rfdk/lib/core/lib/exporting-log-group.ts b/packages/aws-rfdk/lib/core/lib/exporting-log-group.ts index a62e515b8..e7c9c30f4 100644 --- a/packages/aws-rfdk/lib/core/lib/exporting-log-group.ts +++ b/packages/aws-rfdk/lib/core/lib/exporting-log-group.ts @@ -74,8 +74,6 @@ export interface ExportingLogGroupProps { * We strongly recommend that you either enable Amazon S3 server access logging on your CDK bootstrap bucket, * or enable AWS CloudTrail on your account to assist in post-incident analysis of compromised production * environments. - * - * @ResourcesDeployed */ export class ExportingLogGroup extends Construct { /** diff --git a/packages/aws-rfdk/lib/core/lib/health-monitor.ts b/packages/aws-rfdk/lib/core/lib/health-monitor.ts index 15fc5929c..2a102f404 100644 --- a/packages/aws-rfdk/lib/core/lib/health-monitor.ts +++ b/packages/aws-rfdk/lib/core/lib/health-monitor.ts @@ -32,6 +32,7 @@ import { Duration, IResource, RemovalPolicy, + ResourceEnvironment, Stack, } from '@aws-cdk/core'; import {LoadBalancerFactory} from './load-balancer-manager'; @@ -212,6 +213,11 @@ abstract class HealthMonitorBase extends Construct implements IHealthMonitor { */ public abstract readonly stack: Stack; + /** + * The environment this resource belongs to. + */ + public abstract readonly env: ResourceEnvironment; + /** * Attaches the load-balancing target to the ELB for instance-level * monitoring. @@ -281,8 +287,6 @@ abstract class HealthMonitorBase extends Construct implements IHealthMonitor { * Notification Service (SNS) Topic that is created by this construct. Any principal that is able to publish notification * to this SNS Topic can cause the Lambda to execute and reduce one of your worker fleets to zero instances. You should * not grant any additional principals permissions to publish to this SNS Topic. - * - * @ResourcesDeployed */ export class HealthMonitor extends HealthMonitorBase { @@ -345,6 +349,11 @@ export class HealthMonitor extends HealthMonitorBase { */ public readonly stack: Stack; + /** + * The environment this resource belongs to. + */ + public readonly env: ResourceEnvironment; + /** * SNS topic for all unhealthy fleet notifications. This is triggered by * the grace period and hard terminations alarms for the registered fleets. @@ -364,6 +373,10 @@ export class HealthMonitor extends HealthMonitorBase { constructor(scope: Construct, id: string, props: HealthMonitorProps) { super(scope, id); this.stack = Stack.of(scope); + this.env = { + account: this.stack.account, + region: this.stack.region, + }; this.props = props; this.lbFactory = new LoadBalancerFactory(this, props.vpc); diff --git a/packages/aws-rfdk/lib/core/lib/imported-acm-certificate.ts b/packages/aws-rfdk/lib/core/lib/imported-acm-certificate.ts index 2449b6d82..9b2b39471 100644 --- a/packages/aws-rfdk/lib/core/lib/imported-acm-certificate.ts +++ b/packages/aws-rfdk/lib/core/lib/imported-acm-certificate.ts @@ -26,6 +26,7 @@ import { CustomResource, Duration, RemovalPolicy, + ResourceEnvironment, Stack, Tag, Token, @@ -89,8 +90,6 @@ export interface ImportedAcmCertificateProps { * - The AWS Lambda for this construct also has broad IAM permissions to delete any Certificate that is stored * in AWS Certificate Manager. You should not grant any additional actors/principals the ability to modify or * execute this Lambda. - * - * @ResourcesDeployed */ export class ImportedAcmCertificate extends Construct implements ICertificate { private static IMPORTER_UUID = '2d20d8f2-7b84-444e-b738-c75b499a9eaa'; @@ -100,6 +99,7 @@ export class ImportedAcmCertificate extends Construct implements ICertificate { */ public readonly certificateArn: string; public readonly stack: Stack; + public readonly env: ResourceEnvironment; // The DynamoDB Table that is used as a backing store for the CustomResource utilized in this construct. protected readonly database: Table; protected readonly uniqueTag: Tag; @@ -108,6 +108,10 @@ export class ImportedAcmCertificate extends Construct implements ICertificate { super(scope, id); this.stack = Stack.of(this); + this.env = { + account: this.stack.account, + region: this.stack.region, + }; this.database = new Table(this, 'Table', { partitionKey: { name: 'PhysicalId', type: AttributeType.STRING }, diff --git a/packages/aws-rfdk/lib/core/lib/mongodb-installer.ts b/packages/aws-rfdk/lib/core/lib/mongodb-installer.ts index 917d91e45..3584a7f08 100644 --- a/packages/aws-rfdk/lib/core/lib/mongodb-installer.ts +++ b/packages/aws-rfdk/lib/core/lib/mongodb-installer.ts @@ -97,8 +97,6 @@ export interface MongoDbInstallerProps { * bucket to prevent an attacker from modifying the actions performed by these scripts. We strongly recommend that * you either enable Amazon S3 server access logging on your CDK bootstrap bucket, or enable AWS CloudTrail on your * account to assist in post-incident analysis of compromised production environments. - * - * @ResourcesDeployed */ export class MongoDbInstaller { diff --git a/packages/aws-rfdk/lib/core/lib/mongodb-instance.ts b/packages/aws-rfdk/lib/core/lib/mongodb-instance.ts index 15fc0b7fc..ecea8a4bd 100644 --- a/packages/aws-rfdk/lib/core/lib/mongodb-instance.ts +++ b/packages/aws-rfdk/lib/core/lib/mongodb-instance.ts @@ -328,8 +328,6 @@ export interface IMongoDb extends IConnectable, IConstruct { * - This construct uses this package's {@link StaticPrivateIpServer}, {@link MongoDbInstaller}, {@link CloudWatchAgent}, * {@link ExportingLogGroup}, and {@link MountableBlockVolume}. Security considerations that are outlined by the documentation * for those constructs should also be taken into account. - * - * @ResourcesDeployed */ export class MongoDbInstance extends Construct implements IMongoDb, IGrantable { // How often Cloudwatch logs will be flushed. diff --git a/packages/aws-rfdk/lib/core/lib/mongodb-post-install.ts b/packages/aws-rfdk/lib/core/lib/mongodb-post-install.ts index 8437ef89c..1dca3a999 100644 --- a/packages/aws-rfdk/lib/core/lib/mongodb-post-install.ts +++ b/packages/aws-rfdk/lib/core/lib/mongodb-post-install.ts @@ -157,8 +157,6 @@ export interface MongoDbPostInstallSetupProps { * and the MongoDB application port. An attacker that can find a way to modify and execute this lambda could use it to * modify or read any data in the database. You should not grant any additional actors/principals the ability to modify * or execute this Lambda. - * - * @ResourcesDeployed */ export class MongoDbPostInstallSetup extends Construct { constructor(scope: Construct, id: string, props: MongoDbPostInstallSetupProps) { diff --git a/packages/aws-rfdk/lib/core/lib/runtime-info.ts b/packages/aws-rfdk/lib/core/lib/runtime-info.ts index acf2326e9..302d20512 100644 --- a/packages/aws-rfdk/lib/core/lib/runtime-info.ts +++ b/packages/aws-rfdk/lib/core/lib/runtime-info.ts @@ -7,7 +7,7 @@ import * as path from 'path'; import { Construct, - Tag, + Tags, } from '@aws-cdk/core'; /** @@ -37,5 +37,5 @@ export function tagConstruct(scope: T) { // The constructor property is a reference to the "function" used to create const className = scope.constructor.name; const value = `${RFDK_VERSION}:${className}`; - Tag.add(scope, TAG_NAME, value); + Tags.of(scope).add(TAG_NAME, value); } diff --git a/packages/aws-rfdk/lib/core/lib/script-assets.ts b/packages/aws-rfdk/lib/core/lib/script-assets.ts index 27222bfe1..6b213629f 100644 --- a/packages/aws-rfdk/lib/core/lib/script-assets.ts +++ b/packages/aws-rfdk/lib/core/lib/script-assets.ts @@ -134,8 +134,6 @@ export interface ScriptAssetProps extends AssetProps {} * bucket to prevent an attacker from modifying the actions performed by these scripts. We strongly recommend that * you either enable Amazon S3 server access logging on your CDK bootstrap bucket, or enable AWS CloudTrail on your * account to assist in post-incident analysis of compromised production environments. - * - * @ResourcesDeployed */ export class ScriptAsset extends Asset { /** diff --git a/packages/aws-rfdk/lib/core/lib/staticip-server.ts b/packages/aws-rfdk/lib/core/lib/staticip-server.ts index 251aea900..b3a5dfc08 100644 --- a/packages/aws-rfdk/lib/core/lib/staticip-server.ts +++ b/packages/aws-rfdk/lib/core/lib/staticip-server.ts @@ -54,7 +54,7 @@ import { Lazy, RemovalPolicy, Stack, - Tag, + Tags, } from '@aws-cdk/core'; @@ -180,8 +180,6 @@ export interface StaticPrivateIpServerProps { * - The SNS Topic that is deployed through this construct controls the execution of the Lambda discussed above. * Principals that can publish messages to this SNS Topic will be able to trigger the Lambda to run. You should * not allow any additional principals to publish messages to this SNS Topic. - * - * @ResourcesDeployed */ export class StaticPrivateIpServer extends Construct implements IConnectable, IGrantable { @@ -344,7 +342,7 @@ export class StaticPrivateIpServer extends Construct implements IConnectable, IG const tagValue = eventHandler.node.uniqueId; const grantCondition: { [key: string]: string } = {}; grantCondition[`autoscaling:ResourceTag/${tagKey}`] = tagValue; - Tag.add(this.autoscalingGroup, tagKey, tagValue); + Tags.of(this.autoscalingGroup).add(tagKey, tagValue); // Allow the lambda to complete the lifecycle action for only tagged ASGs. const iamCompleteLifecycle = new PolicyStatement({ diff --git a/packages/aws-rfdk/lib/core/lib/x509-certificate.ts b/packages/aws-rfdk/lib/core/lib/x509-certificate.ts index 9bc97c46e..e307edaf0 100644 --- a/packages/aws-rfdk/lib/core/lib/x509-certificate.ts +++ b/packages/aws-rfdk/lib/core/lib/x509-certificate.ts @@ -250,8 +250,6 @@ abstract class X509CertificateBase extends Construct { * environments. * - Access to the AWS SecretsManager Secrets that are created by this construct should be tightly restricted * to only the principal(s) that require access. - * - * @ResourcesDeployed */ export class X509CertificatePem extends X509CertificateBase implements IX509CertificatePem { public readonly cert: ISecret; @@ -404,8 +402,6 @@ export interface IX509CertificatePkcs12 extends IConstruct { * environments. * - Access to the AWS SecretsManager Secrets that are created by this construct should be tightly restricted * to only the principal(s) that require access. - * - * @ResourcesDeployed */ export class X509CertificatePkcs12 extends X509CertificateBase implements IX509CertificatePkcs12 { diff --git a/packages/aws-rfdk/lib/core/test/mongodb-instance.test.ts b/packages/aws-rfdk/lib/core/test/mongodb-instance.test.ts index 978611fbc..046ba8dae 100644 --- a/packages/aws-rfdk/lib/core/test/mongodb-instance.test.ts +++ b/packages/aws-rfdk/lib/core/test/mongodb-instance.test.ts @@ -139,7 +139,7 @@ describe('Test MongoDbInstance', () => { Tags: arrayWith( objectLike({ Key: 'VolumeGrantAttach-dff922f1fb3c0287b3759d461a48c4b8', - Value: 'b0381797ae9723313d35ad6f9aa815f2', + Value: '6238d22b121db8094cb816e2a49d2b61', }), ), })); diff --git a/packages/aws-rfdk/lib/core/test/mountable-ebs.test.ts b/packages/aws-rfdk/lib/core/test/mountable-ebs.test.ts index cd01e413f..22d3764c8 100644 --- a/packages/aws-rfdk/lib/core/test/mountable-ebs.test.ts +++ b/packages/aws-rfdk/lib/core/test/mountable-ebs.test.ts @@ -127,7 +127,7 @@ describe('Test MountableBlockVolume', () => { ], Condition: { 'ForAnyValue:StringEquals': { - 'ec2:ResourceTag/VolumeGrantAttach-a47ec0afb147979ebdf4265080024b2c': 'd9a17c1c9e8ef6866e4dbeef41c741b2', + 'ec2:ResourceTag/VolumeGrantAttach-a47ec0afb147979ebdf4265080024b2c': '274f1fe7e3ac0d55b2991dd00242f5ea', }, }, }, diff --git a/packages/aws-rfdk/lib/core/test/x509-certificate.test.ts b/packages/aws-rfdk/lib/core/test/x509-certificate.test.ts index 8e068ec0c..95c484d11 100644 --- a/packages/aws-rfdk/lib/core/test/x509-certificate.test.ts +++ b/packages/aws-rfdk/lib/core/test/x509-certificate.test.ts @@ -9,16 +9,20 @@ import { haveResourceLike, InspectionFailure, } from '@aws-cdk/assert'; +import { + Role, + ServicePrincipal, +} from '@aws-cdk/aws-iam'; import { Key } from '@aws-cdk/aws-kms'; import { CfnSecret } from '@aws-cdk/aws-secretsmanager'; import { Stack } from '@aws-cdk/core'; -import { AwsCustomResource } from '@aws-cdk/custom-resources'; import { X509CertificatePem, X509CertificatePkcs12, } from '../lib/x509-certificate'; + test('Generate cert', () => { const stack = new Stack(undefined, 'Stack', { env: { region: 'us-west-2' } }); const subject = { cn: 'testCN' }; @@ -313,14 +317,9 @@ test('Generate cert, all options set', () => { test('Grant cert read', () => { const stack = new Stack(); - const grantable = new AwsCustomResource( - stack, - 'Grantable', - { - policy: { statements: [] }, - onDelete: { action: 'none', service: 'none' }, - }, - ); + const grantable = new Role(stack, 'TestRole', { + assumedBy: new ServicePrincipal('ec2.amazonaws.com'), + }); const subject = { cn: 'testCN' }; const cert = new X509CertificatePem(stack, 'Cert', { @@ -341,10 +340,6 @@ test('Grant cert read', () => { expectCDK(stack).to(haveResourceLike('AWS::IAM::Policy', { PolicyDocument: { Statement: [ - { - Action: 'none:None', - Effect: 'Allow', - }, { Action: [ 'secretsmanager:GetSecretValue', @@ -401,14 +396,9 @@ test('Grant cert read', () => { test('Grant full read', () => { const stack = new Stack(); - const grantable = new AwsCustomResource( - stack, - 'Grantable', - { - policy: { statements: [] }, - onDelete: { action: 'none', service: 'none' }, - }, - ); + const grantable = new Role(stack, 'TestRole', { + assumedBy: new ServicePrincipal('ec2.amazonaws.com'), + }); const subject = { cn: 'testCN' }; const cert = new X509CertificatePem(stack, 'Cert', { diff --git a/packages/aws-rfdk/lib/deadline/lib/database-connection.ts b/packages/aws-rfdk/lib/deadline/lib/database-connection.ts index c606b5aea..c90004d4d 100644 --- a/packages/aws-rfdk/lib/deadline/lib/database-connection.ts +++ b/packages/aws-rfdk/lib/deadline/lib/database-connection.ts @@ -84,8 +84,6 @@ export abstract class DatabaseConnection { * Resources Deployed * ------------------------ * This construct does not deploy any resources - * - * @ResourcesDeployed */ public static forDocDB(options: DocDBConnectionOptions): DatabaseConnection { return new DocDBDatabaseConnection(options); @@ -97,8 +95,6 @@ export abstract class DatabaseConnection { * Resources Deployed * ------------------------ * This construct does not deploy any resources - * - * @ResourcesDeployed */ public static forMongoDbInstance(options: MongoDbInstanceConnectionOptions): DatabaseConnection { return new MongoDbInstanceDatabaseConnection(options); diff --git a/packages/aws-rfdk/lib/deadline/lib/render-queue.ts b/packages/aws-rfdk/lib/deadline/lib/render-queue.ts index 44d1c26b5..497dfb93d 100644 --- a/packages/aws-rfdk/lib/deadline/lib/render-queue.ts +++ b/packages/aws-rfdk/lib/deadline/lib/render-queue.ts @@ -150,8 +150,6 @@ abstract class RenderQueueBase extends Construct implements IRenderQueue { * - The RenderQueue can be deployed with network encryption through Transport Layer Security (TLS) or without it. Unencrypted * network communications can be eavesdropped upon or modified in transit. We strongly recommend deploying the RenderQueue * with TLS enabled in production environments. - * - * @ResourcesDeployed */ export class RenderQueue extends RenderQueueBase implements IGrantable { /** diff --git a/packages/aws-rfdk/lib/deadline/lib/repository.ts b/packages/aws-rfdk/lib/deadline/lib/repository.ts index 2744ea7e9..7f646cc93 100644 --- a/packages/aws-rfdk/lib/deadline/lib/repository.ts +++ b/packages/aws-rfdk/lib/deadline/lib/repository.ts @@ -46,7 +46,7 @@ import { IConstruct, RemovalPolicy, Stack, - Tag, + Tags, } from '@aws-cdk/core'; import { CloudWatchAgent, @@ -375,8 +375,6 @@ export interface RepositoryProps { * submitted jobs, machine information and status, and so on. An actor with access to this database can read any information * that is entered into Deadline, and modify the bevavior of your render farm. You should restrict access to this database * to only those who require it. - * - * @ResourcesDeployed */ export class Repository extends Construct implements IRepository { /** @@ -746,7 +744,7 @@ export class Repository extends Construct implements IRepository { const tagCondition: { [key: string]: any } = {}; tagCondition[`autoscaling:ResourceTag/${tagKey}`] = this.node.uniqueId; - Tag.add(this.installerGroup, tagKey, this.node.uniqueId); + Tags.of(this.installerGroup).add(tagKey, this.node.uniqueId); this.installerGroup.addToRolePolicy(new PolicyStatement({ actions: [ diff --git a/packages/aws-rfdk/lib/deadline/lib/usage-based-licensing.ts b/packages/aws-rfdk/lib/deadline/lib/usage-based-licensing.ts index ba583da98..d7511c921 100644 --- a/packages/aws-rfdk/lib/deadline/lib/usage-based-licensing.ts +++ b/packages/aws-rfdk/lib/deadline/lib/usage-based-licensing.ts @@ -455,8 +455,6 @@ export interface UsageBasedLicensingProps { * - The Deadline License Forwarder is designed to be secured by restricting network access to it. For security, only the Deadline * Workers that require access to Usage-based Licenses should be granted network access to the instances deployed by this construct. * Futhermore, you should restrict that access to only the product(s) that those workers require when deploying this construct. - * - * @ResourcesDeployed */ export class UsageBasedLicensing extends Construct implements IGrantable { /** diff --git a/packages/aws-rfdk/lib/deadline/lib/worker-fleet.ts b/packages/aws-rfdk/lib/deadline/lib/worker-fleet.ts index 5a561b25e..fd8628965 100644 --- a/packages/aws-rfdk/lib/deadline/lib/worker-fleet.ts +++ b/packages/aws-rfdk/lib/deadline/lib/worker-fleet.ts @@ -36,6 +36,7 @@ import { Construct, Duration, IResource, + ResourceEnvironment, Stack, } from '@aws-cdk/core'; import { @@ -227,6 +228,11 @@ abstract class WorkerInstanceFleetBase extends Construct implements IWorkerFleet */ public abstract readonly stack: Stack; + /** + * The environment this resource belongs to. + */ + public abstract readonly env: ResourceEnvironment; + /** * The ASG object created by the construct. */ @@ -297,8 +303,6 @@ abstract class WorkerInstanceFleetBase extends Construct implements IWorkerFleet * - The software on the AMI that is being used by this construct may pose a security risk. We recommend that you adopt a * patching strategy to keep this software current with the latest security patches. Please see * https://docs.aws.amazon.com/rfdk/latest/guide/patching-software.html for more information. - * - * @ResourcesDeployed */ export class WorkerInstanceFleet extends WorkerInstanceFleetBase { @@ -351,6 +355,11 @@ export class WorkerInstanceFleet extends WorkerInstanceFleetBase { */ public readonly stack: Stack; + /** + * The environment this resource belongs to. + */ + public readonly env: ResourceEnvironment; + /** * This field implements the base capacity metric of the fleet against * which, the healthy percent will be calculated. @@ -389,6 +398,10 @@ export class WorkerInstanceFleet extends WorkerInstanceFleetBase { constructor(scope: Construct, id: string, props: WorkerInstanceFleetProps) { super(scope, id); this.stack = Stack.of(scope); + this.env = { + account: this.stack.account, + region: this.stack.region, + }; this.validateProps(props); diff --git a/packages/aws-rfdk/lib/deadline/test/render-queue.test.ts b/packages/aws-rfdk/lib/deadline/test/render-queue.test.ts index fa8c1e57e..29e6e0c3d 100644 --- a/packages/aws-rfdk/lib/deadline/test/render-queue.test.ts +++ b/packages/aws-rfdk/lib/deadline/test/render-queue.test.ts @@ -170,30 +170,9 @@ describe('RenderQueue', () => { LogDriver: 'awslogs', Options: { 'awslogs-group': { - 'Fn::Select': [ - 6, - { - 'Fn::Split': [ - ':', - { - 'Fn::Join': [ - '', - [ - 'arn:', - { Ref: 'AWS::Partition' }, - ':logs:', - { Ref: 'AWS::Region' }, - ':', - { Ref: 'AWS::AccountId' }, - ':log-group:', - { - 'Fn::GetAtt': arrayWith('LogGroupName'), - }, - ], - ], - }, - ], - }, + 'Fn::GetAtt': [ + 'RenderQueueCommonLogGroupWrapperA0EF7057', + 'LogGroupName', ], }, 'awslogs-stream-prefix': 'RCS', diff --git a/packages/aws-rfdk/lib/deadline/test/repository.test.ts b/packages/aws-rfdk/lib/deadline/test/repository.test.ts index 25b2d05cf..b6c151d5a 100644 --- a/packages/aws-rfdk/lib/deadline/test/repository.test.ts +++ b/packages/aws-rfdk/lib/deadline/test/repository.test.ts @@ -857,7 +857,7 @@ test('validate instance self-termination', () => { const asgLogicalId = stack.getLogicalId(repo.node.defaultChild!.node.defaultChild as CfnElement); // THEN - const expectedString = `function exitTrap(){\nexitCode=$?\nsleep 1m\nINSTANCE=\"$(curl http://169.254.169.254/latest/meta-data/instance-id)\"\nASG=\"$(aws --region \${Token[AWS::Region.4]} ec2 describe-tags --filters \"Name=resource-id,Values=\${INSTANCE}\" \"Name=key,Values=aws:autoscaling:groupName\" --query \"Tags[0].Value\" --output text)\"\naws --region \${Token[AWS::Region.4]} autoscaling update-auto-scaling-group --auto-scaling-group-name \${ASG} --min-size 0 --max-size 0 --desired-capacity 0\n/opt/aws/bin/cfn-signal --stack ${stack.stackName} --resource ${asgLogicalId} --region \${Token[AWS::Region.4]} -e $exitCode || echo \'Failed to send Cloudformation Signal\'\n}`; + const expectedString = `function exitTrap(){\nexitCode=$?\nsleep 1m\nINSTANCE=\"$(curl http://169.254.169.254/latest/meta-data/instance-id)\"\nASG=\"$(aws --region \${Token[AWS.Region.4]} ec2 describe-tags --filters \"Name=resource-id,Values=\${INSTANCE}\" \"Name=key,Values=aws:autoscaling:groupName\" --query \"Tags[0].Value\" --output text)\"\naws --region \${Token[AWS.Region.4]} autoscaling update-auto-scaling-group --auto-scaling-group-name \${ASG} --min-size 0 --max-size 0 --desired-capacity 0\n/opt/aws/bin/cfn-signal --stack ${stack.stackName} --resource ${asgLogicalId} --region \${Token[AWS.Region.4]} -e $exitCode || echo \'Failed to send Cloudformation Signal\'\n}`; expect((repo.node.defaultChild as AutoScalingGroup).userData.render()).toMatch(expectedString); expectCDK(stack).to(haveResourceLike('AWS::IAM::Policy', { PolicyDocument: { diff --git a/packages/aws-rfdk/package.json b/packages/aws-rfdk/package.json index c30bf1758..b9ec4327a 100644 --- a/packages/aws-rfdk/package.json +++ b/packages/aws-rfdk/package.json @@ -65,123 +65,123 @@ "jest": true }, "devDependencies": { - "@aws-cdk/assert": "1.57.0", + "@aws-cdk/assert": "1.61.1", "@types/aws-lambda": "^8.10.61", - "@types/sinon": "^9.0.4", - "aws-sdk": "^2.709.0", + "@types/sinon": "^9.0.5", + "aws-sdk": "^2.741.0", "aws-sdk-mock": "^5.1.0", "cdk-build-tools": "0.17.0", "dynalite": "^3.2.0", "pkglint": "0.17.0", - "sinon": "^9.0.2" + "sinon": "^9.0.3" }, "dependencies": { - "@aws-cdk/assets": "1.57.0", - "@aws-cdk/aws-apigateway": "1.57.0", - "@aws-cdk/aws-applicationautoscaling": "1.57.0", - "@aws-cdk/aws-autoscaling": "1.57.0", - "@aws-cdk/aws-autoscaling-common": "1.57.0", - "@aws-cdk/aws-autoscaling-hooktargets": "1.57.0", - "@aws-cdk/aws-batch": "1.57.0", - "@aws-cdk/aws-certificatemanager": "1.57.0", - "@aws-cdk/aws-cloudformation": "1.57.0", - "@aws-cdk/aws-cloudfront": "1.57.0", - "@aws-cdk/aws-cloudwatch": "1.57.0", - "@aws-cdk/aws-cloudwatch-actions": "1.57.0", - "@aws-cdk/aws-codebuild": "1.57.0", - "@aws-cdk/aws-codecommit": "1.57.0", - "@aws-cdk/aws-codeguruprofiler": "1.57.0", - "@aws-cdk/aws-codepipeline": "1.57.0", - "@aws-cdk/aws-cognito": "1.57.0", - "@aws-cdk/aws-docdb": "1.57.0", - "@aws-cdk/aws-dynamodb": "1.57.0", - "@aws-cdk/aws-ec2": "1.57.0", - "@aws-cdk/aws-ecr": "1.57.0", - "@aws-cdk/aws-ecr-assets": "1.57.0", - "@aws-cdk/aws-ecs": "1.57.0", - "@aws-cdk/aws-ecs-patterns": "1.57.0", - "@aws-cdk/aws-efs": "1.57.0", - "@aws-cdk/aws-elasticloadbalancing": "1.57.0", - "@aws-cdk/aws-elasticloadbalancingv2": "1.57.0", - "@aws-cdk/aws-events": "1.57.0", - "@aws-cdk/aws-events-targets": "1.57.0", - "@aws-cdk/aws-iam": "1.57.0", - "@aws-cdk/aws-kinesis": "1.57.0", - "@aws-cdk/aws-kms": "1.57.0", - "@aws-cdk/aws-lambda": "1.57.0", - "@aws-cdk/aws-logs": "1.57.0", - "@aws-cdk/aws-route53": "1.57.0", - "@aws-cdk/aws-route53-targets": "1.57.0", - "@aws-cdk/aws-s3": "1.57.0", - "@aws-cdk/aws-s3-assets": "1.57.0", - "@aws-cdk/aws-sam": "1.57.0", - "@aws-cdk/aws-secretsmanager": "1.57.0", - "@aws-cdk/aws-servicediscovery": "1.57.0", - "@aws-cdk/aws-sns": "1.57.0", - "@aws-cdk/aws-sns-subscriptions": "1.57.0", - "@aws-cdk/aws-sqs": "1.57.0", - "@aws-cdk/aws-ssm": "1.57.0", - "@aws-cdk/aws-stepfunctions": "1.57.0", - "@aws-cdk/cloud-assembly-schema": "1.57.0", - "@aws-cdk/core": "1.57.0", - "@aws-cdk/custom-resources": "1.57.0", - "@aws-cdk/cx-api": "1.57.0", - "@aws-cdk/region-info": "1.57.0", - "constructs": "^3.0.2" + "@aws-cdk/assets": "1.61.1", + "@aws-cdk/aws-apigateway": "1.61.1", + "@aws-cdk/aws-applicationautoscaling": "1.61.1", + "@aws-cdk/aws-autoscaling": "1.61.1", + "@aws-cdk/aws-autoscaling-common": "1.61.1", + "@aws-cdk/aws-autoscaling-hooktargets": "1.61.1", + "@aws-cdk/aws-batch": "1.61.1", + "@aws-cdk/aws-certificatemanager": "1.61.1", + "@aws-cdk/aws-cloudformation": "1.61.1", + "@aws-cdk/aws-cloudfront": "1.61.1", + "@aws-cdk/aws-cloudwatch": "1.61.1", + "@aws-cdk/aws-cloudwatch-actions": "1.61.1", + "@aws-cdk/aws-codebuild": "1.61.1", + "@aws-cdk/aws-codecommit": "1.61.1", + "@aws-cdk/aws-codeguruprofiler": "1.61.1", + "@aws-cdk/aws-codepipeline": "1.61.1", + "@aws-cdk/aws-cognito": "1.61.1", + "@aws-cdk/aws-docdb": "1.61.1", + "@aws-cdk/aws-dynamodb": "1.61.1", + "@aws-cdk/aws-ec2": "1.61.1", + "@aws-cdk/aws-ecr": "1.61.1", + "@aws-cdk/aws-ecr-assets": "1.61.1", + "@aws-cdk/aws-ecs": "1.61.1", + "@aws-cdk/aws-ecs-patterns": "1.61.1", + "@aws-cdk/aws-efs": "1.61.1", + "@aws-cdk/aws-elasticloadbalancing": "1.61.1", + "@aws-cdk/aws-elasticloadbalancingv2": "1.61.1", + "@aws-cdk/aws-events": "1.61.1", + "@aws-cdk/aws-events-targets": "1.61.1", + "@aws-cdk/aws-iam": "1.61.1", + "@aws-cdk/aws-kinesis": "1.61.1", + "@aws-cdk/aws-kms": "1.61.1", + "@aws-cdk/aws-lambda": "1.61.1", + "@aws-cdk/aws-logs": "1.61.1", + "@aws-cdk/aws-route53": "1.61.1", + "@aws-cdk/aws-route53-targets": "1.61.1", + "@aws-cdk/aws-s3": "1.61.1", + "@aws-cdk/aws-s3-assets": "1.61.1", + "@aws-cdk/aws-sam": "1.61.1", + "@aws-cdk/aws-secretsmanager": "1.61.1", + "@aws-cdk/aws-servicediscovery": "1.61.1", + "@aws-cdk/aws-sns": "1.61.1", + "@aws-cdk/aws-sns-subscriptions": "1.61.1", + "@aws-cdk/aws-sqs": "1.61.1", + "@aws-cdk/aws-ssm": "1.61.1", + "@aws-cdk/aws-stepfunctions": "1.61.1", + "@aws-cdk/cloud-assembly-schema": "1.61.1", + "@aws-cdk/core": "1.61.1", + "@aws-cdk/custom-resources": "1.61.1", + "@aws-cdk/cx-api": "1.61.1", + "@aws-cdk/region-info": "1.61.1", + "constructs": "^3.0.4" }, "peerDependencies": { - "@aws-cdk/assets": "1.57.0", - "@aws-cdk/aws-apigateway": "1.57.0", - "@aws-cdk/aws-applicationautoscaling": "1.57.0", - "@aws-cdk/aws-autoscaling": "1.57.0", - "@aws-cdk/aws-autoscaling-common": "1.57.0", - "@aws-cdk/aws-autoscaling-hooktargets": "1.57.0", - "@aws-cdk/aws-batch": "1.57.0", - "@aws-cdk/aws-certificatemanager": "1.57.0", - "@aws-cdk/aws-cloudformation": "1.57.0", - "@aws-cdk/aws-cloudfront": "1.57.0", - "@aws-cdk/aws-cloudwatch": "1.57.0", - "@aws-cdk/aws-cloudwatch-actions": "1.57.0", - "@aws-cdk/aws-codebuild": "1.57.0", - "@aws-cdk/aws-codecommit": "1.57.0", - "@aws-cdk/aws-codeguruprofiler": "1.57.0", - "@aws-cdk/aws-codepipeline": "1.57.0", - "@aws-cdk/aws-cognito": "1.57.0", - "@aws-cdk/aws-docdb": "1.57.0", - "@aws-cdk/aws-dynamodb": "1.57.0", - "@aws-cdk/aws-ec2": "1.57.0", - "@aws-cdk/aws-ecr": "1.57.0", - "@aws-cdk/aws-ecr-assets": "1.57.0", - "@aws-cdk/aws-ecs": "1.57.0", - "@aws-cdk/aws-ecs-patterns": "1.57.0", - "@aws-cdk/aws-efs": "1.57.0", - "@aws-cdk/aws-elasticloadbalancing": "1.57.0", - "@aws-cdk/aws-elasticloadbalancingv2": "1.57.0", - "@aws-cdk/aws-events": "1.57.0", - "@aws-cdk/aws-events-targets": "1.57.0", - "@aws-cdk/aws-iam": "1.57.0", - "@aws-cdk/aws-kinesis": "1.57.0", - "@aws-cdk/aws-kms": "1.57.0", - "@aws-cdk/aws-lambda": "1.57.0", - "@aws-cdk/aws-logs": "1.57.0", - "@aws-cdk/aws-route53": "1.57.0", - "@aws-cdk/aws-route53-targets": "1.57.0", - "@aws-cdk/aws-s3": "1.57.0", - "@aws-cdk/aws-s3-assets": "1.57.0", - "@aws-cdk/aws-sam": "1.57.0", - "@aws-cdk/aws-secretsmanager": "1.57.0", - "@aws-cdk/aws-servicediscovery": "1.57.0", - "@aws-cdk/aws-sns": "1.57.0", - "@aws-cdk/aws-sns-subscriptions": "1.57.0", - "@aws-cdk/aws-sqs": "1.57.0", - "@aws-cdk/aws-ssm": "1.57.0", - "@aws-cdk/aws-stepfunctions": "1.57.0", - "@aws-cdk/cloud-assembly-schema": "1.57.0", - "@aws-cdk/core": "1.57.0", - "@aws-cdk/custom-resources": "1.57.0", - "@aws-cdk/cx-api": "1.57.0", - "@aws-cdk/region-info": "1.57.0", - "constructs": "^3.0.2" + "@aws-cdk/assets": "1.61.1", + "@aws-cdk/aws-apigateway": "1.61.1", + "@aws-cdk/aws-applicationautoscaling": "1.61.1", + "@aws-cdk/aws-autoscaling": "1.61.1", + "@aws-cdk/aws-autoscaling-common": "1.61.1", + "@aws-cdk/aws-autoscaling-hooktargets": "1.61.1", + "@aws-cdk/aws-batch": "1.61.1", + "@aws-cdk/aws-certificatemanager": "1.61.1", + "@aws-cdk/aws-cloudformation": "1.61.1", + "@aws-cdk/aws-cloudfront": "1.61.1", + "@aws-cdk/aws-cloudwatch": "1.61.1", + "@aws-cdk/aws-cloudwatch-actions": "1.61.1", + "@aws-cdk/aws-codebuild": "1.61.1", + "@aws-cdk/aws-codecommit": "1.61.1", + "@aws-cdk/aws-codeguruprofiler": "1.61.1", + "@aws-cdk/aws-codepipeline": "1.61.1", + "@aws-cdk/aws-cognito": "1.61.1", + "@aws-cdk/aws-docdb": "1.61.1", + "@aws-cdk/aws-dynamodb": "1.61.1", + "@aws-cdk/aws-ec2": "1.61.1", + "@aws-cdk/aws-ecr": "1.61.1", + "@aws-cdk/aws-ecr-assets": "1.61.1", + "@aws-cdk/aws-ecs": "1.61.1", + "@aws-cdk/aws-ecs-patterns": "1.61.1", + "@aws-cdk/aws-efs": "1.61.1", + "@aws-cdk/aws-elasticloadbalancing": "1.61.1", + "@aws-cdk/aws-elasticloadbalancingv2": "1.61.1", + "@aws-cdk/aws-events": "1.61.1", + "@aws-cdk/aws-events-targets": "1.61.1", + "@aws-cdk/aws-iam": "1.61.1", + "@aws-cdk/aws-kinesis": "1.61.1", + "@aws-cdk/aws-kms": "1.61.1", + "@aws-cdk/aws-lambda": "1.61.1", + "@aws-cdk/aws-logs": "1.61.1", + "@aws-cdk/aws-route53": "1.61.1", + "@aws-cdk/aws-route53-targets": "1.61.1", + "@aws-cdk/aws-s3": "1.61.1", + "@aws-cdk/aws-s3-assets": "1.61.1", + "@aws-cdk/aws-sam": "1.61.1", + "@aws-cdk/aws-secretsmanager": "1.61.1", + "@aws-cdk/aws-servicediscovery": "1.61.1", + "@aws-cdk/aws-sns": "1.61.1", + "@aws-cdk/aws-sns-subscriptions": "1.61.1", + "@aws-cdk/aws-sqs": "1.61.1", + "@aws-cdk/aws-ssm": "1.61.1", + "@aws-cdk/aws-stepfunctions": "1.61.1", + "@aws-cdk/cloud-assembly-schema": "1.61.1", + "@aws-cdk/core": "1.61.1", + "@aws-cdk/custom-resources": "1.61.1", + "@aws-cdk/cx-api": "1.61.1", + "@aws-cdk/region-info": "1.61.1", + "constructs": "^3.0.4" }, "engines": { "node": ">= 10.13.0 <13 || >=13.7.0" diff --git a/scripts/generate-aggregate-tsconfig.sh b/scripts/generate-aggregate-tsconfig.sh index b117217b8..d47ae0601 100755 --- a/scripts/generate-aggregate-tsconfig.sh +++ b/scripts/generate-aggregate-tsconfig.sh @@ -12,7 +12,7 @@ echo ' "references": [' # if we have more than one package, # we set $comma to an actual comma comma=' ' -for package in $(node_modules/.bin/lerna ls -ap); do +for package in $(node_modules/.bin/lerna ls -ap --ignore 'all-in-farm**'); do relpath=${package#"$prefix"} echo ' '"$comma"'{ "path": "'"$relpath"'" }' comma=', ' diff --git a/tools/awslint/.gitignore b/tools/awslint/.gitignore deleted file mode 100644 index 7164f5d83..000000000 --- a/tools/awslint/.gitignore +++ /dev/null @@ -1,95 +0,0 @@ -*.js -*.d.ts -jsii - -# Created by https://www.gitignore.io/api/node -# Edit at https://www.gitignore.io/?templates=node - -### Node ### -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# next.js build output -.next - -# nuxt.js build output -.nuxt - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -#DynamoDB Local files -.dynamodb/ - -# End of https://www.gitignore.io/api/node - -dist -.LAST_PACKAGE -.LAST_BUILD -*.snk -.nycrc diff --git a/tools/awslint/.npmignore b/tools/awslint/.npmignore deleted file mode 100644 index bc9fd0e49..000000000 --- a/tools/awslint/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ - -dist -.LAST_PACKAGE -.LAST_BUILD -*.snk \ No newline at end of file diff --git a/tools/awslint/LICENSE b/tools/awslint/LICENSE deleted file mode 100644 index b71ec1688..000000000 --- a/tools/awslint/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/tools/awslint/NOTICE b/tools/awslint/NOTICE deleted file mode 100644 index bfccac9a7..000000000 --- a/tools/awslint/NOTICE +++ /dev/null @@ -1,2 +0,0 @@ -AWS Cloud Development Kit (AWS CDK) -Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. diff --git a/tools/awslint/README.md b/tools/awslint/README.md deleted file mode 100644 index 585a2b79a..000000000 --- a/tools/awslint/README.md +++ /dev/null @@ -1,130 +0,0 @@ -# awslint - -A linter for the AWS Construct Library's API. It reflects a construct library's -module via it's `.jsii` manifest and checks that the module adheres to the [AWS -Resource Construct Design Guidelines](../../design/aws-guidelines.md). - -## Usage - -First, the module must be built through `jsii` (the linter reads the `.jsii` -manifest). - -Now, if you simply run `awslint` from a module directory, you will -see a list of diagnostic messages. - -For example: - -```console -$ cd @aws-cdk/aws-sns -$ npm run awslint -warning: [awslint:resource-interface:@aws-cdk/aws-sns.Subscription] every resource must have a resource interface -warning: [awslint:resource-interface:@aws-cdk/aws-sns.TopicPolicy] every resource must have a resource interface -``` - -Each diagnostics includes the following elements: - -``` -warning: [awslint:resource-interface:@aws-cdk/aws-sns.Subscription] every resource must have a resource interface -[------] [-------------------------] [----------------------------] [-------------------------------------------] - ^ ^ ^ ^ - | | | | - level rule scope message -``` - -## Options and Configuration - -`awslint` accepts options either through the command-line (i.e. `--debug`) or -via an `awslint` key in the module's `package.json`. - -```json -{ - "awslint": { - "debug": true - } -} -``` - -## Include/Exclude - -The `i`/`--include` and `-x`/`--exclude` options can be used to specify which rules will -be evaluated. - -For example: - -```console -# evaluate only the "resource-props" and "import" rules in all scopes -$ npm run awslint -- -i resource-props -i import - -# evaluate only the "import" rule in all scopes besides ones that begin with "@aws-cdk/aws-s3" -$ npm run awslint -- -i import -x "*:@aws-cdk/aws-s3*" -``` - - -Filters are specified using the following pattern: - - rule[*][:scope[*]] - -If a `"*"` suffix is provided, the component is treated as a prefix. Otherwise, -it is evaluated as a full match. - -If scope is not specified, all scopes are implied (`*`). - -Examples: - -* `*:*` - matches all rules in all scopes -* `*:@aws-cdk/aws-apigateway.IRestApi*` - matches all rules in scopes that begin with `@aws-cdk/aws-apigateway.IRestApi` -* `resource-props` - matches the `resource-props` rule in all scopes -* `resource-*` - matches all rules that begin with `resource-`. -* `resource-*:@aws-cdk/aws-sns*` - matches all `resource-` rules with scope that - begins with `@aws-cdk/aws-sns`. - -When a rule is excluded, it will be displayed as `skipped:` in the output and -will always considered to pass. - -## Saving State - -The `--save` option can be used to capture all failed linting rules and save them as `exclude`s -in the module's `package.json` file. This is useful to bootstrap the linting process and \ -progressively fix errors. - -```console -$ npm run awslint -- --save -[shows errors] - -$ cat package.json -{ - ... - "awslint": { - "exclude": [ - "...", // added by awslint --save - "...", // added by awslint --save - ] - } -} - -$ npm run awslint -[no errors] -``` - -If `--save` is specified, `awslint` will always exit with status code 0. - -## Output Options - -* Use `--verbose` to print all passing linter rules (disabled by default). -* Use `--quiet` to hide all warnings and skips (just prints errors) - -## Listing Rules - -To list all linter rules: - -```console -$ npm run awslint list -module-name: module name must be @aws-cdk/aws- -construct-ctor: signature of all construct constructors should be "scope, id, props" -resource-class: every resource must have a resource class (L2) -... -``` - -The [AWS Resource Construct Design Guidelines](../../design/aws-guidelines.md) document -includes references for all rules. For example, see [#resource-class](../../design/aws-guidelines.md#resource-class) -for a discussion about the "resource-class" rule. diff --git a/tools/awslint/bin/awslint b/tools/awslint/bin/awslint deleted file mode 100755 index 6aa8e684f..000000000 --- a/tools/awslint/bin/awslint +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env node -require('./awslint.js'); \ No newline at end of file diff --git a/tools/awslint/bin/awslint.ts b/tools/awslint/bin/awslint.ts deleted file mode 100644 index a009da634..000000000 --- a/tools/awslint/bin/awslint.ts +++ /dev/null @@ -1,265 +0,0 @@ -// tslint:disable:max-line-length -import * as child_process from 'child_process'; -import * as colors from 'colors'; -import * as fs from 'fs-extra'; -import * as reflect from 'jsii-reflect'; -import * as path from 'path'; -import * as yargs from 'yargs'; -import { ALL_RULES_LINTER, DiagnosticLevel } from '../lib'; - -let stackTrace = false; - -async function main() { - const argv = yargs - .env('AWSLINT') - .usage('awslint [options] [command]') - .showHelpOnFail(true) - .command('', 'lint the current module (default)') - .command('list', 'list all available rules') - .option('include', { alias: 'i', type: 'array', desc: 'evaluate only this rule(s)', default: [ '*' ] }) - .option('exclude', { alias: 'x', type: 'array', desc: 'do not evaludate these rules (takes priority over --include)', default: [ ] }) - .option('save', { type: 'boolean', desc: 'updates package.json with "exclude" statements for all failing rules', default: false }) - .option('verbose', { alias: 'v', type: 'boolean', desc: 'verbose output (prints all assertions)', default: false }) - .option('quiet', { alias: 'q', type: 'boolean', desc: 'quiet mode - shows only errors', default: false }) - .option('force', { type: 'boolean', desc: 'succeed silently if this is not a jsii module', default: true }) - .option('config', { type: 'boolean', desc: 'reads options from the "awslint" section in package.json', default: true }) - .option('debug', { type: 'boolean', desc: 'debug output', default: false }) - .option('compile', { alias: 'c', type: 'boolean', desc: 'always run the jsii compiler (use "--no-compile" to never run the compiler, even if .jsii doesn\'t exist)' }) - .group('include', 'Filtering') - .group('exclude', 'Filtering') - .group('config', 'Configuration') - .group('save', 'Configuration') - .group('verbose', 'Output') - .group('quiet', 'Output') - .group('debug', 'Output') - .group('compile', 'Build') - .example('awslint', 'lints the current module against all rules') - .example('awslint -v -i "resource*" -i "import*"', 'lints against all rules that start with "resource" or "import" and print successes') - .example('awslint -x "*:@aws-cdk/aws-s3*"', 'evaluate all rules in all scopes besides ones that begin with "@aws-cdk/aws-s3"') - .example('awslint --save', 'updated "package.json" with "exclude"s for all failing rules'); - - if (!process.stdout.isTTY) { - colors.disable(); - } - - const args = argv.argv; - - stackTrace = args.verbose || args.debug; - - if (args._.length > 1) { - argv.showHelp(); - process.exit(1); - } - - const command = args._[0] || 'lint'; - const workdir = process.cwd(); - - const config = path.join(workdir, 'package.json'); - - if (command === 'list') { - for (const rule of ALL_RULES_LINTER.rules) { - console.info(`${colors.cyan(rule.code)}: ${rule.message}`); - } - return; - } - - // if no package.json and force is true (default), just don't do anything - if (!await fs.pathExists(config) && args.force) { - return; - } - - const pkg = await fs.readJSON(config); - - // if this is not a jsii module we have nothing to look for - if (!pkg.jsii) { - if (args.force) { - return; // just silently succeed - } - - throw new Error(`Module in ${workdir} is not a jsii module (no "jsii" section in package.json)`); - } - - // if package.json contains a `jsii` section but there is no .jsii file - // it means we haven't compiled the module. - if (await shouldCompile()) { - await shell('jsii'); - } - - // read "awslint" from package.json - if (args.config) { - mergeOptions(args, pkg.awslint); - } - - if (args.debug) { - console.error('command: ' + command); - console.error('options: ' + JSON.stringify(args, undefined, 2)); - } - - if (command === 'lint') { - const assembly = await loadModule(workdir); - if (!assembly) { - return; - } - - const excludesToSave = new Array(); - let errors = 0; - - const results = []; - - results.push(...ALL_RULES_LINTER.eval(assembly, { - include: args.include, - exclude: args.exclude, - })); - - // Sort errors to the top (highest severity first) - results.sort((a, b) => b.level - a.level); - - // process results - - for (const diag of results) { - const suppressionKey = `${diag.rule.code}:${diag.scope}`; - - let color; - switch (diag.level) { - case DiagnosticLevel.Success: - if (args.verbose) { - color = colors.gray; - } - break; - case DiagnosticLevel.Error: - errors++; - color = colors.red; - if (args.save) { - excludesToSave.push(suppressionKey); - } - break; - case DiagnosticLevel.Warning: - if (!args.quiet) { - color = colors.yellow; - } - break; - case DiagnosticLevel.Skipped: - if (!args.quiet) { - color = colors.blue; - } - break; - } - - if (color) { - console.error(color(`${DiagnosticLevel[diag.level].toLowerCase()}: [${colors.bold(`awslint:${diag.rule.code}`)}:${colors.bold(diag.scope)}] ${diag.message}`)); - } - } - - if (excludesToSave.length > 0) { - if (!pkg.awslint) { - pkg.awslint = { }; - } - - if (!pkg.awslint.exclude) { - pkg.awslint.exclude = []; - } - - const excludes: string[] = pkg.awslint.exclude; - - for (const exclude of excludesToSave) { - if (excludes.indexOf(exclude) === -1) { - excludes.push(exclude); - } - } - - if (excludes.length > 0) { - await fs.writeJSON(config, pkg, { spaces: 2 }); - } - } - - if (errors && !args.save) { - process.exit(1); - } - - return; - } - - argv.showHelp(); - throw new Error(`Invalid command: ${command}`); - - async function shouldCompile() { - - // if --compile is explicitly enabled then just compile always - if (args.compile === true) { - return true; - } - - // if we have a .jsii file and we are not forced to compile, then don't compile - if (await fs.pathExists(path.join(workdir, '.jsii'))) { - return false; - } - - // we don't have a .jsii file, and --no-compile is explicily set, then it's an error - if (args.compile === false) { - throw new Error(`No .jsii file and --no-compile is set`); - } - - // compile! - return true; - } - -} - -main().catch(e => { - console.error(colors.red(e.message)); - if (stackTrace) { - console.error(e.stack); - } - process.exit(1); -}); - -async function loadModule(dir: string) { - const ts = new reflect.TypeSystem(); - await ts.load(dir, { validate: false }); // Don't validate to save 66% of execution time (20s vs 1min). - // We run 'awslint' during build time, assemblies are guaranteed to be ok. - - if (ts.roots.length !== 1) { - throw new Error(`Expecting only a single root assembly`); - } - - return ts.roots[0]; -} - -function mergeOptions(dest: any, pkg?: any) { - if (!pkg) { return; } // no options in package.json - - for (const [key, value] of Object.entries(pkg)) { - - // if this is an array option, then add values to destination - if (Array.isArray(value)) { - const arr = dest[key] || [ ]; - arr.push(...value); - dest[key] = arr; - continue; - } - - // objects are not allowed - if (typeof value === 'object') { - throw new Error(`Invalid option "${key}" in package.json: ${JSON.stringify(value)}`); - } - - // primitives simply override - dest[key] = value; - } - - return dest; -} - -async function shell(command: string) { - const child = child_process.spawn(command, [], { stdio: [ 'inherit', 'inherit', 'inherit' ]}); - return new Promise((ok, ko) => { - child.once('exit', (status: any) => { - if (status === 0) { - return ok(); - } else { - return ko(new Error(`${command} exited with status ${status}`)); - } - }); - child.once('error', ko); - }); -} diff --git a/tools/awslint/lib/index.ts b/tools/awslint/lib/index.ts deleted file mode 100644 index 6c12fbf0e..000000000 --- a/tools/awslint/lib/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './linter'; -export * from './rules'; diff --git a/tools/awslint/lib/linter.ts b/tools/awslint/lib/linter.ts deleted file mode 100644 index a8b3da0b4..000000000 --- a/tools/awslint/lib/linter.ts +++ /dev/null @@ -1,333 +0,0 @@ -import * as reflect from 'jsii-reflect'; -import { PrimitiveType } from '@jsii/spec'; -import * as util from 'util'; - -export interface LinterOptions { - /** - * List of rules to include. - * @default all rules - */ - include?: string[]; - - /** - * List of rules to exclude (takes precedence on "include") - * @default none - */ - exclude?: string[]; -} - -export abstract class LinterBase { - public abstract rules: Rule[]; - public abstract eval(assembly: reflect.Assembly, options: LinterOptions | undefined): Diagnostic[]; -} - -export class AggregateLinter extends LinterBase { - private linters: LinterBase[]; - - constructor(...linters: LinterBase[]) { - super(); - this.linters = linters; - } - - public get rules(): Rule[] { - const ret = new Array(); - for (const linter of this.linters) { - ret.push(...linter.rules); - } - return ret; - } - - public eval(assembly: reflect.Assembly, options: LinterOptions | undefined): Diagnostic[] { - const diags = new Array(); - for (const linter of this.linters) { - diags.push(...linter.eval(assembly, options)); - } - return diags; - } -} - -/** - * Evaluates a bunch of rules against some context. - */ -export class Linter extends LinterBase { - private readonly _rules: { [name: string]: ConcreteRule } = { }; - - constructor(private readonly init: (assembly: reflect.Assembly) => T | readonly T[] | undefined) { - super(); - } - - public get rules() { - return Object.values(this._rules); - } - - /** - * Install another rule. - */ - public add(rule: ConcreteRule) { - if (rule.code in this._rules) { - throw new Error(`rule "${rule.code}" already exists`); - } - - this._rules[rule.code] = rule; - } - - /** - * Evaluate all rules against the context. - */ - public eval(assembly: reflect.Assembly, options: LinterOptions | undefined): Diagnostic[] { - options = options || { }; - - let ctxs = this.init(assembly); - if (!ctxs) { - return []; // skip - } - - if (!Array.isArray(ctxs)) { - ctxs = [ctxs] as readonly T[]; - } - - const diag = new Array(); - - for (const ctx of ctxs) { - for (const rule of Object.values(this._rules)) { - const evaluation = new Evaluation(ctx, rule, diag, options); - rule.eval(evaluation); - } - } - - return diag; - } -} - -/** - * Passed in to each rule during evaluation. - */ -export class Evaluation { - public readonly ctx: T; - public readonly options: LinterOptions; - - private readonly curr: ConcreteRule; - private readonly diagnostics: Diagnostic[]; - - constructor(ctx: T, rule: ConcreteRule, diagnostics: Diagnostic[], options: LinterOptions) { - this.ctx = ctx; - this.options = options; - this.curr = rule; - this.diagnostics = diagnostics; - } - - /** - * Record a failure if `condition` is not truthy. - * - * @param condition The condition to assert. - * @param scope Used to diagnose the location in the source, and is used in the - * ignore pattern. - * @param extra Used to replace %s in the default message format string. - */ - public assert(condition: any, scope: string, extra?: string): condition is true { - // deduplicate: skip if this specific assertion ("rule:scope") was already examined - if (this.diagnostics.find(d => d.rule.code === this.curr.code && d.scope === scope)) { - return condition; - } - - const include = this.shouldEvaluate(this.curr.code, scope); - const message = util.format(this.curr.message, extra || ''); - - // Don't add a "Success" diagnostic. It will break if we run a compound - // linter rule which consists of 3 checks with the same scope (such - // as for example `assertSignature()`). If the first check fails, we would - // add a "Success" diagnostic and all other diagnostics would be skipped because - // of the deduplication check above. Changing the scope makes it worse, since - // the scope is also the ignore pattern and they're all conceptually the same rule. - // - // Simplest solution is to not record successes -- why do we even need them? - if (include && condition) { return condition; } - - let level: DiagnosticLevel; - if (!include) { - level = DiagnosticLevel.Skipped; - } else if (this.curr.warning) { - level = DiagnosticLevel.Warning; - } else { - level = DiagnosticLevel.Error; - } - - const diag: Diagnostic = { - level, - rule: this.curr, - scope, - message, - }; - - this.diagnostics.push(diag); - - return condition; - } - - public assertEquals(actual: any, expected: any, scope: string) { - return this.assert(actual === expected, scope, ` (expected="${expected}",actual="${actual}")`); - } - - public assertTypesEqual(ts: reflect.TypeSystem, actual: TypeSpecifier, expected: TypeSpecifier, scope: string) { - const a = typeReferenceFrom(ts, actual); - const e = typeReferenceFrom(ts, expected); - return this.assert(a.toString() === e.toString(), scope, ` (expected="${e}",actual="${a}")`); - } - - public assertTypesAssignable(ts: reflect.TypeSystem, actual: TypeSpecifier, expected: TypeSpecifier, scope: string) { - const a = typeReferenceFrom(ts, actual); - const e = typeReferenceFrom(ts, expected); - return this.assert(a.toString() === e.toString() || (a.fqn && e.fqn && a.type!.extends(e.type!)), scope, ` ("${a}" not assignable to "${e}")`); - } - - public assertParameterOptional(actual: boolean, expected: boolean, scope: string) { - return this.assert(actual === expected, scope, ` (${scope} should be ${expected ? 'optional' : 'mandatory'})`); - } - - public assertSignature(method: reflect.Callable, expectations: MethodSignatureExpectations) { - const scope = method.parentType.fqn + '.' + method.name; - if (expectations.returns && reflect.Method.isMethod(method)) { - this.assertTypesEqual(method.system, method.returns.type, expectations.returns, scope); - } - - if (expectations.parameters) { - const expectedCount = expectations.parameters.length; - const actualCount = method.parameters.length; - if (this.assertEquals(actualCount, expectedCount, scope)) { - for (let i = 0; i < expectations.parameters.length; ++i) { - const expect = expectations.parameters[i]; - const actual = method.parameters[i]; - const pscope = scope + `.params[${i}]`; - if (expect.name) { - const expectedName = expect.name; - const actualName = actual.name; - this.assertEquals(actualName, expectedName, pscope); - } - if (expect.type) { - if (expect.subtypeAllowed) { - this.assertTypesAssignable(method.system, actual.type, expect.type, pscope); - } else { - this.assertTypesEqual(method.system, actual.type, expect.type, pscope); - } - } - if (expect.optional !== undefined) { - this.assertParameterOptional(actual.optional, expect.optional, pscope); - } - } - } - } - } - - /** - * Evaluates whether the rule should be evaluated based on the filters applied. - */ - private shouldEvaluate(code: string, scope: string) { - if (!this.options.include || this.options.include.length === 0) { - return true; - } - - for (const include of this.options.include) { - // match include - if (matchRule(include)) { - for (const exclude of this.options.exclude || []) { - // match exclude - if (matchRule(exclude)) { - return false; - } - } - return true; - } - } - - return false; - - function matchRule(filter: string) { - if (filter.indexOf(':') === -1) { - filter += ':*'; // add "*" scope filter if there isn't one - } - - // filter format is "code:scope" and both support "*" suffix to indicate startsWith - const [ codeFilter, scopeFilter ] = filter.split(':'); - return matchPattern(code, codeFilter) && matchPattern(scope, scopeFilter); - } - - function matchPattern(s: string, pattern: string) { - if (pattern.endsWith('*')) { - const prefix = pattern.substr(0, pattern.length - 1); - return s.startsWith(prefix); - } else { - return s === pattern; - } - } - } - -} - -export interface Rule { - code: string, - message: string; - warning?: boolean; -} - -export interface ConcreteRule extends Rule { - eval(linter: Evaluation): void; -} - -/** - * A type constraint - * - * Be super flexible about how types can be represented. Ultimately, we will - * compare what you give to a TypeReference, because that's what's in the JSII - * Reflect model. However, if you already have a real Type, or just a string to - * a user-defined type, that's fine too. We'll Do The Right Thing. - */ -export type TypeSpecifier = reflect.TypeReference | reflect.Type | string; - -export interface MethodSignatureParameterExpectation { - name?: string; - type?: TypeSpecifier; - subtypeAllowed?: boolean; - - /** should this param be optional? */ - optional?: boolean; -} - -export interface MethodSignatureExpectations { - parameters?: MethodSignatureParameterExpectation[]; - returns?: TypeSpecifier; -} - -export enum DiagnosticLevel { - Skipped, - Success, - Warning, - Error, -} - -export interface Diagnostic { - level: DiagnosticLevel; - rule: Rule; - scope: string; - message: string; -} - -/** - * Convert a type specifier to a TypeReference - */ -function typeReferenceFrom(ts: reflect.TypeSystem, x: TypeSpecifier): reflect.TypeReference { - if (isTypeReference(x)) { return x; } - - if (typeof x === 'string') { - if (x.indexOf('.') === -1) { - return new reflect.TypeReference(ts, { primitive: x as PrimitiveType }); - } else { - return new reflect.TypeReference(ts, { fqn: x }); - } - } - - return new reflect.TypeReference(ts, x); -} - -function isTypeReference(x: any): x is reflect.TypeReference { - return x instanceof reflect.TypeReference; -} diff --git a/tools/awslint/lib/rules/api.ts b/tools/awslint/lib/rules/api.ts deleted file mode 100644 index ea4c4818a..000000000 --- a/tools/awslint/lib/rules/api.ts +++ /dev/null @@ -1,145 +0,0 @@ -import reflect = require('jsii-reflect'); -import { Linter } from '../linter'; -import { ConstructReflection } from './construct'; -import { CoreTypes } from './core-types'; - -const EXCLUDE_ANNOTATION_REF_VIA_INTERFACE = '[disable-awslint:ref-via-interface]'; - -// lint all constructs that are not L1 resources -export const apiLinter = new Linter(a => ConstructReflection - .findAllConstructs(a) - .filter(c => !CoreTypes.isCfnResource(c.classType))); - -apiLinter.add({ - code: 'ref-via-interface', - message: 'API should use interface and not the concrete class (%s). ' + - `If this is intentional, add "${EXCLUDE_ANNOTATION_REF_VIA_INTERFACE}" to element's jsdoc`, - eval: e => { - const cls = e.ctx.classType; - const visited = new Set(); - - assertClass(cls); - - function assertClass(type: reflect.ClassType): void { - if (visited.has(type.fqn)) { return; } - visited.add(type.fqn); - - for (const method of type.allMethods) { - assertMethod(method); - } - - if (type.initializer) { - assertMethod(type.initializer); - } - } - - function assertDataType(type: reflect.InterfaceType): void { - for (const property of type.allProperties) { - assertProperty(property); - } - } - - function assertInterface(type: reflect.InterfaceType): void { - if (visited.has(type.fqn)) { return; } - visited.add(type.fqn); - - if (type.datatype) { - assertDataType(type); - } - - for (const method of type.allMethods) { - assertMethod(method); - } - } - - function assertProperty(property: reflect.Property) { - - if (property.protected) { - return; - } - - const site = property.overrides ? property.overrides : property.parentType; - assertType(property.type, property.docs, `${site.fqn}.${property.name}`); - } - - function assertMethod(method: reflect.Callable) { - - if (method.protected) { - return; - } - - const site = method.overrides ? method.overrides : method.parentType; - const scope = `${site.fqn}.${method.name}`; - - let firstMethod: reflect.Callable | undefined = site.isClassType() || site.isInterfaceType() - ? site.allMethods.find(m => m.name === method.name) - : undefined; - - if (!firstMethod) { - firstMethod = method; - } - - for (const param of firstMethod.parameters) { - assertType(param.type, param.docs, `${scope}.${param.name}`); - } - - // note that we do not require that return values will use an interface - } - - function assertType(type: reflect.TypeReference, docs: reflect.Docs, scope: string): void { - if (type.primitive) { - return; - } - - if (type.void) { - return; - } - - if (type.arrayOfType) { - return assertType(type.arrayOfType, docs, scope); - } - - if (type.mapOfType) { - return assertType(type.mapOfType, docs, scope); - } - - if (type.unionOfTypes) { - for (const t of type.unionOfTypes) { - assertType(t, docs, scope); - } - return; - } - - // interfaces are okay - if (type.type && type.type.isInterfaceType()) { - return assertInterface(type.type); - } - - // enums are okay - if (type.type && type.type.isEnumType()) { - return; - } - - // classes are okay as long as they are not resource constructs - if (type.type && type.type.isClassType()) { - if (!CoreTypes.isResourceClass(type.type)) { - return; - } - - if (type.type.fqn === e.ctx.core.constructClass.fqn) { - return; - } - - // allow exclusion of this rule - if (docs.summary.includes(EXCLUDE_ANNOTATION_REF_VIA_INTERFACE) || docs.remarks.includes(EXCLUDE_ANNOTATION_REF_VIA_INTERFACE)) { - return; - } - - e.assert(false, scope, type.type.fqn); - return; - } - - throw new Error(`invalid type reference: ${type.toString()}`); - } - } -}); diff --git a/tools/awslint/lib/rules/attributes.ts b/tools/awslint/lib/rules/attributes.ts deleted file mode 100644 index bd47ded6e..000000000 --- a/tools/awslint/lib/rules/attributes.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Linter } from '../linter'; -import { Attribute, ResourceReflection } from './resource'; - -export const attributesLinter = new Linter(a => { - const result = new Array(); - for (const resource of ResourceReflection.findAll(a)) { - for (const attr of resource.attributes) { - result.push(new AttributeReflection(resource, attr)); - } - } - return result; -}); - -class AttributeReflection { - public readonly fqn: string; - - constructor(public readonly resource: ResourceReflection, public readonly attr: Attribute) { - this.fqn = resource.fqn + '.' + attr.property.name; - } -} - -attributesLinter.add({ - code: 'attribute-readonly', - message: 'attribute property must be readonly', - eval: e => { - e.assert(e.ctx.attr.property.immutable, e.ctx.fqn); - } -}); - -attributesLinter.add({ - code: 'attribute-tag', - message: 'attribute properties must have an "@attribute" doctag on: ', - eval: e => { - const tag = e.ctx.attr.property.docs.customTag('attribute'); - e.assert(tag, e.ctx.fqn, `${e.ctx.attr.property.parentType.fqn}.${e.ctx.attr.property.name}`); - } -}); diff --git a/tools/awslint/lib/rules/cfn-resource.ts b/tools/awslint/lib/rules/cfn-resource.ts deleted file mode 100644 index 168cfbf95..000000000 --- a/tools/awslint/lib/rules/cfn-resource.ts +++ /dev/null @@ -1,86 +0,0 @@ -import * as camelcase from 'camelcase'; -import * as reflect from 'jsii-reflect'; -import { Linter } from '../linter'; -import { CoreTypes } from './core-types'; -import { ResourceReflection } from './resource'; - -// this linter verifies that we have L2 coverage. it finds all "Cfn" classes and verifies -// that we have a corresponding L1 class for it that's identified as a resource. -export const cfnResourceLinter = new Linter(a => CfnResourceReflection.findAll(a)); - -cfnResourceLinter.add({ - code: 'resource-class', - message: `every resource must have a resource class (L2), add '@resource %s' to its docstring`, - warning: true, - eval: e => { - const l2 = ResourceReflection.findAll(e.ctx.classType.assembly).find(r => r.cfn.fullname === e.ctx.fullname); - e.assert(l2, e.ctx.fullname); - } -}); - -export class CfnResourceReflection { - /** - * Finds a Cfn resource class by full CloudFormation resource name (e.g. `AWS::S3::Bucket`) - * @param fullName first two components are case-insensitive (e.g. `aws::s3::Bucket` is equivalent to `Aws::S3::Bucket`) - */ - public static findByName(sys: reflect.TypeSystem, fullName: string) { - for (const cls of sys.classes) { - if (cls.docs.customTag('cloudformationResource')?.toLocaleLowerCase() === fullName.toLocaleLowerCase()) { - return new CfnResourceReflection(cls); - } - } - - return undefined; - } - - /** - * Returns all CFN resource classes within an assembly. - */ - public static findAll(assembly: reflect.Assembly) { - return assembly.classes - .filter(c => CoreTypes.isCfnResource(c)) - .map(c => new CfnResourceReflection(c)); - } - - public readonly classType: reflect.ClassType; - public readonly fullname: string; // AWS::S3::Bucket - public readonly namespace: string; // AWS::S3 - public readonly basename: string; // Bucket - public readonly attributeNames: string[]; // (normalized) bucketArn, bucketName, queueUrl - public readonly doc: string; // link to CloudFormation docs - - constructor(cls: reflect.ClassType) { - this.classType = cls; - - this.basename = cls.name.substr('Cfn'.length); - - // HACK: extract full CFN name from initializer docs - const initializerDoc = (cls.initializer && cls.initializer.docs.docs.summary) || ''; - const out = /a new `([^`]+)`/.exec(initializerDoc); - const fullname = out && out[1]; - if (!fullname) { - throw new Error(`Unable to extract CloudFormation resource name from initializer documentation of ${cls}`); - } - - this.fullname = fullname; - - this.namespace = fullname.split('::').slice(0, 2).join('::'); - - this.attributeNames = cls.ownProperties - .filter(p => (p.docs.docs.custom || {}).cloudformationAttribute) - .map(p => p.docs.customTag('cloudformationAttribute') || '') - .map(p => this.attributePropertyNameFromCfnName(p)); - - this.doc = cls.docs.docs.see || ''; - } - - private attributePropertyNameFromCfnName(name: string): string { - - // special case (someone was smart), special case copied from cfn2ts - if (this.basename === 'SecurityGroup' && name === 'GroupId') { - return 'Id'; - } - - return camelcase(name, { pascalCase: true }); - } -} diff --git a/tools/awslint/lib/rules/cloudwatch-events.ts b/tools/awslint/lib/rules/cloudwatch-events.ts deleted file mode 100644 index 5557d4851..000000000 --- a/tools/awslint/lib/rules/cloudwatch-events.ts +++ /dev/null @@ -1,75 +0,0 @@ -import * as reflect from 'jsii-reflect'; -import { Linter } from '../linter'; -import { ConstructReflection } from './construct'; -import { CoreTypes } from './core-types'; - -export const eventsLinter = new Linter(assembly => assembly.classes - .filter(t => CoreTypes.isConstructClass(t)) - .map(construct => new EventsReflection(construct))); - -export class EventsReflection extends ConstructReflection { - public get directEventMethods() { - return this.classType.allMethods.filter(isDirectEventMethod); - } - - public get cloudTrailEventMethods() { - return this.classType.allMethods.filter(isCloudTrailEventMethod); - } -} - -const ON_EVENT_OPTIONS_FQN = '@aws-cdk/aws-events.OnEventOptions'; -const EVENT_RULE_FQN = '@aws-cdk/aws-events.Rule'; - -eventsLinter.add({ - code: 'events-in-interface', - message: `'onXxx()' methods should also be defined on construct interface`, - eval: e => { - for (const method of e.ctx.directEventMethods.concat(e.ctx.cloudTrailEventMethods)) { - e.assert(!e.ctx.interfaceType || e.ctx.interfaceType.allMethods.filter(m => !m.protected).some(m => m.name === method.name), `${e.ctx.fqn}.${method.name}`); - } - } -}); - -eventsLinter.add({ - code: 'events-generic', - message: `if there are specific 'onXxx()' methods, there should also be a generic 'onEvent()' method`, - eval: e => { - e.assert(e.ctx.directEventMethods.length === 0 || e.ctx.classType.allMethods.some(m => m.name === 'onEvent'), e.ctx.fqn); - } -}); - -eventsLinter.add({ - code: 'events-generic-cloudtrail', - message: `if there are specific 'onCloudTrailXxx()' methods, there should also be a generic 'onCloudTrailEvent()' method`, - eval: e => { - e.assert(e.ctx.cloudTrailEventMethods.length === 0 || e.ctx.classType.allMethods.some(m => m.name === 'onCloudTrailEvent'), e.ctx.fqn); - } -}); - -eventsLinter.add({ - code: 'events-method-signature', - message: `all 'onXxx()' methods should have the CloudWatch Events signature (id: string, options: events.OnEventOptions = {}) => events.Rule`, - eval: e => { - for (const method of e.ctx.directEventMethods) { - // give slack to protected methods like "onSynthesize", "onPrepare", ... - if (method.protected) { - continue; - } - e.assertSignature(method, { - parameters: [ - { type: 'string' }, - { type: ON_EVENT_OPTIONS_FQN, subtypeAllowed: true, optional: true }, - ], - returns: EVENT_RULE_FQN - }); - } - } -}); - -function isDirectEventMethod(m: reflect.Method) { - return !m.protected && m.name.startsWith('on') && ! m.name.startsWith('onCloudTrail'); -} - -function isCloudTrailEventMethod(m: reflect.Method) { - return m.name.startsWith('onCloudTrail'); -} diff --git a/tools/awslint/lib/rules/construct.ts b/tools/awslint/lib/rules/construct.ts deleted file mode 100644 index 6d91a6622..000000000 --- a/tools/awslint/lib/rules/construct.ts +++ /dev/null @@ -1,278 +0,0 @@ -import reflect = require('jsii-reflect'); -import { Linter, MethodSignatureParameterExpectation } from '../linter'; -import { CoreTypes } from './core-types'; - -export const constructLinter = new Linter(assembly => assembly.classes - .filter(t => CoreTypes.isConstructClass(t)) - .map(construct => new ConstructReflection(construct))); - -export class ConstructReflection { - - public static findAllConstructs(assembly: reflect.Assembly) { - return assembly.classes - .filter(c => CoreTypes.isConstructClass(c)) - .map(c => new ConstructReflection(c)); - } - - public static getFqnFromTypeRef(typeRef: reflect.TypeReference) { - if (typeRef.arrayOfType) { - return typeRef.arrayOfType.fqn; - } else if (typeRef.mapOfType) { - return typeRef.mapOfType.fqn; - } - - return typeRef.fqn; - } - - public readonly ROOT_CLASS: reflect.ClassType; // cdk.Construct - - public readonly fqn: string; - public readonly interfaceFqn: string; - public readonly propsFqn: string; - public readonly interfaceType?: reflect.InterfaceType; - public readonly propsType?: reflect.InterfaceType; - public readonly initializer?: reflect.Initializer; - public readonly hasPropsArgument: boolean; - public readonly sys: reflect.TypeSystem; - public readonly core: CoreTypes; - - constructor(public readonly classType: reflect.ClassType) { - this.fqn = classType.fqn; - this.sys = classType.system; - this.core = new CoreTypes(this.sys); - this.ROOT_CLASS = this.sys.findClass(this.core.constructClass.fqn); - this.interfaceFqn = `${classType.assembly.name}.I${classType.name}`; - this.propsFqn = `${classType.assembly.name}.${classType.name}Props`; - this.interfaceType = this.tryFindInterface(); - this.propsType = this.tryFindProps(); - this.initializer = classType.initializer; - this.hasPropsArgument = this.initializer != null && this.initializer.parameters.length >= 3; - } - - private tryFindInterface() { - const sys = this.classType.system; - const found = sys.tryFindFqn(this.interfaceFqn); - if (!found) { - return undefined; - } - - if (!found.isInterfaceType()) { - throw new Error(`Expecting type ${this.interfaceFqn} to be an interface`); - } - - return found; - } - - private tryFindProps() { - const found = this.sys.tryFindFqn(this.propsFqn); - if (!found) { - return undefined; - } - - if (!found.isInterfaceType()) { - throw new Error(`Expecting props struct ${this.propsFqn} to be an interface`); - } - - return found; - } -} - -constructLinter.add({ - code: 'construct-ctor', - message: 'signature of all construct constructors should be "scope, id, props"', - eval: e => { - // only applies to non abstract classes - if (e.ctx.classType.abstract) { - return; - } - - const initializer = e.ctx.initializer; - if (!e.assert(initializer, e.ctx.fqn)) { - return; - } - - const expectedParams = new Array(); - - expectedParams.push({ - name: 'scope', - type: e.ctx.core.constructClass.fqn - }); - - expectedParams.push({ - name: 'id', - type: 'string' - }); - - // it's okay for a construct not to have a "props" argument so we only - // assert the "props" argument if there are more than two parameters - if (initializer.parameters.length > 2) { - expectedParams.push({ - name: 'props', - }); - } - - e.assertSignature(initializer, { - parameters: expectedParams - }); - } -}); - -constructLinter.add({ - code: 'props-struct-name', - message: 'all constructs must have a props struct', - eval: e => { - if (!e.ctx.hasPropsArgument) { - return; - } - - // abstract classes are exempt - if (e.ctx.classType.abstract) { - return; - } - - e.assert(e.ctx.propsType, e.ctx.interfaceFqn); - } -}); - -constructLinter.add({ - code: 'construct-ctor-props-type', - message: 'construct "props" type should use the props struct %s', - eval: e => { - if (!e.ctx.initializer) { return; } - if (e.ctx.initializer.parameters.length < 3) { return; } - - e.assert( - e.ctx.initializer.parameters[2].type.type === e.ctx.propsType, - e.ctx.fqn, - e.ctx.propsFqn); - } -}); - -constructLinter.add({ - code: 'construct-ctor-props-optional', - message: 'construct "props" must be optional since all props are optional', - eval: e => { - if (!e.ctx.propsType) { return; } - if (!e.ctx.initializer) { return; } - if (!e.ctx.hasPropsArgument) { return; } - - // this rule applies only if all properties are optional - const allOptional = e.ctx.propsType.allProperties.every(p => p.optional); - if (!allOptional) { - return; - } - - e.assert(e.ctx.initializer.parameters[2].optional, e.ctx.fqn); - } -}); - -constructLinter.add({ - code: 'construct-interface-extends-iconstruct', - message: 'construct interface must extend core.IConstruct', - eval: e => { - if (!e.ctx.interfaceType) { return; } - const interfaceBase = e.ctx.sys.findInterface(e.ctx.core.constructInterface.fqn); - e.assert(e.ctx.interfaceType.extends(interfaceBase), e.ctx.interfaceType.fqn); - } -}); - -constructLinter.add({ - code: 'construct-base-is-private', - message: 'prefer that the construct base class is private', - warning: true, - eval: e => { - if (!e.ctx.interfaceType) { return; } - const baseFqn = `${e.ctx.classType.fqn}Base`; - e.assert(!e.ctx.sys.tryFindFqn(baseFqn), baseFqn); - } -}); - -constructLinter.add({ - code: 'props-no-unions', - message: 'props must not use TypeScript unions', - eval: e => { - if (!e.ctx.propsType) { return; } - if (!e.ctx.hasPropsArgument) { return; } - - // this rule does not apply to L1 constructs - if (CoreTypes.isCfnResource(e.ctx.classType)) { return; } - - for (const property of e.ctx.propsType.ownProperties) { - e.assert(!property.type.unionOfTypes, `${e.ctx.propsFqn}.${property.name}`); - } - } -}); - -constructLinter.add({ - code: 'props-no-arn-refs', - message: 'props must use strong types instead of attributes. props should not have "arn" suffix', - eval: e => { - if (!e.ctx.propsType) { return; } - if (!e.ctx.hasPropsArgument) { return; } - - // this rule does not apply to L1 constructs - if (CoreTypes.isCfnResource(e.ctx.classType)) { return; } - - for (const property of e.ctx.propsType.ownProperties) { - e.assert(!property.name.toLowerCase().endsWith('arn'), `${e.ctx.propsFqn}.${property.name}`); - } - } -}); - -constructLinter.add({ - code: 'props-no-tokens', - message: 'props must not use the "Token" type', - eval: e => { - if (!e.ctx.propsType) { return; } - if (!e.ctx.hasPropsArgument) { return; } - - // this rule does not apply to L1 constructs - if (CoreTypes.isCfnResource(e.ctx.classType)) { return; } - - for (const property of e.ctx.propsType.allProperties) { - const fqn = ConstructReflection.getFqnFromTypeRef(property.type); - - const found = (fqn && e.ctx.sys.tryFindFqn(fqn)); - if (found) { - e.assert(!(fqn === e.ctx.core.tokenInterface.fqn), `${e.ctx.propsFqn}.${property.name}`); - } - } - } -}); - -constructLinter.add({ - code: 'props-no-cfn-types', - message: 'props must not expose L1 types (types which start with "Cfn")', - eval: e => { - if (!e.ctx.propsType) { return; } - if (!e.ctx.hasPropsArgument) { return; } - - // this rule does not apply to L1 constructs - if (CoreTypes.isCfnResource(e.ctx.classType)) { return; } - - for (const property of e.ctx.propsType.ownProperties) { - const fqn = ConstructReflection.getFqnFromTypeRef(property.type); - - const found = (fqn && e.ctx.sys.tryFindFqn(fqn)); - if (found) { - e.assert(!found.name.toLowerCase().startsWith('cfn'), `${e.ctx.propsFqn}.${property.name}`); - } - } - } -}); - -constructLinter.add({ - code: 'props-no-any', - message: 'props must not use Typescript "any" type', - eval: e => { - if (!e.ctx.propsType) { return; } - if (!e.ctx.hasPropsArgument) { return; } - - // this rule does not apply to L1 constructs - if (CoreTypes.isCfnResource(e.ctx.classType)) { return; } - - for (const property of e.ctx.propsType.ownProperties) { - e.assert(!property.type.isAny, `${e.ctx.propsFqn}.${property.name}`); - } - } -}); diff --git a/tools/awslint/lib/rules/core-types.ts b/tools/awslint/lib/rules/core-types.ts deleted file mode 100644 index 7902efee4..000000000 --- a/tools/awslint/lib/rules/core-types.ts +++ /dev/null @@ -1,142 +0,0 @@ -import reflect = require("jsii-reflect"); -import { TypeSystem } from "jsii-reflect"; -import { getDocTag } from "./util"; - -const CORE_MODULE = "@aws-cdk/core"; -enum CoreTypesFqn { - CfnResource = "@aws-cdk/core.CfnResource", - Construct = "@aws-cdk/core.Construct", - ConstructInterface = "@aws-cdk/core.IConstruct", - Resource = "@aws-cdk/core.Resource", - ResourceInterface = "@aws-cdk/core.IResource", - ResolvableInterface = "@aws-cdk/core.IResolvable", - PhysicalName = "@aws-cdk/core.PhysicalName" -} - -export class CoreTypes { - - /** - * @returns true if assembly has the Core module - */ - public static hasCoreModule(assembly: reflect.Assembly) { - return (!assembly.system.assemblies.find(a => a.name === CORE_MODULE)); - } - - /** - * @returns true if `classType` represents an L1 Cfn Resource - */ - public static isCfnResource(c: reflect.ClassType) { - if (!c.system.includesAssembly(CORE_MODULE)) { - return false; - } - - // skip CfnResource itself - if (c.fqn === CoreTypesFqn.CfnResource) { - return false; - } - - if (!this.isConstructClass(c)) { - return false; - } - - const cfnResourceClass = c.system.findFqn(CoreTypesFqn.CfnResource); - if (!c.extends(cfnResourceClass)) { - return false; - } - - if (!c.name.startsWith("Cfn")) { - return false; - } - - return true; - } - - /** - * @returns true if `classType` represents a Construct - */ - public static isConstructClass(c: reflect.ClassType) { - if (!c.system.includesAssembly(CORE_MODULE)) { - return false; - } - - if (!c.isClassType()) { - return false; - } - - if (c.abstract) { - return false; - } - - return c.extends(c.system.findFqn(CoreTypesFqn.Construct)); - } - - /** - * @returns true if `classType` represents an AWS resource (i.e. extends `cdk.Resource`). - */ - public static isResourceClass(classType: reflect.ClassType) { - const baseResource = classType.system.findClass(CoreTypesFqn.Resource); - return classType.extends(baseResource) || getDocTag(classType, "resource"); - } - - /** - * Return true if the given interface type is a CFN class or prop type - */ - public static isCfnType(interfaceType: reflect.Type) { - return interfaceType.name.startsWith('Cfn') || (interfaceType.namespace && interfaceType.namespace.startsWith('Cfn')); - } - - /** - * @returns `classType` for the core type Construct - */ - public get constructClass() { - return this.sys.findClass(CoreTypesFqn.Construct); - } - - /** - * @returns `interfacetype` for the core type Construct - */ - public get constructInterface() { - return this.sys.findInterface(CoreTypesFqn.ConstructInterface); - } - - /** - * @returns `classType` for the core type Construct - */ - public get resourceClass() { - return this.sys.findClass(CoreTypesFqn.Resource); - } - - /** - * @returns `interfaceType` for the core type Resource - */ - public get resourceInterface() { - return this.sys.findInterface(CoreTypesFqn.ResourceInterface); - } - - /** - * @returns `classType` for the core type Token - */ - public get tokenInterface() { - return this.sys.findInterface(CoreTypesFqn.ResolvableInterface); - } - - public get physicalNameClass() { - return this.sys.findClass(CoreTypesFqn.PhysicalName) - } - - private readonly sys: TypeSystem; - - constructor(sys: reflect.TypeSystem) { - this.sys = sys; - if (!sys.includesAssembly(CORE_MODULE)) { - // disable-all-checks - return; - } - - for (const fqn of Object.values(CoreTypesFqn)) { - if (!this.sys.tryFindFqn(fqn)) { - throw new Error(`core FQN type not found: ${fqn}`); - } - } - } -} diff --git a/tools/awslint/lib/rules/docs.ts b/tools/awslint/lib/rules/docs.ts deleted file mode 100644 index 17d51359f..000000000 --- a/tools/awslint/lib/rules/docs.ts +++ /dev/null @@ -1,117 +0,0 @@ -import reflect = require('jsii-reflect'); -import { Linter } from '../linter'; -import { CoreTypes } from './core-types'; - -type DocsLinterContext = { - readonly assembly: reflect.Assembly; - readonly errorKey: string; -} & ({ readonly kind: 'type'; documentable: reflect.Type } - | { readonly kind: 'interface-property'; containingType: reflect.InterfaceType; documentable: reflect.Property } - | { readonly kind: 'class-property'; containingType: reflect.ClassType; documentable: reflect.Property } - | { readonly kind: 'method'; containingType: reflect.ReferenceType; documentable: reflect.Method } - | { readonly kind: 'enum-member'; containingType: reflect.EnumType; documentable: reflect.EnumMember } -); - -export const docsLinter = new Linter(assembly => { - return [ - ...flatMap(assembly.classes, classType => [ - { assembly, kind: 'type', documentable: classType, errorKey: classType.fqn }, - ...classType.ownProperties.map(property => ({ assembly, kind: 'class-property', containingType: classType, documentable: property, errorKey: `${classType.fqn}.${property.name}` })), - ...classType.ownMethods.map(method => ({ assembly, kind: 'method', containingType: classType, documentable: method, errorKey: `${classType.fqn}.${method.name}` })), - ]), - ...flatMap(assembly.interfaces, interfaceType => [ - { assembly, kind: 'type', documentable: interfaceType, errorKey: interfaceType.fqn }, - // tslint:disable-next-line:max-line-length - ...interfaceType.ownProperties.map(property => ({ assembly, kind: 'interface-property', containingType: interfaceType, documentable: property, errorKey: `${interfaceType.fqn}.${property.name}` })), - ...interfaceType.ownMethods.map(method => ({ assembly, kind: 'method', containingType: interfaceType, documentable: method, errorKey: `${interfaceType.fqn}.${method.name}` })), - ]), - ...flatMap(assembly.enums, enumType => [ - { assembly, kind: 'type', documentable: enumType, errorKey: enumType.fqn }, - ...enumType.members.map(member => ({ assembly, kind: 'enum-member', containingType: enumType, documentable: member, errorKey: `${enumType.fqn}.${member.name}` })) - ]), - ] as DocsLinterContext[]; -}); - -docsLinter.add({ - code: 'docs-public-apis', - message: 'Public API element must have a docstring', - eval: e => { - if (!isPublic(e.ctx)) { return; } - // this rule does not apply to L1 constructs - if (isCfnType(e.ctx)) { return; } - - if (!e.ctx.documentable.docs.summary) { - e.assert(e.ctx.documentable.docs.summary, e.ctx.errorKey); - } - } -}); - -docsLinter.add({ - code:'docs-constructs-resourcesDeployed', - message: 'Constructs must contain an @ResourcesDeployed tag', - eval: e => { - if (e.ctx.kind !== 'type') { return; } - if (isCfnType(e.ctx)) { return; } - const ConstructClass = e.ctx.assembly.system.findFqn("@aws-cdk/core.Construct"); - const property = e.ctx.documentable; - if (!property.extends(ConstructClass)) { return; } - - e.assert(property.docs.docs.custom?.['ResourcesDeployed'], e.ctx.errorKey) - } -}); - -docsLinter.add({ - code: 'props-default-doc', - message: 'Optional property must have @default documentation', - eval: e => { - if (e.ctx.kind !== 'interface-property') { return; } - if (!e.ctx.containingType.isDataType()) { return; } - // this rule does not apply to L1 constructs - if (CoreTypes.isCfnType(e.ctx.containingType)) { return; } - - const property = e.ctx.documentable; - e.assert(!property.optional || property.docs.docs.default !== undefined, e.ctx.errorKey); - } -}); - -docsLinter.add({ - code: 'props-no-undefined-default', - message: `'@default undefined' is not helpful. Users will know the VALUE is literally 'undefined' if they don't specify it, but what is the BEHAVIOR if they do so?`, - eval: e => { - if (e.ctx.kind !== 'interface-property') { return; } - if (!e.ctx.containingType.isDataType()) { return; } - - const property = e.ctx.documentable; - e.assert(property.docs.docs.default !== 'undefined', e.ctx.errorKey); - } -}); - -function isPublic(ctx: DocsLinterContext) { - switch (ctx.kind) { - case "class-property": - case "interface-property": - case "method": - return !ctx.documentable.protected; - - case "enum-member": - case "type": - return true; - } -} - -function isCfnType(ctx: DocsLinterContext) { - switch (ctx.kind) { - case "class-property": - case "interface-property": - case "method": - case "enum-member": - return CoreTypes.isCfnType(ctx.containingType); - - case "type": - return CoreTypes.isCfnType(ctx.documentable); - } -} - -function flatMap(array: readonly T[], callbackfn: (value: T, index: number, array: readonly T[]) => U[]): U[] { - return Array.prototype.concat(...array.map(callbackfn)); -} diff --git a/tools/awslint/lib/rules/durations.ts b/tools/awslint/lib/rules/durations.ts deleted file mode 100644 index 111f3d864..000000000 --- a/tools/awslint/lib/rules/durations.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Property } from 'jsii-reflect'; -import { Linter } from '../linter'; - -const DURATION_FQN = '@aws-cdk/core.Duration'; -const DURATION_SUFFIX = /(Days|Milli(?:(?:S|s)econd)?s?|Sec(?:ond)?s?)$/; - -export const durationsLinter = new Linter(assm => { - const result = new Array(); - const generatedClassesPrefix = `${assm.name}.Cfn`; - for (const type of assm.types) { - // L1 classes are exempted from this rule, doing basic name matching here... - if (type.fqn.startsWith(generatedClassesPrefix)) { continue; } - if (!type.isClassType() && !type.isDataType() && !type.isInterfaceType()) { continue; } - for (const property of type.allProperties) { - if (isDurationProperty(property)) { - result.push(property); - } - } - } - return result; - - function isDurationProperty(prop: Property): boolean { - const lowerCaseName = prop.name.toLowerCase(); - // No lookbehind in JS regexes, so excluding "*PerSecond" by hand here... - return (DURATION_SUFFIX.test(prop.name) && !/PerSecond$/.test(prop.name)) - || lowerCaseName.endsWith('duration') - || lowerCaseName.endsWith('period') - || lowerCaseName.endsWith('timeout') - || lowerCaseName.endsWith('ttl') - || prop.type.fqn === DURATION_FQN; - } -}); - -durationsLinter.add({ - code: 'duration-prop-type', - message: `property must be typed ${DURATION_FQN}`, - eval: evaluation => { - evaluation.assert(evaluation.ctx.type.fqn === DURATION_FQN, - `${evaluation.ctx.parentType.fqn}.${evaluation.ctx.name}`); - }, -}); - -durationsLinter.add({ - code: 'duration-prop-name', - message: 'property must not use time-unit suffix', - eval: evaluation => { - evaluation.assert(!DURATION_SUFFIX.test(evaluation.ctx.name), - `${evaluation.ctx.parentType.fqn}.${evaluation.ctx.name}`, - `(suggested name: "${evaluation.ctx.name.replace(DURATION_SUFFIX, '')}")`); - }, -}); diff --git a/tools/awslint/lib/rules/exports.ts b/tools/awslint/lib/rules/exports.ts deleted file mode 100644 index 1f2ef01d3..000000000 --- a/tools/awslint/lib/rules/exports.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Linter } from '../linter'; - -export const exportsLinter = new Linter(assembly => assembly.types); - -exportsLinter.add({ - code: 'no-export', - message: 'the "export" methods are deprecated', - eval: e => { - if (e.ctx.isClassType() || e.ctx.isInterfaceType()) { - e.assert(!e.ctx.allMethods.some(m => m.name === 'export'), e.ctx.fqn); - } - } -}); diff --git a/tools/awslint/lib/rules/imports.ts b/tools/awslint/lib/rules/imports.ts deleted file mode 100644 index 1c60d2cc0..000000000 --- a/tools/awslint/lib/rules/imports.ts +++ /dev/null @@ -1,113 +0,0 @@ -import * as reflect from 'jsii-reflect'; -import { Linter } from '../linter'; -import { AttributeSite, ResourceReflection } from './resource'; - -export const importsLinter = new Linter(assembly => ResourceReflection - .findAll(assembly) - .filter(r => r.construct && r.construct.interfaceType) // only resources that have an interface can have "fromXxx" methods - .map(construct => new ImportsReflection(construct))); - -class ImportsReflection { - public readonly fromMethods: reflect.Method[]; - public readonly prefix: string; - public readonly fromAttributesMethodName: string; - public readonly fromAttributesMethod?: reflect.Method; - public readonly attributesStructName: string; - public readonly attributesStruct?: reflect.InterfaceType; - - constructor(public readonly resource: ResourceReflection) { - const sys = resource.sys; - this.prefix = `from${resource.basename}`; - const classType = resource.construct.classType; - this.fromAttributesMethodName = `${this.prefix}Attributes`; - this.fromAttributesMethod = classType.allMethods.find(x => x.name === this.fromAttributesMethodName); - - this.fromMethods = classType.allMethods.filter(x => - x.static - && x.name.match(`^${this.prefix}[A-Z]`) - && x.name !== this.fromAttributesMethodName); - - const attributesStructFqn = `${classType.fqn}Attributes`; - const attributesStruct = sys.tryFindFqn(attributesStructFqn); - if (attributesStruct) { - if (!attributesStruct.isInterfaceType() || !attributesStruct.isDataType()) { - throw new Error(`Attributes type ${attributesStructFqn} must be an interface struct`); - } - } - this.attributesStructName = attributesStructFqn; - this.attributesStruct = attributesStruct; - } -} - -importsLinter.add({ - code: 'no-static-import', - message: 'static "import" methods are deprecated in favor of "fromAttributes" (see guidelines)', - eval: e => { - const hasImport = e.ctx.resource.construct.classType.allMethods.find(x => x.static && x.name === 'import'); - e.assert(!hasImport, e.ctx.resource.fqn + '.import'); - } -}); - -importsLinter.add({ - code: 'from-method', - message: 'resource should have at least one "fromXxx" static method or "fromXxxAttributes"', - eval: e => { - // no attributes are defined on the interface, so we don't expect any "from" methods. - if (!e.ctx.resource.attributes.some(a => a.site === AttributeSite.Interface)) { - return; - } - - e.assert(e.ctx.fromMethods.length > 0 || e.ctx.fromAttributesMethod, e.ctx.resource.fqn); - } -}); - -importsLinter.add({ - code: 'from-signature', - message: 'invalid method signature for fromXxx method', - eval: e => { - for (const method of e.ctx.fromMethods) { - - // "fromRoleArn" => "roleArn" - const argName = e.ctx.resource.basename[0].toLocaleLowerCase() + method.name.slice('from'.length + 1); - - e.assertSignature(method, { - parameters: [ - { name: 'scope', type: e.ctx.resource.construct.ROOT_CLASS }, - { name: 'id', type: 'string' }, - { name: argName, type: 'string' } - ], - returns: e.ctx.resource.construct.interfaceType - }); - } - } -}); - -importsLinter.add({ - code: 'from-attributes', - message: 'static fromXxxAttributes is a factory of IXxx from its primitive attributes', - eval: e => { - if (!e.ctx.fromAttributesMethod) { - return; - } - - e.assertSignature(e.ctx.fromAttributesMethod, { - parameters: [ - { name: 'scope', type: e.ctx.resource.construct.ROOT_CLASS }, - { name: 'id', type: 'string' }, - { name: 'attrs', type: e.ctx.attributesStruct } - ] - }); - } -}); - -importsLinter.add({ - code: 'from-attributes-struct', - message: 'resource should have an XxxAttributes struct', - eval: e => { - if (!e.ctx.fromAttributesMethod) { - return; // no "fromAttributes" method - } - - e.assert(e.ctx.attributesStruct, e.ctx.attributesStructName); - } -}); diff --git a/tools/awslint/lib/rules/index.ts b/tools/awslint/lib/rules/index.ts deleted file mode 100644 index c1ca11250..000000000 --- a/tools/awslint/lib/rules/index.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { AggregateLinter } from '../linter'; -import { apiLinter } from './api'; -import { attributesLinter } from './attributes'; -import { cfnResourceLinter } from './cfn-resource'; -import { eventsLinter } from './cloudwatch-events'; -import { constructLinter } from './construct'; -import { docsLinter } from './docs'; -import { durationsLinter } from './durations'; -import { exportsLinter } from './exports'; -import { importsLinter } from './imports'; -import { integrationLinter } from './integrations'; -import { moduleLinter } from './module'; -import { noUnusedTypeLinter } from './no-unused-type'; -import { publicStaticPropertiesLinter } from './public-static-properties'; -import { resourceLinter } from './resource'; - -export const ALL_RULES_LINTER = new AggregateLinter( - moduleLinter, - constructLinter, - cfnResourceLinter, - resourceLinter, - apiLinter, - importsLinter, - attributesLinter, - exportsLinter, - eventsLinter, - integrationLinter, - noUnusedTypeLinter, - durationsLinter, - publicStaticPropertiesLinter, - docsLinter -); diff --git a/tools/awslint/lib/rules/integrations.ts b/tools/awslint/lib/rules/integrations.ts deleted file mode 100644 index 8f1978cc7..000000000 --- a/tools/awslint/lib/rules/integrations.ts +++ /dev/null @@ -1,32 +0,0 @@ -import reflect = require('jsii-reflect'); -import { Linter } from '../linter'; -import { memberFqn } from './util'; - -export const integrationLinter = new Linter(assembly => assembly.interfaces - .filter(IntegrationReflection.isIntegrationInterface) - .map(construct => new IntegrationReflection(construct))); - -const BIND_METHOD_NAME = 'bind'; - -class IntegrationReflection { - public static isIntegrationInterface(x: reflect.InterfaceType): boolean { - return x.allMethods.some(m => m.name === BIND_METHOD_NAME); - } - - constructor(public readonly integrationInterface: reflect.InterfaceType) { - } - - public get bindMethod(): reflect.Method { - return this.integrationInterface.allMethods.find(m => m.name === BIND_METHOD_NAME)!; - } -} - -integrationLinter.add({ - code: 'integ-return-type', - message: `'bind(...)' should return a type named 'XxxConfig'`, - eval: e => { - const returnsFqn = e.ctx.bindMethod.returns.type.fqn; - - e.assert(returnsFqn && returnsFqn.endsWith('Config'), memberFqn(e.ctx.bindMethod)); - } -}); diff --git a/tools/awslint/lib/rules/module.ts b/tools/awslint/lib/rules/module.ts deleted file mode 100644 index 1b631015d..000000000 --- a/tools/awslint/lib/rules/module.ts +++ /dev/null @@ -1,41 +0,0 @@ -import reflect = require('jsii-reflect'); -import { Linter } from '../linter'; -import { CfnResourceReflection } from './cfn-resource'; - -interface ModuleLinterContext { - readonly assembly: reflect.Assembly; - readonly namespace: string; -} - -export const moduleLinter = new Linter(assembly => { - const cfnResources = CfnResourceReflection.findAll(assembly); - if (cfnResources.length === 0) { - return undefined; // no resources - } - - return [ { - assembly, - namespace: cfnResources[0].namespace - } ]; -}); - -moduleLinter.add( { - code: 'module-name', - message: 'module name must be @aws-cdk/aws-', - eval: e => { - if (!e.ctx.namespace) { return; } - if (!e.ctx.assembly) { return; } - const namespace = overrideNamespace(e.ctx.namespace.toLocaleLowerCase().replace('::', '-')); - e.assertEquals(e.ctx.assembly.name, `@aws-cdk/${namespace}`, e.ctx.assembly.name); - } -}); - -/** - * Overrides special-case namespaces like aws-serverless=>aws-sam - */ -function overrideNamespace(namespace: string) { - if (namespace === 'aws-serverless') { - return 'aws-sam'; - } - return namespace; -} diff --git a/tools/awslint/lib/rules/no-unused-type.ts b/tools/awslint/lib/rules/no-unused-type.ts deleted file mode 100644 index 7cf59b8b0..000000000 --- a/tools/awslint/lib/rules/no-unused-type.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { Assembly, SourceLocation, Type, TypeReference } from 'jsii-reflect'; -import { Linter } from '../linter'; - -export const noUnusedTypeLinter = new Linter(assm => { - // Only care about AWS Construct Library here... - if (!assm.name.startsWith('@aws-cdk/aws-')) { - return []; - } - const usedTypes = _collectUsedTypes(assm); - const generatedFqnPrefix = `${assm.name}.Cfn`; - return assm.types.filter(type => !type.isClassType()) - .filter(type => !type.fqn.startsWith(generatedFqnPrefix)) - .map(inspectedType => ({ inspectedType, usedTypes })); -}); - -noUnusedTypeLinter.add({ - code: 'no-unused-type', - message: 'type or enum is not used by exported classes', - eval: evaluation => { - evaluation.assert(evaluation.ctx.usedTypes.has(evaluation.ctx.inspectedType.fqn), - evaluation.ctx.inspectedType.fqn, - _formatLocation(evaluation.ctx.inspectedType.locationInModule)); - } -}); - -function _collectUsedTypes(assm: Assembly): Set { - const result = new Set(); - assm.types.filter(type => type.isClassType()) - .forEach(_visitType); - return result; - - function _visitType(type: Type) { - if (typeof type === 'string') { - const resolvedType = assm.tryFindType(type); - if (!resolvedType) { - return; - } - type = resolvedType; - } - if (result.has(type.fqn)) { return; } - result.add(type.fqn); - - // Nothing else to do for enums - if (type.isEnumType()) { return; } - - if (type.isClassType()) { - if (type.base) { _visitType(type.base); } - if (type.initializer) { - for (const param of type.initializer.parameters) { - _visitTypeRef(param.type); - } - } - } - if (type.isClassType() || type.isInterfaceType()) { - type.interfaces.forEach(_visitType); - for (const prop of type.ownProperties) { - _visitTypeRef(prop.type); - } - for (const meth of type.ownMethods) { - _visitTypeRef(meth.returns.type); - for (const param of meth.parameters) { - _visitTypeRef(param.type); - } - } - } - } - - function _visitTypeRef(typeRef: TypeReference) { - if (typeRef.fqn) { - const type = assm.tryFindType(typeRef.fqn); - if (type) { _visitType(type); } - } else if (typeRef.arrayOfType) { - _visitTypeRef(typeRef.arrayOfType); - } else if (typeRef.mapOfType) { - _visitTypeRef(typeRef.mapOfType); - } else if (typeRef.unionOfTypes) { - typeRef.unionOfTypes.forEach(_visitTypeRef); - } - } -} - -function _formatLocation(location: SourceLocation | undefined): string | undefined { - if (!location) { return undefined; } - return `(declared at ${location.filename}:${location.line})`; -} diff --git a/tools/awslint/lib/rules/public-static-properties.ts b/tools/awslint/lib/rules/public-static-properties.ts deleted file mode 100644 index acf78d7ee..000000000 --- a/tools/awslint/lib/rules/public-static-properties.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Property } from 'jsii-reflect'; -import { Linter } from '../linter'; - -const UPPER_SNAKE_CASE_ALLOWED_PATTERN = new RegExp('^[A-Z0-9][A-Z0-9_]*[A-Z0-9]+$'); - -export const publicStaticPropertiesLinter = new Linter(assembly => { - const result = new Array(); - for (const c of assembly.classes) { - for (const property of c.allProperties) { - if (property.const && property.static) { - result.push(property); - } - } - } - return result; -}); - -publicStaticPropertiesLinter.add({ - code: 'public-static-props-all-caps', - message: 'public static properties must be named using ALL_CAPS', - eval: e => { - const name = e.ctx.name; - e.assert(UPPER_SNAKE_CASE_ALLOWED_PATTERN.test(name), `${e.ctx.parentType.fqn}.${name}`); - } -}); diff --git a/tools/awslint/lib/rules/resource.ts b/tools/awslint/lib/rules/resource.ts deleted file mode 100644 index aeabbc18e..000000000 --- a/tools/awslint/lib/rules/resource.ts +++ /dev/null @@ -1,279 +0,0 @@ -import camelcase = require('camelcase'); -import reflect = require('jsii-reflect'); -import { Linter } from '../linter'; -import { CfnResourceReflection } from './cfn-resource'; -import { ConstructReflection } from './construct'; -import { CoreTypes } from './core-types'; -import { getDocTag } from './util'; - -const GRANT_RESULT_FQN = '@aws-cdk/aws-iam.Grant'; - -export const resourceLinter = new Linter(a => ResourceReflection.findAll(a)); - -export interface Attribute { - site: AttributeSite; - property: reflect.Property; - cfnAttributeNames: string[]; // bucketArn -} - -export enum AttributeSite { - Interface = 'interface', - Class = 'class' -} - -export class ResourceReflection { - - /** - * @returns all resource constructs (everything that extends `cdk.Resource`) - */ - public static findAll(assembly: reflect.Assembly) { - if (CoreTypes.hasCoreModule(assembly)) { - return []; // not part of the dep stack - } - - return ConstructReflection - .findAllConstructs(assembly) - .filter(c => CoreTypes.isResourceClass(c.classType)) - .map(c => new ResourceReflection(c)); - } - - public readonly attributes: Attribute[]; // actual attribute props - public readonly fqn: string; // expected fqn of resource class - - public readonly assembly: reflect.Assembly; - public readonly sys: reflect.TypeSystem; - public readonly cfn: CfnResourceReflection; - public readonly basename: string; // i.e. Bucket - public readonly core: CoreTypes; - public readonly physicalNameProp?: reflect.Property; - - constructor(public readonly construct: ConstructReflection) { - this.assembly = construct.classType.assembly; - this.sys = this.assembly.system; - - const cfn = tryResolveCfnResource(construct.classType); - if (!cfn) { - throw new Error(`Cannot find L1 class for L2 ${construct.fqn}. ` + - `Is "${guessResourceName(construct.fqn)}" an actual CloudFormation resource. ` + - `If not, use the "@resource" doc tag to indicate the full resource name (e.g. "@resource AWS::Route53::HostedZone")`); - } - - this.core = new CoreTypes(this.sys); - this.cfn = cfn; - this.basename = construct.classType.name; - this.fqn = construct.fqn; - this.attributes = this.findAttributeProperties(); - this.physicalNameProp = this.findPhysicalNameProp(); - } - - private findPhysicalNameProp() { - if (!this.construct.propsType) { - return undefined; - } - - const resourceName = camelcase(this.cfn.basename); - - // if resource name ends with "Name" (e.g. DomainName, then just use it as-is, otherwise append "Name") - const physicalNameProp = resourceName.endsWith('Name') ? resourceName : `${resourceName}Name`; - return this.construct.propsType.allProperties.find(x => x.name === physicalNameProp); - } - - /** - * Attribute properties are all the properties that begin with the type name (e.g. bucketXxx). - */ - private findAttributeProperties(): Attribute[] { - const result = new Array(); - - for (const p of this.construct.classType.allProperties) { - if (p.protected) { - continue; // skip any protected properties - } - - const basename = camelcase(this.cfn.basename); - - // an attribute property is a property which starts with the type name - // (e.g. "bucketXxx") and/or has an @attribute doc tag. - const tag = getDocTag(p, 'attribute'); - if (!p.name.startsWith(basename) && !tag) { - continue; - } - - let cfnAttributeNames; - if (tag && tag !== 'true') { - // if there's an `@attribute` doc tag with a value other than "true" - // it should be used as the CFN attribute name instead of the property name - // multiple attribute names can be listed as a comma-delimited list - cfnAttributeNames = tag.split(','); - } else { - // okay, we don't have an explicit CFN attribute name, so we'll guess it - // from the name of the property. - - const name = camelcase(p.name, { pascalCase: true }); - if (this.cfn.attributeNames.includes(name)) { - // special case: there is a cloudformation resource type in the attribute name - // for example 'RoleId'. - cfnAttributeNames = [ name ]; - } else if (p.name.startsWith(basename)) { - // begins with the resource name, just trim it - cfnAttributeNames = [ name.substring(this.cfn.basename.length) ]; - } else { - // we couldn't determine CFN attribute name, so we don't account for this - // as an attribute. this could be, for example, when a construct implements - // an interface that represents another resource (e.g. `lambda.Alias` implements `IFunction`). - continue; - } - } - - // check if this attribute is defined on an interface or on a class - const property = findDeclarationSite(p); - const site = property.parentType.isInterfaceType() ? AttributeSite.Interface : AttributeSite.Class; - - result.push({ - site, - cfnAttributeNames, - property - }); - } - - return result; - } -} - -function findDeclarationSite(prop: reflect.Property): reflect.Property { - if (!prop.overrides || (!prop.overrides.isClassType() && !prop.overrides.isInterfaceType())) { - if (!prop.parentType.isClassType() && !prop.parentType.isInterfaceType()) { - throw new Error('invalid parent type'); - } - return prop; - } - - const overridesProp = prop.overrides.allProperties.find(p => p.name === prop.name); - if (!overridesProp) { - throw new Error(`Cannot find property ${prop.name} in override site ${prop.overrides.fqn}`); - } - return findDeclarationSite(overridesProp); -} - -resourceLinter.add({ - code: 'resource-class-extends-resource', - message: `resource classes must extend "cdk.Resource" directly or indirectly`, - eval: e => { - const resourceBase = e.ctx.sys.findClass(e.ctx.core.resourceClass.fqn); - e.assert(e.ctx.construct.classType.extends(resourceBase), e.ctx.construct.fqn); - } -}); - -resourceLinter.add({ - code: 'resource-interface', - warning: true, - message: 'every resource must have a resource interface', - eval: e => { - e.assert(e.ctx.construct.interfaceType, e.ctx.construct.fqn); - } -}); - -resourceLinter.add({ - code: 'resource-interface-extends-resource', - message: 'construct interfaces of AWS resources must extend cdk.IResource', - eval: e => { - const resourceInterface = e.ctx.construct.interfaceType; - if (!resourceInterface) { return; } - - const resourceInterfaceFqn = e.ctx.core.resourceInterface.fqn; - const interfaceBase = e.ctx.sys.findInterface(resourceInterfaceFqn); - e.assert(resourceInterface.extends(interfaceBase), resourceInterface.fqn); - } -}); - -resourceLinter.add({ - code: 'resource-attribute', - message: - 'resources must represent all cloudformation attributes as attribute properties. ' + - '"@attribute ATTR[,ATTR]" can be used to tag non-standard attribute names. ' + - 'missing property:', - eval: e => { - for (const name of e.ctx.cfn.attributeNames) { - const expected = camelcase(name).startsWith(camelcase(e.ctx.cfn.basename)) - ? camelcase(name) - : camelcase(e.ctx.cfn.basename + name); - - const found = e.ctx.attributes.find(a => a.cfnAttributeNames.includes(name)); - e.assert(found, `${e.ctx.fqn}.${expected}`, expected); - } - } -}); - -resourceLinter.add({ - code: 'grant-result', - message: `"grant" method must return ${GRANT_RESULT_FQN}`, - eval: e => { - const grantResultType = e.ctx.sys.findFqn(GRANT_RESULT_FQN); - const grantMethods = e.ctx.construct.classType.allMethods.filter(m => m.name.startsWith('grant')); - - for (const grantMethod of grantMethods) { - e.assertSignature(grantMethod, { - returns: grantResultType - }); - } - } -}); - -resourceLinter.add({ - code: 'props-physical-name', - message: "Every Resource must have a single physical name construction property, " + - "with a name that is an ending substring of Name", - eval: e => { - if (!e.ctx.construct.propsType) { return; } - e.assert(e.ctx.physicalNameProp, e.ctx.construct.propsFqn); - } -}); - -resourceLinter.add({ - code: 'props-physical-name-type', - message: 'The type of the physical name prop should always be a "string"', - eval: e => { - if (!e.ctx.physicalNameProp) { return; } - const prop = e.ctx.physicalNameProp; - e.assertTypesEqual(e.ctx.sys, prop.type, 'string', `${e.ctx.construct.propsFqn}.${prop.name}`); - } -}); - -function tryResolveCfnResource(resourceClass: reflect.ClassType): CfnResourceReflection | undefined { - const sys = resourceClass.system; - - // if there is a @resource doc tag, it takes precedece - const tag = resourceClass.docs.customTag('resource'); - if (tag) { - return CfnResourceReflection.findByName(sys, tag); - } - - // parse the FQN of the class name and see if we can find a matching CFN resource - const guess = guessResourceName(resourceClass.fqn); - if (guess) { - const cfn = CfnResourceReflection.findByName(sys, guess); - if (cfn) { - return cfn; - } - } - - // try to resolve through ancestors - for (const base of resourceClass.getAncestors()) { - const ret = tryResolveCfnResource(base); - if (ret) { - return ret; - } - } - - // failed misrably - return undefined; -} - -function guessResourceName(fqn: string) { - const match = /@aws-cdk\/([a-z]+)-([a-z0-9]+)\.([A-Z][a-zA-Z0-9]+)/.exec(fqn); - if (!match) { return undefined; } - - const [ , org, ns, rs ] = match; - if (!org || !ns || !rs) { return undefined; } - - return `${org}::${ns}::${rs}`; -} diff --git a/tools/awslint/lib/rules/util.ts b/tools/awslint/lib/rules/util.ts deleted file mode 100644 index 9e9c39134..000000000 --- a/tools/awslint/lib/rules/util.ts +++ /dev/null @@ -1,45 +0,0 @@ -import reflect = require('jsii-reflect'); - -/** - * Returns a documentation tag. Looks it up in inheritance hierarchy. - * @param documentable starting point - * @param tag the tag to search for - */ -export function getDocTag(documentable: reflect.Documentable, tag: string): string | undefined { - const t = documentable.docs.customTag(tag); - if (t) { return t; } - - if ((documentable instanceof reflect.Property || documentable instanceof reflect.Method) && documentable.overrides) { - if (documentable.overrides.isClassType() || documentable.overrides.isInterfaceType()) { - const baseMembers = documentable.overrides.allMembers.filter(m => m.name === documentable.name); - for (const base of baseMembers) { - const baseTag = getDocTag(base, tag); - if (baseTag) { - return baseTag; - } - } - } - } - - if (documentable instanceof reflect.ClassType || documentable instanceof reflect.InterfaceType) { - for (const base of documentable.interfaces) { - const baseTag = getDocTag(base, tag); - if (baseTag) { - return baseTag; - } - } - } - - if (documentable instanceof reflect.ClassType && documentable.base) { - const baseTag = getDocTag(documentable.base, tag); - if (baseTag) { - return baseTag; - } - } - - return undefined; -} - -export function memberFqn(m: reflect.Method | reflect.Property) { - return `${m.parentType.fqn}.${m.name}`; -} diff --git a/tools/awslint/load.sh b/tools/awslint/load.sh deleted file mode 100644 index 35a3769d8..000000000 --- a/tools/awslint/load.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# given an aws-cdk bundle archive (the one published to github releases), extract -# all .jsii manifests and places them under "jsii/*.jsii" -# now they can be used with jsii-reflect - -zip=${1:-} -if [ -z "${zip}" ]; then - echo "Usage: $(basename $0) " - exit 1 -fi - -outdir=$PWD/jsii -rm -fr ${outdir} -mkdir -p ${outdir} - -workdir=$(mktemp -d) -(cd ${workdir} && unzip -q ${zip} js/*) - -for tarball in $(find ${workdir} -name *.jsii.tgz); do - basename=$(basename ${tarball} .jsii.tgz) - ( - staging=$(mktemp -d) - cd ${staging} - if tar -xzv --strip-components=1 -f ${tarball} package/.jsii 2> /dev/null; then - echo ${basename} - mv .jsii ${outdir}/${basename}.jsii - fi - rm -fr ${staging} - ) -done diff --git a/tools/awslint/package.json b/tools/awslint/package.json deleted file mode 100644 index b66d6b48b..000000000 --- a/tools/awslint/package.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "awslint", - "private": true, - "version": "0.17.0", - "description": "Enforces the AWS Construct Library guidelines", - "main": "index.js", - "scripts": { - "build": "tsc -b && chmod +x bin/awslint", - "lint": "tslint -p . && pkglint", - "test": "echo ok", - "watch": "tsc -b -w", - "build+test+package": "npm run build+test", - "build+test": "npm run build && npm test" - }, - "bin": { - "awslint": "bin/awslint" - }, - "dependencies": { - "@jsii/spec": "^1.12.0", - "camelcase": "^6.0.0", - "colors": "^1.4.0", - "fs-extra": "^8.1.0", - "jsii-reflect": "^1.12.0", - "yargs": "^15.3.1" - }, - "devDependencies": { - "@types/fs-extra": "^8.1.0", - "@types/yargs": "^15.0.5", - "tslint": "^5.20.1", - "typescript": "~3.8.3" - }, - "repository": { - "type": "git", - "url": "https://github.com/aws/aws-rfdk.git" - }, - "homepage": "https://github.com/aws/aws-cdk", - "license": "Apache-2.0", - "author": { - "name": "Amazon Web Services", - "url": "https://aws.amazon.com", - "organization": true - }, - "keywords": [ - "aws", - "cdk" - ], - "engines": { - "node": ">= 10.13.0 <13 || >=13.7.0" - }, - "pkglint": { - "exclude": [ - "license/notice-file" - ] - } -} diff --git a/tools/awslint/tsconfig.json b/tools/awslint/tsconfig.json deleted file mode 100644 index 41c87f390..000000000 --- a/tools/awslint/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2018", - "module": "commonjs", - "lib": ["es2018"], - "strict": true, - "alwaysStrict": true, - "declaration": true, - "inlineSourceMap": true, - "inlineSources": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "resolveJsonModule": true, - "composite": true, - "incremental": true - }, - "include": ["**/*.ts"] - } diff --git a/tools/cdk-build-tools/config/eslintrc.js b/tools/cdk-build-tools/config/eslintrc.js index f37e16ada..0cc777075 100644 --- a/tools/cdk-build-tools/config/eslintrc.js +++ b/tools/cdk-build-tools/config/eslintrc.js @@ -33,7 +33,7 @@ module.exports = { 'import/resolver': { node: {}, typescript: { - directory: './tsconfig.json' + project: './tsconfig.json' } } }, diff --git a/tools/cdk-build-tools/package.json b/tools/cdk-build-tools/package.json index 2c094a5e3..268393800 100644 --- a/tools/cdk-build-tools/package.json +++ b/tools/cdk-build-tools/package.json @@ -34,30 +34,30 @@ }, "license": "Apache-2.0", "devDependencies": { - "@types/fs-extra": "^8.1.0", - "@types/jest": "^26.0.4", + "@types/fs-extra": "^9.0.1", + "@types/jest": "^26.0.10", "@types/yargs": "^15.0.5", "eslint-plugin-license-header": "^0.2.0", "pkglint": "0.17.0" }, "dependencies": { - "@typescript-eslint/eslint-plugin": "^3.6.1", - "@typescript-eslint/parser": "^3.5.0", - "awslint": "0.17.0", + "@typescript-eslint/eslint-plugin": "^3.10.1", + "@typescript-eslint/parser": "^3.10.1", + "awslint": "1.61.1", "colors": "^1.4.0", - "eslint": "^6.8.0", + "eslint": "^7.7.0", "eslint-import-resolver-node": "^0.3.4", - "eslint-import-resolver-typescript": "^2.0.0", + "eslint-import-resolver-typescript": "^2.2.1", "eslint-plugin-import": "^2.22.0", "fs-extra": "^9.0.1", - "jest": "^25.5.4", + "jest": "^26.4.2", "jsii": "^1.12.0", "jsii-pacmak": "^1.12.0", "nodeunit": "^0.11.3", "nyc": "^15.1.0", - "ts-jest": "^26.1.3", - "typescript": "~3.9.6", - "yargs": "^15.3.1" + "ts-jest": "^26.2.0", + "typescript": "~3.9.7", + "yargs": "^15.4.1" }, "keywords": [ "aws", diff --git a/tools/pkglint/lib/rules.ts b/tools/pkglint/lib/rules.ts index c94743223..12a41c327 100644 --- a/tools/pkglint/lib/rules.ts +++ b/tools/pkglint/lib/rules.ts @@ -925,7 +925,7 @@ export class ConstructsDependency extends ValidationRule { public readonly name = 'constructs/dependency'; public validate(pkg: PackageJson) { - const REQUIRED_VERSION = '^3.0.2'; + const REQUIRED_VERSION = '^3.0.4'; if (pkg.devDependencies?.constructs && pkg.devDependencies?.constructs !== REQUIRED_VERSION) { pkg.report({ diff --git a/tools/pkglint/package.json b/tools/pkglint/package.json index 3e54d5049..d0daf8359 100644 --- a/tools/pkglint/package.json +++ b/tools/pkglint/package.json @@ -35,16 +35,16 @@ }, "license": "Apache-2.0", "devDependencies": { - "@types/fs-extra": "^8.1.0", - "@types/semver": "^7.3.1", + "@types/fs-extra": "^9.0.1", + "@types/semver": "^7.3.3", "@types/yargs": "^15.0.5", - "typescript": "~3.9.6" + "typescript": "~3.9.7" }, "dependencies": { "case": "^1.6.3", "colors": "^1.4.0", "fs-extra": "^9.0.1", - "semver": "^7.2.2", - "yargs": "^15.3.1" + "semver": "^7.3.2", + "yargs": "^15.4.1" } } diff --git a/yarn.lock b/yarn.lock index feec7063d..ac36c76d1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,822 +2,827 @@ # yarn lockfile v1 -"@aws-cdk/assert@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.57.0.tgz#a9e961ca090a259a19581f650e836c230c06d82f" - integrity sha512-sl/Zwcwo3G8unfz3RZ5I3EsUSgKnCYqakNVRYbTVZm9wObBZsbQ81QhmpAxiHCws9Z8rrbRYOJ5UI7vZ1y+U7w== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.57.0" - "@aws-cdk/cloudformation-diff" "1.57.0" - "@aws-cdk/core" "1.57.0" - "@aws-cdk/cx-api" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/assets@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.57.0.tgz#e37a61552b0c2680a09dae435a97a24a2996480b" - integrity sha512-+yn4YWU7LCDbL6GsvnXgY0pe7TaH8Ib+o4zowsLuMnS2l5ShtHy7dpqJj+VVO0/YR9upvmlvMg6QY6UQRpA0cA== - dependencies: - "@aws-cdk/core" "1.57.0" - "@aws-cdk/cx-api" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-apigateway@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigateway/-/aws-apigateway-1.57.0.tgz#2701fdf3da90c50195a317c6ef6624fae3a194d1" - integrity sha512-y04kG/h4lQq5TQTyOogLzdt61mdDOaXcSnQrOEBMKgMyDOpcT9mETlfxPfvn55tdrw6XwlC8d1qB6Jo6GJQf4w== - dependencies: - "@aws-cdk/assets" "1.57.0" - "@aws-cdk/aws-certificatemanager" "1.57.0" - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-lambda" "1.57.0" - "@aws-cdk/aws-logs" "1.57.0" - "@aws-cdk/aws-s3" "1.57.0" - "@aws-cdk/aws-s3-assets" "1.57.0" - "@aws-cdk/core" "1.57.0" - "@aws-cdk/cx-api" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-applicationautoscaling@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.57.0.tgz#1d8abcc75f994696ecec2f0563d1cdffd3e54c69" - integrity sha512-frlqBtUcrJfZ5NTyW4DpAPnQFcHAioUQKj65/XEwCZvq6g44S9z+ARAIT0hEisUfFDFnJ1p6Fm/Wn+M6fyLQFA== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.57.0" - "@aws-cdk/aws-cloudwatch" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-autoscaling-common@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.57.0.tgz#481f4413518ddda679c25cb6c5b5f42e83a03c3f" - integrity sha512-FYcqcby+ObhZEaP4za+JhwShQVAWAXQDq0DoDlYd30RgWcr7yz6gbz56G2N+/ngxFWQ42SkS+T1BqR3hsQdTmg== - dependencies: - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-autoscaling-hooktargets@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-hooktargets/-/aws-autoscaling-hooktargets-1.57.0.tgz#3dc475171f206f1ade5575f8ef1561a3428dd22b" - integrity sha512-PIkBKiZSN+OpeSYdFcBWKgnyYrBvmhsgAAQmKiV/OP0FeM87+jh7hjlaREA/WuRIbv3vj/rcEpWcVih8vzgTLw== - dependencies: - "@aws-cdk/aws-autoscaling" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-lambda" "1.57.0" - "@aws-cdk/aws-sns" "1.57.0" - "@aws-cdk/aws-sns-subscriptions" "1.57.0" - "@aws-cdk/aws-sqs" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-autoscaling@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling/-/aws-autoscaling-1.57.0.tgz#ff662c82e5d2ecf01bfe665597ba5f6901b04465" - integrity sha512-UYFW/ksiOPV7aHFixOYZMqddduf39skeBb8zxZBNPEKQ2PmUzSx3ygPf5XQMKngnuf47IUKd0O7Za4fBHex9Mg== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.57.0" - "@aws-cdk/aws-cloudwatch" "1.57.0" - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/aws-elasticloadbalancing" "1.57.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-sns" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-batch@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-batch/-/aws-batch-1.57.0.tgz#dca3f507bc0db49a46c911a57674d63cc4565f27" - integrity sha512-jckHpmHVEdfEBFLAk8u+W9UYOTkDvefbrTmdW9wA0361jujxC6lYyp2lkF53i75L0kdBpJpGlhlSyyofESTk3w== - dependencies: - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/aws-ecr" "1.57.0" - "@aws-cdk/aws-ecs" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-certificatemanager@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.57.0.tgz#7768b83db7b60bad051229c39b560e687c19dc3a" - integrity sha512-CMRhikcHziPrKhe/CHgQ4boCa+rG19QtF7wzTMHlAeEd7E8ruJMH9yNFtS1+MFrwLgp0hMS+H/Gyz9arJtfCrA== - dependencies: - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-lambda" "1.57.0" - "@aws-cdk/aws-route53" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-cloudformation@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.57.0.tgz#c55928ed65c1883e1d4015232e9dc65212539970" - integrity sha512-rEjjXOoXNJ4kPSkdlKuhA1VYIRhByqZJ5PqWhGCYB+PlAlOFiAzOH63xbDkhn4g4S+PIi2h9AYNIkqniqtjceA== - dependencies: - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-lambda" "1.57.0" - "@aws-cdk/aws-s3" "1.57.0" - "@aws-cdk/aws-sns" "1.57.0" - "@aws-cdk/core" "1.57.0" - "@aws-cdk/cx-api" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-cloudfront@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudfront/-/aws-cloudfront-1.57.0.tgz#259b072fcc08f65f24ac1205633e299c4934a13d" - integrity sha512-OWXJ6X2mxtN/EbXavr4icidamSmj588Pcjb2vvcK8XC//wOOlUZh/mAA26zTilFbFeGrCxRh62itJauRjlA6hw== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-kms" "1.57.0" - "@aws-cdk/aws-lambda" "1.57.0" - "@aws-cdk/aws-s3" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-cloudwatch-actions@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch-actions/-/aws-cloudwatch-actions-1.57.0.tgz#4c2704dd117603cdc1de6c5b84faafa46af58de8" - integrity sha512-yr1YrgocJ0+/zeMm9HI9SQO1YrVVpYrTPqwRB+QvcQ764twVK3V1xTGTMjmMVSVXu6t7OnHWnnCnCfHW9QIyPw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.57.0" - "@aws-cdk/aws-autoscaling" "1.57.0" - "@aws-cdk/aws-cloudwatch" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-sns" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-cloudwatch@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.57.0.tgz#43ee7a14b869f698ffcd3e72624bb2b2f673b1d0" - integrity sha512-sKS0LURGmL1jbgrG9UGUxh0q+yxGVDmsds3eoJWLc0qyVrD9KN3wxU+QuSLqQdZGGun/tDIv39UQ1l+Y6vodsw== - dependencies: - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-codebuild@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codebuild/-/aws-codebuild-1.57.0.tgz#e451e26f23d0bbc1af993ad4178db3004370c577" - integrity sha512-oZhaSP1xvJsMmL1g6NWJB4GZzcKhgailwitA1VT9sNKbAabSrUE8X7x7tOBprdtRDiFdeAtO7oR1gdyuITErtA== - dependencies: - "@aws-cdk/assets" "1.57.0" - "@aws-cdk/aws-cloudwatch" "1.57.0" - "@aws-cdk/aws-codecommit" "1.57.0" - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/aws-ecr" "1.57.0" - "@aws-cdk/aws-ecr-assets" "1.57.0" - "@aws-cdk/aws-events" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-kms" "1.57.0" - "@aws-cdk/aws-s3" "1.57.0" - "@aws-cdk/aws-s3-assets" "1.57.0" - "@aws-cdk/aws-secretsmanager" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-codecommit@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codecommit/-/aws-codecommit-1.57.0.tgz#477dcb9f468edb8e0d1dedc17b772df5fc0479df" - integrity sha512-AAXoDZvvKAfTpnRbqSaR2nkXRLpCdcbv+geJX2HLycgch/wIyMfXKJZXuTtQAtlt5elPGrNt3CT02kvfQKBB4w== - dependencies: - "@aws-cdk/aws-events" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-codeguruprofiler@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.57.0.tgz#84aea6ae7c39669a4c2ce0ba36317e1af8c2f2b8" - integrity sha512-69KWy67Lo20DcFXSuSxlD5Px08jnDtkLIMroF8Zp9dEF5maxgy41i26FoY4hQQnXiTKopA8IPVxHvkouRxNutQ== - dependencies: - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/core" "1.57.0" - -"@aws-cdk/aws-codepipeline@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codepipeline/-/aws-codepipeline-1.57.0.tgz#d14fdfaa76ddaad5665550f191b4200e3484f10f" - integrity sha512-oTqN8MdubKKVL24/oU3erA3vBpYUeFQvDPiV1T0ODfvuFxqbgu7iVjw0h70DGyoHoeq1mi8LmdaddkgE6e8RIw== - dependencies: - "@aws-cdk/aws-events" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-kms" "1.57.0" - "@aws-cdk/aws-s3" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-cognito@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.57.0.tgz#bdefaa8c8f2120e8db90971e96ccb35a86643925" - integrity sha512-+r9VFKOl1n0/7XuOP9B9DoXZx5IhnkB9y6vgrD1oOBgpOtePf6z8VSyW2nR+slZWQCTgbe2fN3E3afQY9dS1lQ== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-lambda" "1.57.0" - "@aws-cdk/core" "1.57.0" - "@aws-cdk/custom-resources" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-docdb@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-docdb/-/aws-docdb-1.57.0.tgz#1adbe3585ac4e459db521bdf0463dbf43e51da87" - integrity sha512-LaphVBw1yUGMeXQlzCdz2eySMpA/4iRJVWB95MAOSFocU8mCDhP+MGMawh+caDc35Eis1qYWXmLk9+5vtZadtw== - dependencies: - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/aws-efs" "1.57.0" - "@aws-cdk/aws-kms" "1.57.0" - "@aws-cdk/aws-secretsmanager" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-dynamodb@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.57.0.tgz#f2b5e00b30b40306beb1019e8cfdd870c2fe9348" - integrity sha512-upwlzWl1GE/9bktbSTEDIFO1ddjvJNki5emKhIZLTMA3Pb+eYXYjspY/hEgXwWmPkvP1vq6yLr3MpPKRtUt1Tw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.57.0" - "@aws-cdk/aws-cloudwatch" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-kms" "1.57.0" - "@aws-cdk/aws-lambda" "1.57.0" - "@aws-cdk/core" "1.57.0" - "@aws-cdk/custom-resources" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-ec2@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.57.0.tgz#1f7a9ce5926a1cc35cd0b78cb27f5b03967b9dfa" - integrity sha512-ptqXTCm0YE87YyLovVCmMVoqJ3V4yCTRJPXbA9j+h1eJcnKamTI2FmYqVDGrysAGYLAJyzi233sstfMFbks94g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-kms" "1.57.0" - "@aws-cdk/aws-logs" "1.57.0" - "@aws-cdk/aws-s3" "1.57.0" - "@aws-cdk/aws-ssm" "1.57.0" - "@aws-cdk/cloud-assembly-schema" "1.57.0" - "@aws-cdk/core" "1.57.0" - "@aws-cdk/cx-api" "1.57.0" - "@aws-cdk/region-info" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-ecr-assets@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr-assets/-/aws-ecr-assets-1.57.0.tgz#5799a88746788e4a81fdecc0d44e98c3eb81798b" - integrity sha512-5i/b77ImDp+WF3GIIwjO1HHI3o/HPrLXbS/j44v9jxecBlpMj+DroOSn5jnq+J2wGguUS9UrIdgstts0lqCnYA== - dependencies: - "@aws-cdk/assets" "1.57.0" - "@aws-cdk/aws-ecr" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-lambda" "1.57.0" - "@aws-cdk/aws-s3" "1.57.0" - "@aws-cdk/core" "1.57.0" - "@aws-cdk/cx-api" "1.57.0" - constructs "^3.0.2" +"@aws-cdk/assert@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.61.1.tgz#05b1a404b21318b4865943ecb87bd4e23ab185cf" + integrity sha512-OMyVAUkeCKuoSfFpWx7JIefXeJefpof8r1T0TG2gVbtZCuc7Abafz2CXLh5+0ETq0k9ZXHWtqTxmL/9LXkaiFA== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.61.1" + "@aws-cdk/cloudformation-diff" "1.61.1" + "@aws-cdk/core" "1.61.1" + "@aws-cdk/cx-api" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/assets@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.61.1.tgz#4654f7efc93e81d6e1fcf281ea5d4c17cb13f805" + integrity sha512-Mdnd5pRIG+jzAfPQ/mlm//yiPCwBh+EmyBzjGSaRRaPCmi2rOe4veSgvndXYE6Yt0x/9E9LcXpj5wLpKH/Rx5Q== + dependencies: + "@aws-cdk/core" "1.61.1" + "@aws-cdk/cx-api" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-apigateway@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigateway/-/aws-apigateway-1.61.1.tgz#2655d03ac4fb5ce88c8df806b13cc3abf4285c7e" + integrity sha512-tAXwEzYPPYBCUrV4nfoj8rY0n8eLrnwHT28bCFCq3HWOOhwVPBLhzVp7hMk4bIF6heB4S2om2eBN1E4SpG1Pgw== + dependencies: + "@aws-cdk/assets" "1.61.1" + "@aws-cdk/aws-certificatemanager" "1.61.1" + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/aws-elasticloadbalancingv2" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-lambda" "1.61.1" + "@aws-cdk/aws-logs" "1.61.1" + "@aws-cdk/aws-s3" "1.61.1" + "@aws-cdk/aws-s3-assets" "1.61.1" + "@aws-cdk/core" "1.61.1" + "@aws-cdk/cx-api" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-applicationautoscaling@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.61.1.tgz#0220aca82eab3578324e23f5c2bc51223637b4e6" + integrity sha512-TaSYlsYnUuXq/hInYFFuBdtZu2Lc+PF2YnpRYMim2UZvlIFclxp2t4H4ktPmvvGgZjJ7AYYZ3SnzJn3+3ueFBQ== + dependencies: + "@aws-cdk/aws-autoscaling-common" "1.61.1" + "@aws-cdk/aws-cloudwatch" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-autoscaling-common@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.61.1.tgz#9ad7fdcb8f27e8e2de0fd7b57ffc510f50ba5977" + integrity sha512-eGTL/HR3Qd/r21AD/QAKjNOwNSmIQBayLlIKrDvfCn+WnN7DyNsEzfRLb+r/ElEG+kGomwuVqTnE2Vvn/VEXJA== + dependencies: + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-autoscaling-hooktargets@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-hooktargets/-/aws-autoscaling-hooktargets-1.61.1.tgz#685e260e78054c55e78056e83d69ddd356647531" + integrity sha512-W42NE4Lu2L76gGSaMggBgZ9+LGD1eR77F3oHprBnHp2tRZ1ej8Y3k1dN0yVwZ1347pBGsxd/YDG8O7mipaKweg== + dependencies: + "@aws-cdk/aws-autoscaling" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/aws-lambda" "1.61.1" + "@aws-cdk/aws-sns" "1.61.1" + "@aws-cdk/aws-sns-subscriptions" "1.61.1" + "@aws-cdk/aws-sqs" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-autoscaling@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling/-/aws-autoscaling-1.61.1.tgz#24d2e8720506465302e939597bd94baa7f7d5bb8" + integrity sha512-nDGmLLGH7+zfS09cAHV2Q9uk8mMoMfr6fEiO5kuRMmZ812ule+1Iwiqog2C40kmJcaJrtffy9cM/uskmigFaaQ== + dependencies: + "@aws-cdk/aws-autoscaling-common" "1.61.1" + "@aws-cdk/aws-cloudwatch" "1.61.1" + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/aws-elasticloadbalancing" "1.61.1" + "@aws-cdk/aws-elasticloadbalancingv2" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-sns" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-batch@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-batch/-/aws-batch-1.61.1.tgz#b313a1ef4496862bb0e613166616aafec31361ff" + integrity sha512-E5pKXBMNMYWB8YB/6lBRgonG0PsXQouSpmJOQ3gpHgEBpOxq7yJsaAnbrOkEzdk9OH5R7Dd+JJACpdKXkafY/g== + dependencies: + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/aws-ecr" "1.61.1" + "@aws-cdk/aws-ecs" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-certificatemanager@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.61.1.tgz#4283bdda130b6083b806fabb42948b25e8b38a58" + integrity sha512-IDIHqXf5r3qCHMbsGTWpR97lliQq6g89quwR6Dh16yry0F9A0Hc6ZhMmjC91Ybv4bPWiMmLWPlKNRy7eHqitgg== + dependencies: + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-lambda" "1.61.1" + "@aws-cdk/aws-route53" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-cloudformation@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.61.1.tgz#145b2645455dcc823cdc856a8aae532343e4a819" + integrity sha512-T0ekC4SpxSeY6pD7LQ3844JbWPuVm8aQYqTY/px0oOQ9wYr88EaTN0g7G0qpKtDP0thGDsL/O9QMRPUw4ywVIg== + dependencies: + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-lambda" "1.61.1" + "@aws-cdk/aws-s3" "1.61.1" + "@aws-cdk/aws-sns" "1.61.1" + "@aws-cdk/core" "1.61.1" + "@aws-cdk/cx-api" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-cloudfront@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudfront/-/aws-cloudfront-1.61.1.tgz#5d3f9d44dfd37e1a3a0be5bd48cd99805d91d477" + integrity sha512-Jjd25Zd85GRgtMKbqqkBYm06QTOE5URTIX3UMMmgWHIC60LIHyrM/3F9rmfcYwu1TfHdSZ2BUaouJbjeElJ4fQ== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/aws-lambda" "1.61.1" + "@aws-cdk/aws-s3" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-cloudwatch-actions@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch-actions/-/aws-cloudwatch-actions-1.61.1.tgz#c6598b95f8b7e1ad9a98aba129bc0ebfdf647ff5" + integrity sha512-1VSO2Jmi3PTQ0lEWo84C+a33DouY3r7eVnXwCz5inA3CIFIJGTDxdgfB2+nSoG9lV8gUnf9JMvktOM9+m93jaw== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.61.1" + "@aws-cdk/aws-autoscaling" "1.61.1" + "@aws-cdk/aws-cloudwatch" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-sns" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-cloudwatch@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.61.1.tgz#841a8fd525831e74b257ccfb5707917c061df142" + integrity sha512-V2zFKeKcohsmZNsK5mi2/q/9e/RoJtQkK+1/v4OCRUWNjTJXc/Qcw19+/0srarg9U4OaxmJUVskgUbplpC/aDg== + dependencies: + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-codebuild@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codebuild/-/aws-codebuild-1.61.1.tgz#a2814f2ce290ea729c27dbd42ea1a2b1beb7bd89" + integrity sha512-kS8Ka/Bs+AlVVUN+DTe7dzfdIZU3ov46ohD4ABHVenWC9TbkFop48in6VvrOqpJ3s9z+UJl5JJsga4PqKh4Qzw== + dependencies: + "@aws-cdk/assets" "1.61.1" + "@aws-cdk/aws-cloudwatch" "1.61.1" + "@aws-cdk/aws-codecommit" "1.61.1" + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/aws-ecr" "1.61.1" + "@aws-cdk/aws-ecr-assets" "1.61.1" + "@aws-cdk/aws-events" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/aws-s3" "1.61.1" + "@aws-cdk/aws-s3-assets" "1.61.1" + "@aws-cdk/aws-secretsmanager" "1.61.1" + "@aws-cdk/core" "1.61.1" + "@aws-cdk/region-info" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-codecommit@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codecommit/-/aws-codecommit-1.61.1.tgz#8473d6d7c88c2b5506fd30ba77526149eb0f87d4" + integrity sha512-cf6CbhSm+KCnxiS/SnNHawwXl4yJWprtlWLuo5SqII1UcQl/lMVgCago3B+yiQqbRJJtdu4aA1pxkmd6E0p/SA== + dependencies: + "@aws-cdk/aws-events" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-codeguruprofiler@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.61.1.tgz#51b173fd2bb56e7246e4c2547c640e88c674dda4" + integrity sha512-DKy24DQz4sA+mbpQDDL24PO+BBiJtciLE0rbvVL/rN9x7HhX3yS8HfcLjEj/2PnKkBQBE7YBirjfngBHJt7J9Q== + dependencies: + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/core" "1.61.1" + +"@aws-cdk/aws-codepipeline@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codepipeline/-/aws-codepipeline-1.61.1.tgz#94947bf1aaf02dce5016d01720fd541c89dfd391" + integrity sha512-Gejo0egmdWTdYUPwH+95/Gba334dLZpyQQoBEJzRzxYoYq0pgnek3zBx4WTEMm5bqLs0tv2eTtDHPvo8Hy3cIA== + dependencies: + "@aws-cdk/aws-events" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/aws-s3" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-cognito@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.61.1.tgz#4fa72ad8739e74ebb6e084f97339eb6cce338e43" + integrity sha512-D9hxAzjUjAHs5QL4pfe4ZIFitFs9TeSs/ykm0SkhoOxJzbxaIAJtLYqtjXGmdqqouomjUxkuVYfaCo6X3A6nhw== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-lambda" "1.61.1" + "@aws-cdk/core" "1.61.1" + "@aws-cdk/custom-resources" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-docdb@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-docdb/-/aws-docdb-1.61.1.tgz#0c891e3a5f1cd3653d10485159574286f28dda10" + integrity sha512-9nIFlBsirgeyKSnRSIC5UwTrcrVudGImGjXwHJk0lhYEKezCjUEUNLvvE9Vvm/dO5RljS9OlG+9kpsZrbTs7ng== + dependencies: + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/aws-efs" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/aws-secretsmanager" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-dynamodb@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.61.1.tgz#db9c048012106df59dbb299c7616ab2c9f6590e4" + integrity sha512-Zv5Ycr/j3L8E5m+6dGmReGPSMex0ajiiZAU0RC71nBHgXm0pwkC2s9SRL09UdKCgswwgLcmd3V1lYcyEHc4/zA== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.61.1" + "@aws-cdk/aws-cloudwatch" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/aws-lambda" "1.61.1" + "@aws-cdk/core" "1.61.1" + "@aws-cdk/custom-resources" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-ec2@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.61.1.tgz#f84f8d66f87f21d3ffde59b08a498282edffb4c5" + integrity sha512-FlXVhVlD5EqBbnsDAJxl1ANQRYGmL1c0UEIzjlo+1avq1RYiU8sM8pfSm6iV17AYjgmIP5BvZUkJ3NTIruT/VA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/aws-logs" "1.61.1" + "@aws-cdk/aws-s3" "1.61.1" + "@aws-cdk/aws-s3-assets" "1.61.1" + "@aws-cdk/aws-ssm" "1.61.1" + "@aws-cdk/cloud-assembly-schema" "1.61.1" + "@aws-cdk/core" "1.61.1" + "@aws-cdk/cx-api" "1.61.1" + "@aws-cdk/region-info" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-ecr-assets@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr-assets/-/aws-ecr-assets-1.61.1.tgz#e6ddfbc2b63a4b3e1fdbbe1a9c983ba772f70659" + integrity sha512-m/Gfw/8fpK9FHu+yhGajZmQRdKilw89jGyjR2uMA5dYJaO4IU/nq4P1RwvWcflwxNYCCK8a5IdIpbUbFi36eHQ== + dependencies: + "@aws-cdk/assets" "1.61.1" + "@aws-cdk/aws-ecr" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-lambda" "1.61.1" + "@aws-cdk/aws-s3" "1.61.1" + "@aws-cdk/core" "1.61.1" + "@aws-cdk/cx-api" "1.61.1" + constructs "^3.0.4" minimatch "^3.0.4" -"@aws-cdk/aws-ecr@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr/-/aws-ecr-1.57.0.tgz#7779c26bfd31de207d6cd2b830af35c46b5b07f3" - integrity sha512-wZWvYrN1M9bn7txtdertDHcGfKYT/eTzQp/MyH/cu/ZKs+IQQ/Iq1Zh+t8d3nrkfoFPP8LPI3AyVOLAiPw8pGg== - dependencies: - "@aws-cdk/aws-events" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/core" "1.57.0" - "@aws-cdk/custom-resources" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-ecs-patterns@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecs-patterns/-/aws-ecs-patterns-1.57.0.tgz#dd860496cc0b9b884b929f9bd6a8e68a41a34bdb" - integrity sha512-FPKNi17th6d88wNkl6WzNi9pEsffTZiWwZ27yazKzP6UzkF+LtV6qK7DKyPnaGdrKxMgVcDNQJGsHMHcyrNLfA== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.57.0" - "@aws-cdk/aws-certificatemanager" "1.57.0" - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/aws-ecs" "1.57.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.57.0" - "@aws-cdk/aws-events" "1.57.0" - "@aws-cdk/aws-events-targets" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-route53" "1.57.0" - "@aws-cdk/aws-route53-targets" "1.57.0" - "@aws-cdk/aws-servicediscovery" "1.57.0" - "@aws-cdk/aws-sqs" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-ecs@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecs/-/aws-ecs-1.57.0.tgz#074719719a66c2135bce09182ab6f40b00ece431" - integrity sha512-uSUNe+K10WcvWhYKY3rvN0C/93yuajbdHMqybemNVU29PFnqTQ6djKsieIAxlPctM6jwQditakLH8S01xscTxw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.57.0" - "@aws-cdk/aws-autoscaling" "1.57.0" - "@aws-cdk/aws-autoscaling-hooktargets" "1.57.0" - "@aws-cdk/aws-certificatemanager" "1.57.0" - "@aws-cdk/aws-cloudwatch" "1.57.0" - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/aws-ecr" "1.57.0" - "@aws-cdk/aws-ecr-assets" "1.57.0" - "@aws-cdk/aws-elasticloadbalancing" "1.57.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-lambda" "1.57.0" - "@aws-cdk/aws-logs" "1.57.0" - "@aws-cdk/aws-route53" "1.57.0" - "@aws-cdk/aws-route53-targets" "1.57.0" - "@aws-cdk/aws-secretsmanager" "1.57.0" - "@aws-cdk/aws-servicediscovery" "1.57.0" - "@aws-cdk/aws-sns" "1.57.0" - "@aws-cdk/aws-sqs" "1.57.0" - "@aws-cdk/aws-ssm" "1.57.0" - "@aws-cdk/core" "1.57.0" - "@aws-cdk/cx-api" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-efs@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.57.0.tgz#be9b6b15289c4347f2d9801272e40f27d04901d2" - integrity sha512-vrxQAdG3c4KYGPnE6+eppyKHnqpdP/15VIC8ihFxpqdKBeQK2CguTZuN/dKMHWvhN6F2iyvRoGWSDzqI5uTbrg== - dependencies: - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/aws-kms" "1.57.0" - "@aws-cdk/cloud-assembly-schema" "1.57.0" - "@aws-cdk/core" "1.57.0" - "@aws-cdk/cx-api" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-elasticloadbalancing@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancing/-/aws-elasticloadbalancing-1.57.0.tgz#d050c0784e1e9cb47d836976a49ac49bc56a8cf4" - integrity sha512-pK8fFu7g7MnGz4Dp+qlDEEXF2Vq2UQyVRgVt+wvcMWHbZN35wkhRM8XVvZ/QO7jyk4Dz5+hRy+vUbi5SuVha9w== - dependencies: - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-elasticloadbalancingv2@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.57.0.tgz#0e388a8e727189749fac13c06f83e3aecebbcf5c" - integrity sha512-fSoqsgWBawL6eYIoAoF7O0QVwqlvAmtKltlUJ4mKS0Umor3MXEGrsdaMKitgNx6/mToJdYtfSe6UDMWI3HdjyQ== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.57.0" - "@aws-cdk/aws-cloudwatch" "1.57.0" - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-lambda" "1.57.0" - "@aws-cdk/aws-s3" "1.57.0" - "@aws-cdk/core" "1.57.0" - "@aws-cdk/region-info" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-events-targets@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events-targets/-/aws-events-targets-1.57.0.tgz#12fd0cd274e8126f0267d88b7d9587498ee85776" - integrity sha512-iwCY3CmxdSt0OknZdIO7aGIc/Q3sWLCFDTS1m2K+pf58d+Mim/g/QeifNje/UpUCBbBJkgufFPj3lFQa7w92lA== - dependencies: - "@aws-cdk/aws-batch" "1.57.0" - "@aws-cdk/aws-codebuild" "1.57.0" - "@aws-cdk/aws-codepipeline" "1.57.0" - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/aws-ecs" "1.57.0" - "@aws-cdk/aws-events" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-kinesis" "1.57.0" - "@aws-cdk/aws-lambda" "1.57.0" - "@aws-cdk/aws-sns" "1.57.0" - "@aws-cdk/aws-sns-subscriptions" "1.57.0" - "@aws-cdk/aws-sqs" "1.57.0" - "@aws-cdk/aws-stepfunctions" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-events@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.57.0.tgz#1bb4c9281b06e9b577d7a02d9ebc7b41b937b3d3" - integrity sha512-d2681DHe+gFQq+o4GXglnaEKmEorCpTYPQIbbRRO3RQzggSLdJMYFoIio3Vft3xeuaxpZCpNwyJ6mROdgiq3eg== - dependencies: - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-iam@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.57.0.tgz#d6c8e901fa81e3c872d209bd46fd41e3f024d6b2" - integrity sha512-vOltgt7CDEZ9Zko5tBhxP6bwuOAJA5ev04w1rwAcDD8W4UGHnz+2D1b0eAHfLhsICVagwfNEG+KmDyyKzrzyFw== - dependencies: - "@aws-cdk/core" "1.57.0" - "@aws-cdk/region-info" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-kinesis@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kinesis/-/aws-kinesis-1.57.0.tgz#0eb08e31dcab3c90640ee93df1d2480281fa5fbf" - integrity sha512-x7ySlxBV+8I82MeYdNHLOMFi7mO19mkMabP9MrDlINcXpHRwXtUO6LMN+Bl/sda5v2FeVK8tpZm1PQ7lJ3jVCA== - dependencies: - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-kms" "1.57.0" - "@aws-cdk/aws-logs" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-kms@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.57.0.tgz#6fc0868b142c497d7c70c461596bfb111182c77b" - integrity sha512-kBoOCPEZTTCU2JN9LfVy7qYKI9+XGyCPybcxbrXhYjM1eC2tKEcCub7fQiQ3He+H4QEgfEqoKhwJlLHUDMSKtQ== - dependencies: - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-lambda@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.57.0.tgz#430314f57e07529faf1aee37b631b38db91f3a60" - integrity sha512-LNYO32T6ljUbfIEh1rOPFePQfUGF8GzAmazQ8A/G0aE8e919aJexWJ4k2YVcKAoKQRl7nPAZMXWWg2VfxEocDQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.57.0" - "@aws-cdk/aws-codeguruprofiler" "1.57.0" - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/aws-efs" "1.57.0" - "@aws-cdk/aws-events" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-logs" "1.57.0" - "@aws-cdk/aws-s3" "1.57.0" - "@aws-cdk/aws-s3-assets" "1.57.0" - "@aws-cdk/aws-sqs" "1.57.0" - "@aws-cdk/core" "1.57.0" - "@aws-cdk/cx-api" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-logs@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.57.0.tgz#b1b1b4be8ff1a0041f2c84ce21db78b80d26ffb6" - integrity sha512-q8hmcT7f6ZSHs0qypncTvIag7onKvt3gQIknPDnn3712rP3yz0zJlDfcN/TXRKEPxGVjGB9VCM/9q9pBKwbzQQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-route53-targets@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53-targets/-/aws-route53-targets-1.57.0.tgz#83416fba073328e223792a2df192efc2e153c324" - integrity sha512-1qE5Zr/y3vF/8h/7coJoyDcjacjVeI3ASXECC/O8hEpDeevqQSTza/l/xyeM8FRpYw/TqtFpJ7EAZbnYk3nJFw== - dependencies: - "@aws-cdk/aws-apigateway" "1.57.0" - "@aws-cdk/aws-cloudfront" "1.57.0" - "@aws-cdk/aws-cognito" "1.57.0" - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/aws-elasticloadbalancing" "1.57.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-route53" "1.57.0" - "@aws-cdk/aws-s3" "1.57.0" - "@aws-cdk/core" "1.57.0" - "@aws-cdk/region-info" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-route53@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.57.0.tgz#3e9be405b55a7b041482fa486e3b90ddc24754e0" - integrity sha512-SR+Q6fxDNzhsrc0gKfdXH5CZYH++7qwj5Hcd5CXKKHi9hw01GrYadTz8eXLFRb6Bt8coY5FN+KDbXc/wCI0H4g== - dependencies: - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/aws-logs" "1.57.0" - "@aws-cdk/cloud-assembly-schema" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-s3-assets@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.57.0.tgz#949ef5f3a045a2e728dead6bc935901d82181897" - integrity sha512-zX6xvP9m+InbD0IT40yCBRCtg0EW66WGMrd7yi9p4/kK8SSDdRP5LITJTzNrche24LUV2jWpzSBPVAm8QCp7JQ== - dependencies: - "@aws-cdk/assets" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-kms" "1.57.0" - "@aws-cdk/aws-s3" "1.57.0" - "@aws-cdk/core" "1.57.0" - "@aws-cdk/cx-api" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-s3@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.57.0.tgz#5d9d318e0ab78896f28276bf03e94835d483e33e" - integrity sha512-pwqLL6D+2saDNAlue74iBphPJ9E4ejXxrXg3llMLbud6GIjtzXz4G8H7z6OwkgdceEK5Sx3eVQNR4MPREdcO5g== - dependencies: - "@aws-cdk/aws-events" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-kms" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-sam@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sam/-/aws-sam-1.57.0.tgz#9a54d0a53b3bbd255c78ca29dd7ab6f9c884dfe2" - integrity sha512-QDfNwvE9fXk6gf99H6GMEMaWUOX6xSfnqLZaRACGD95saNwTtRT00j9gepIxbf8AA1vvZLpw222U4vTnMnU01g== - dependencies: - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-secretsmanager@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-secretsmanager/-/aws-secretsmanager-1.57.0.tgz#d75a361ebc3db43452004a0884eb08b5d1f263bc" - integrity sha512-URWlLfF1PR2BHgwcB1zGMkW1AsF9SrkA7qwyV/MmVvsQf3c2LOR6LWyCWJBRo3QSjrl/J8XVo6V5vBehE8hjow== - dependencies: - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-kms" "1.57.0" - "@aws-cdk/aws-lambda" "1.57.0" - "@aws-cdk/aws-sam" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-servicediscovery@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.57.0.tgz#e29dad5d79b530777d874c703e5fc21074823f4d" - integrity sha512-buRrZNRIrb1X7SHt+s8n2x6Pnj4fQ4L5do4NyC2yvzJk1na7I2quY8Po95GghZAi0JHraq6aI/AR4mOY10uI9w== - dependencies: - "@aws-cdk/aws-ec2" "1.57.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.57.0" - "@aws-cdk/aws-route53" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-sns-subscriptions@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.57.0.tgz#ff6c46eed54dc658b44821a8d63a04eed30215b2" - integrity sha512-86+fW/BKKyiNqZCTdmgf7RJcVrzhwLmZaCp/SatAnf6CPQ7vcf+14JAa8FmRjB0C5kSAeFDKx9eAb5amo9zTzA== - dependencies: - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-lambda" "1.57.0" - "@aws-cdk/aws-sns" "1.57.0" - "@aws-cdk/aws-sqs" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-sns@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.57.0.tgz#ea380ded10b8f04b0e768160bd8fbd51f7d59898" - integrity sha512-kJGbpOiUJBJext6DuWPkF6N3k/TzGeS/jXCCTWRbJoNFhyfor0G3IqHsuenLioNFz5IhPXJHEjW2vmGy5zjAlw== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.57.0" - "@aws-cdk/aws-events" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-kms" "1.57.0" - "@aws-cdk/aws-sqs" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-sqs@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.57.0.tgz#9ee09b9d9a1a9adb6f28d5e68752ec0fcda5bf42" - integrity sha512-Yu75GtLOykW/LPTp6fArLMsz8msTnnD0afIYcifzMbIU+EoqGtsGLkJat1rqHyU4t6g3cbcK8f7CVWSy+YyTZQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-kms" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-ssm@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.57.0.tgz#d684763501ad684d2d0bcbc71ef3378c98ad4ef0" - integrity sha512-nzDqMlqCooRbIZ3BazJMIXmoQWTMjJxP0Xn7bIfyjiTQwVj76h8r7n20uajXfCVMNcDj1Mpq+QBvNdyZPG/R6g== - dependencies: - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-kms" "1.57.0" - "@aws-cdk/cloud-assembly-schema" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-stepfunctions@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-stepfunctions/-/aws-stepfunctions-1.57.0.tgz#9d5501f6b2d065e7ca240ef8816efdadd5ae51ec" - integrity sha512-4Age9vLLC5s7oeVRIOW/wB+EvAgoIZxO/nlkZ3i5bRWvvRpesELS3DUkSXicbEJP0mn3yCujGnMo85LnTT7o2g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.57.0" - "@aws-cdk/aws-events" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-logs" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/cfnspec@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.57.0.tgz#57ce94fd4f1475617358a940b957795d27ccbd14" - integrity sha512-UEMmFYCtZuYvRLAkHtMqdhI0ziJA+SYT9o+BeYaVEbpibAYes9ILjEeeigdoJnYwbsCEqGclpKKTQHE7VvsiXA== - dependencies: - md5 "^2.2.1" - -"@aws-cdk/cloud-assembly-schema@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.57.0.tgz#bf9c63cf3ca8cbf0f37886b43b12f5fab5c7c989" - integrity sha512-IJyV3pgMvpbaIVYpUkBGsxIWh+VK7TxuTbEyHfBra5+VgXLoFdSG2UO80b4v6ou+occRqUGbqAnc/VfYr1uuvw== +"@aws-cdk/aws-ecr@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr/-/aws-ecr-1.61.1.tgz#4c429618be38aaed1bf549ae35a12a2f0e3f8374" + integrity sha512-ZDJL4HOaAYW84jp5yYy3SvdZUtbZhs+pCTHNLeAxuUkXmG4x5h/1eCK71Y/nhXSyDnDPcllpzYFUkkfzKB/h/Q== + dependencies: + "@aws-cdk/aws-events" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/core" "1.61.1" + "@aws-cdk/custom-resources" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-ecs-patterns@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecs-patterns/-/aws-ecs-patterns-1.61.1.tgz#9c38d11972d7c6be7fb57315c0c9eb1fc3f5076c" + integrity sha512-W3w6w8aTnL+BdJVPpATjKVXbpbDMMt2hXAQUKpaeC6DtCM6wSIbedjiwM/uQ8pg4ii/baerh0fs4BQlI8S5Lvw== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.61.1" + "@aws-cdk/aws-certificatemanager" "1.61.1" + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/aws-ecs" "1.61.1" + "@aws-cdk/aws-elasticloadbalancingv2" "1.61.1" + "@aws-cdk/aws-events" "1.61.1" + "@aws-cdk/aws-events-targets" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-route53" "1.61.1" + "@aws-cdk/aws-route53-targets" "1.61.1" + "@aws-cdk/aws-servicediscovery" "1.61.1" + "@aws-cdk/aws-sqs" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-ecs@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecs/-/aws-ecs-1.61.1.tgz#9caa871760a6e1149d88a50d069b5500143db036" + integrity sha512-NnNOXfyRr57caLmfnVOt+ADJ9t0hqVOtSDhAQ3HqcgY4eUu14iL+yiqqCkxMS36sG2rS138m35H/l5WV4uP8qA== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.61.1" + "@aws-cdk/aws-autoscaling" "1.61.1" + "@aws-cdk/aws-autoscaling-hooktargets" "1.61.1" + "@aws-cdk/aws-certificatemanager" "1.61.1" + "@aws-cdk/aws-cloudwatch" "1.61.1" + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/aws-ecr" "1.61.1" + "@aws-cdk/aws-ecr-assets" "1.61.1" + "@aws-cdk/aws-elasticloadbalancing" "1.61.1" + "@aws-cdk/aws-elasticloadbalancingv2" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/aws-lambda" "1.61.1" + "@aws-cdk/aws-logs" "1.61.1" + "@aws-cdk/aws-route53" "1.61.1" + "@aws-cdk/aws-route53-targets" "1.61.1" + "@aws-cdk/aws-secretsmanager" "1.61.1" + "@aws-cdk/aws-servicediscovery" "1.61.1" + "@aws-cdk/aws-sns" "1.61.1" + "@aws-cdk/aws-sqs" "1.61.1" + "@aws-cdk/aws-ssm" "1.61.1" + "@aws-cdk/core" "1.61.1" + "@aws-cdk/cx-api" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-efs@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.61.1.tgz#3eac68b7f22d6f6f296796789ce65c6a0085926b" + integrity sha512-Po9WxkcrgwzEG76umYSd4YlqVVYvJOVRCgjJC7UfA62oMoBqtprXBZ95oZOWZg9+ndTWd2X3bq+yin9bY32srw== + dependencies: + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/cloud-assembly-schema" "1.61.1" + "@aws-cdk/core" "1.61.1" + "@aws-cdk/cx-api" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-elasticloadbalancing@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancing/-/aws-elasticloadbalancing-1.61.1.tgz#a879ec946a5c3076629b94972d72bab961349235" + integrity sha512-LEltKPeuF1MkSnASICj0mz0HMLjwGvSpZ2Es3Yky0O9GS8DLise7Vi7e0+2/5s+bHKUyQV0i5FYu30K0HoCw7w== + dependencies: + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-elasticloadbalancingv2@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.61.1.tgz#d9255917079532f3a504a681f563f836f1d6ef6b" + integrity sha512-4MVyGYxu8KvKhc4/NbGakZD5JjMBx4GWpDp2pnjQIVxxmQ4/dHxcDQW7+4C7/mz83bNVNhYLzmvjRHmN5obeRA== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.61.1" + "@aws-cdk/aws-cloudwatch" "1.61.1" + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-lambda" "1.61.1" + "@aws-cdk/aws-s3" "1.61.1" + "@aws-cdk/core" "1.61.1" + "@aws-cdk/region-info" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-events-targets@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events-targets/-/aws-events-targets-1.61.1.tgz#1fd532af72c8763a783f72777ee50a7a6dd5e459" + integrity sha512-C05hJDdP9x15390zL1VWV36pOSHdm3SZf4SAFm+IzVf9JqsDxpvwwh46pg8wi8c+mK2S3+hAuPsHdsgWEMP9rA== + dependencies: + "@aws-cdk/aws-batch" "1.61.1" + "@aws-cdk/aws-codebuild" "1.61.1" + "@aws-cdk/aws-codepipeline" "1.61.1" + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/aws-ecs" "1.61.1" + "@aws-cdk/aws-events" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-kinesis" "1.61.1" + "@aws-cdk/aws-lambda" "1.61.1" + "@aws-cdk/aws-sns" "1.61.1" + "@aws-cdk/aws-sns-subscriptions" "1.61.1" + "@aws-cdk/aws-sqs" "1.61.1" + "@aws-cdk/aws-stepfunctions" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-events@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.61.1.tgz#9512594d1b5646ac2e7db235affc98da4086d77a" + integrity sha512-xdwfxVp3MM+83JxgXdD6gTAFu3PsG0qnxS6Bl/E0KU3lwLLfcYn9yxsG921OoX6sH25JJ0Rijn+IhRr5vtFggQ== + dependencies: + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-iam@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.61.1.tgz#514ce949e21ceb34f57eb1eb7677343bd8a03db0" + integrity sha512-XpEKwSqAEK/xRNcvFo6B1RwvEcaP/6XSu/xsYNhRufeOZd4YB0ktdq9xD0NZvZTBlKQ5Qc5bP7MHa/+NdYuwfA== + dependencies: + "@aws-cdk/core" "1.61.1" + "@aws-cdk/region-info" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-kinesis@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kinesis/-/aws-kinesis-1.61.1.tgz#9823948099fb45ee3e7e8ebe951c05b5207dad07" + integrity sha512-hrbV5+vfF0BKmH+FEKcVRtnS/uoec5uJ3PAyqRb4BfjtAPuEUHixlIKCeLNFtxaDTLO6RInNLnebFkmG0yg6Vg== + dependencies: + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/aws-logs" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-kms@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.61.1.tgz#bebbb628886521fdf7d5873562d231265a8dae69" + integrity sha512-wOg12iuCBCdvpkNzIkUF5owb8rMblJ4kUnvnRQk5WQm/EQJjQnfn+BRp1D81XroEiPPv2kfvE8VeqMU+cynSkQ== + dependencies: + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-lambda@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.61.1.tgz#d7504b879d350627ab142e1fb69c5664a378a77c" + integrity sha512-pLlYaU8hLDIU8MKobdlhj8xJMaGWpvub5X7Bjmj+5iUQPsR4sb1UE2YGwDqKryQkx+aAPCZLnglQ0dpICZDr0w== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.61.1" + "@aws-cdk/aws-cloudwatch" "1.61.1" + "@aws-cdk/aws-codeguruprofiler" "1.61.1" + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/aws-efs" "1.61.1" + "@aws-cdk/aws-events" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-logs" "1.61.1" + "@aws-cdk/aws-s3" "1.61.1" + "@aws-cdk/aws-s3-assets" "1.61.1" + "@aws-cdk/aws-sqs" "1.61.1" + "@aws-cdk/core" "1.61.1" + "@aws-cdk/cx-api" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-logs@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.61.1.tgz#4c0268b8bf75c9cbf1c32dd03ed43c5c1e885c2b" + integrity sha512-dtotjjJKCoUrx8wD1/K0KnY3aT6fEmKcvzfU6pqPQ1LUeZXD/6Z18J2NEnejJqq1lSCf5PZO3bUVbI76vNFFbQ== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-s3-assets" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-route53-targets@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53-targets/-/aws-route53-targets-1.61.1.tgz#24cef1264799dcec377ad25a4486ef42d552dcbf" + integrity sha512-19i7cFW2SaQawChJmh7e0F+OobW7RnHpsTDKgKs2lHnJ5CYRg+Ziac0ngDqjp/OO6bpWfNgOpmUiO4mOpQyvbQ== + dependencies: + "@aws-cdk/aws-apigateway" "1.61.1" + "@aws-cdk/aws-cloudfront" "1.61.1" + "@aws-cdk/aws-cognito" "1.61.1" + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/aws-elasticloadbalancing" "1.61.1" + "@aws-cdk/aws-elasticloadbalancingv2" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-route53" "1.61.1" + "@aws-cdk/aws-s3" "1.61.1" + "@aws-cdk/core" "1.61.1" + "@aws-cdk/region-info" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-route53@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.61.1.tgz#68b74a2b3d9fde5c07b4b6e146f3170c403f31cb" + integrity sha512-peT+LNJ60jI2bL4nWsFjkuGxve1oZdWeEHFP/+nZMoDGYp4wat430I8WKtH5n70OT7JsvyAIldNxcZa0Kti/Lg== + dependencies: + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/aws-logs" "1.61.1" + "@aws-cdk/cloud-assembly-schema" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-s3-assets@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.61.1.tgz#cfd929b5bcc926b89227d299730125821efed491" + integrity sha512-Uy98uNdopUdDMsk2O7fzho23T4cx74yKuDNn8tWhisRijBdxATfFUmfYoMhUKch46cpUp98EHx0BXZfiuHrdoQ== + dependencies: + "@aws-cdk/assets" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/aws-s3" "1.61.1" + "@aws-cdk/core" "1.61.1" + "@aws-cdk/cx-api" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-s3@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.61.1.tgz#8503cc1916b574c3f559bbe4a46d6ffc68805402" + integrity sha512-PmV5qLR+M7NaTRpcKoqCyt8eHJHqCqn76eyS+MXJRojVZBD/5ScMTqmn0d8nT6UMO3dWThZDZdvssoqLwXKbXA== + dependencies: + "@aws-cdk/aws-events" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-sam@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sam/-/aws-sam-1.61.1.tgz#315ac7ff386ddb93932581225ef4ca85a534de9d" + integrity sha512-yBSNAMKqAM8JngiJLjzUKLvxKSfsmFNij4J0aYW9/Z/R8HSPh94+J/VT6d6aFGdE33GH/aLH/HUWhVYsNva1Uw== + dependencies: + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-secretsmanager@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-secretsmanager/-/aws-secretsmanager-1.61.1.tgz#56290d22c1c827fcb4443bfde7362ca8e7d34475" + integrity sha512-xFkcOqs65MMRFXUZmubFxEWcKnQCyjZA9/k+vc1ChPPhlDiecdAAf7VptW2OzNeVyhiW1hWRbi6tu5y4gPfQHw== + dependencies: + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/aws-lambda" "1.61.1" + "@aws-cdk/aws-sam" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-servicediscovery@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.61.1.tgz#6c9190e0373d490667a78b83ba8262c283cb5168" + integrity sha512-I65yzo4Ty2poOG0R0z9GDN88xdUArJ+j+x9t0hVnCneRNJhGmYuxXmCnJd58w0m0wjEpLzyeff/VQ5p/VL5Jfg== + dependencies: + "@aws-cdk/aws-ec2" "1.61.1" + "@aws-cdk/aws-elasticloadbalancingv2" "1.61.1" + "@aws-cdk/aws-route53" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-sns-subscriptions@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.61.1.tgz#7d778db019fcd32fadef8c71f6408c2a13188257" + integrity sha512-RpxrSS4wsAmwnCAq4KCgokW3STRDW7Zlz0OiXigR+gauJc9C4FG5lcQavsLfvkZqYq5hGpgWWMrhgNmnlSCVlw== + dependencies: + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-lambda" "1.61.1" + "@aws-cdk/aws-sns" "1.61.1" + "@aws-cdk/aws-sqs" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-sns@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.61.1.tgz#4fa37241e60987f36664d0c15228a7e4e93bcf4a" + integrity sha512-9wp4ogMh5+8BnAqlfITqh19UEgTMAKclk49U1cYI/ZjBdR8hiuIqGPqltPZnM79xyl8XEVGWVGh6XFcGTeGVuw== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.61.1" + "@aws-cdk/aws-events" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/aws-sqs" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-sqs@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.61.1.tgz#8320d66d1fa4b07c5848cb36e24948dd535b3368" + integrity sha512-TxA5mVZf1uWK/aPhmQshATzzMq2EDK32KGW1ABPAu65/kPzJKiR9/3YoPJrI7jFWGA4AaE9aMAwKI/DDMQRqKg== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-ssm@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.61.1.tgz#45f48c1312d71661f1d5ceb92e3e5d5f256ccf7e" + integrity sha512-gThHRdeZgWOD3kjbYDoWysgu52N02KeV10+dtVVCNWLT4uiZURxtpjSkv9gee+R+uc3zhb4G/oLLDLJOnnyZUA== + dependencies: + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-kms" "1.61.1" + "@aws-cdk/cloud-assembly-schema" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/aws-stepfunctions@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-stepfunctions/-/aws-stepfunctions-1.61.1.tgz#33c41dcbef05219aa3586b353e1259ac87652900" + integrity sha512-xY56pa+jvVi36a/4GJmPlJ467Gu/Y6C4zxN2norzhqLr9c1pddVUaUQeO5mjTgKuSGiCBWxEFH5ihI7cFLYifw== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.61.1" + "@aws-cdk/aws-events" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-logs" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/cfnspec@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.61.1.tgz#f97f6979823467ea91fe3f31fe0763689a7e1e68" + integrity sha512-pKbwo6OLiUq6+nZYBxayTvRMGzHiSaRJekHepkqCnsX7sxE9DMg2LyenyDwJd/oe5zDfMWHssbacAiKqIqiCCA== + dependencies: + md5 "^2.3.0" + +"@aws-cdk/cloud-assembly-schema@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.1.tgz#cdc0fe910ed96e3f384f852cab3f0551ef864493" + integrity sha512-o8lvKcDY5jKe6qnFF7rHKWQUk0bzSy39Aw3QJchXiDR4HmB8nxVNB0kIVgWKAcHfFQbZaR5iA80IsgDtyC8ywA== dependencies: jsonschema "^1.2.5" semver "^7.2.2" -"@aws-cdk/cloudformation-diff@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.57.0.tgz#cebc05d63a5234191524cfa7237d6bdd1716c30c" - integrity sha512-BqFkuEMppF3icWwACjKO/W7SBbnWaAPUjR8Uw7UsP2r6gGhygOY0fOfuB1OfOivs7lZSIkyPy1oxDlw23r7/Zg== +"@aws-cdk/cloudformation-diff@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.61.1.tgz#6e82ccf27313deacf98949ef128036e6833e7afb" + integrity sha512-zBwMfCqsTHGbaFr8hZr7DB2lTqlGpuvKFTkJjQcvrz1vVMnSQ9X9woEvpxv7uBCXYFtNbkd+o8vLjhqT8FbKsA== dependencies: - "@aws-cdk/cfnspec" "1.57.0" + "@aws-cdk/cfnspec" "1.61.1" colors "^1.4.0" diff "^4.0.2" fast-deep-equal "^3.1.3" string-width "^4.2.0" table "^5.4.6" -"@aws-cdk/core@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.57.0.tgz#44e19a18f05d0b0742e5d406474000ef2f6f5db9" - integrity sha512-NOE9u2tVwEF+EN5CYaoC34csBgKLA9rjCWCB6R64RPQ2MlhBFCvQxdG2ZO26nOOvH+yv/3zlylM7F546mfQMHg== +"@aws-cdk/core@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.1.tgz#6608e57ba90a0e654d05db50ade9e76e477f701a" + integrity sha512-MtWTXl67quAV0UbTYHk+uofXcLdgiJcQ4D+ukIKpUimjaWV+HeY+HOGN9IvswtjtJyuDZb47+G1eUwb1+1gvzw== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.57.0" - "@aws-cdk/cx-api" "1.57.0" - constructs "^3.0.2" + "@aws-cdk/cloud-assembly-schema" "1.61.1" + "@aws-cdk/cx-api" "1.61.1" + constructs "^3.0.4" fs-extra "^9.0.1" minimatch "^3.0.4" -"@aws-cdk/custom-resources@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.57.0.tgz#2a82c28040c205c4e0c57aa2ed27e31db242d5a4" - integrity sha512-EEK2aRFRfC5uKWRQLFLjLApipb0NU07fDuATgdhSd1oqDRUvzvpQGJe0QL411c5rZGZa1aUAU9t/rnY1zmd1yQ== - dependencies: - "@aws-cdk/aws-cloudformation" "1.57.0" - "@aws-cdk/aws-iam" "1.57.0" - "@aws-cdk/aws-lambda" "1.57.0" - "@aws-cdk/aws-logs" "1.57.0" - "@aws-cdk/aws-sns" "1.57.0" - "@aws-cdk/core" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/cx-api@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.57.0.tgz#e6ad6936e1781b821317be60978fb20111cb4d16" - integrity sha512-h2qTTofE8cE1rSZB9ny+7AjjmxEdKoxhq+GsQebQ5NZkrN/Rbc+DL77S/GG53koPG4u/ZoA4UcdLz/JqiGgdPA== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.57.0" +"@aws-cdk/custom-resources@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.61.1.tgz#5001ec37fd4e8f015c457c4a1843415d9ce28f22" + integrity sha512-Wah7wniS2VNalNPr8BwTwpYKPfyQil8r6kAKszah2djYlPc9IR6ZkkFrnquwNkSl3V2q1Mc6ebr8XmpycRoVZA== + dependencies: + "@aws-cdk/aws-cloudformation" "1.61.1" + "@aws-cdk/aws-iam" "1.61.1" + "@aws-cdk/aws-lambda" "1.61.1" + "@aws-cdk/aws-logs" "1.61.1" + "@aws-cdk/aws-sns" "1.61.1" + "@aws-cdk/core" "1.61.1" + constructs "^3.0.4" + +"@aws-cdk/cx-api@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.1.tgz#b0c8d092be54b977814d40040e5a87f453045d31" + integrity sha512-p4ICmUMprrhAnnKRPV42Ptxz9nC6LxhgpOKFFyYFS7QJVZUuolv8aCN4Ew5R4S4ZvuG0T+TzrB9pZXVKsHdAdQ== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.61.1" semver "^7.2.2" -"@aws-cdk/region-info@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.57.0.tgz#ae45fcf82fe7c66348c8b7ecfbb738dfb08bde9d" - integrity sha512-U2V2f/PdD2VDGVwGGShb+7dqhmEEmShlOOdvDQvTmAg2SW6HwOt/rsz+va6EzvWV7fmxtFEfMiJVpnheZ1Vwyg== +"@aws-cdk/region-info@1.61.1": + version "1.61.1" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.61.1.tgz#ead1a1ed307f298f233b624676578b5cf71b7ca0" + integrity sha512-T7i9qR/9OfsVnoEiQlKpNDtUpOS31DeXdnT1yfDsD6GGWlJMuDrVuJ79R1xJRQxNbP3WLhq+9WZHMK7hqdb4pA== -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" - integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== dependencies: - "@babel/highlight" "^7.8.3" + "@babel/highlight" "^7.10.4" "@babel/core@^7.1.0", "@babel/core@^7.7.5": - version "7.10.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.0.tgz#a6fe5db77ebfb61e0da6c5c36aaf14aab07b2b44" - integrity sha512-FGgV2XyPoVtYDvbFXlukEWt13Afka4mBRQ2CoTsHxpgVGO6XfgtT6eI+WyjQRGGTL90IDkIVmme8riFCLZ8lUw== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.10.0" - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helpers" "^7.10.0" - "@babel/parser" "^7.10.0" - "@babel/template" "^7.10.0" - "@babel/traverse" "^7.10.0" - "@babel/types" "^7.10.0" + version "7.11.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.4.tgz#4301dfdfafa01eeb97f1896c5501a3f0655d4229" + integrity sha512-5deljj5HlqRXN+5oJTY7Zs37iH3z3b++KjiKtIsJy1NrjOOVSEaJHEetLBhyu0aQOSNNZ/0IuEAan9GzRuDXHg== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.11.4" + "@babel/helper-module-transforms" "^7.11.0" + "@babel/helpers" "^7.10.4" + "@babel/parser" "^7.11.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.11.0" + "@babel/types" "^7.11.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" json5 "^2.1.2" - lodash "^4.17.13" + lodash "^4.17.19" resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.10.0", "@babel/generator@^7.4.0": - version "7.10.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.0.tgz#a238837896edf35ee5fbfb074548d3256b4bc55d" - integrity sha512-ThoWCJHlgukbtCP79nAK4oLqZt5fVo70AHUni/y8Jotyg5rtJiG2FVl+iJjRNKIyl4hppqztLyAoEWcCvqyOFQ== +"@babel/generator@^7.11.0", "@babel/generator@^7.11.4", "@babel/generator@^7.4.0": + version "7.11.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.4.tgz#1ec7eec00defba5d6f83e50e3ee72ae2fee482be" + integrity sha512-Rn26vueFx0eOoz7iifCN2UHT6rGtnkSGWSoDRIy8jZN3B91PzeSULbswfLoOWuTuAcNwpG/mxy+uCTDnZ9Mp1g== dependencies: - "@babel/types" "^7.10.0" + "@babel/types" "^7.11.0" jsesc "^2.5.1" - lodash "^4.17.13" source-map "^0.5.0" -"@babel/helper-function-name@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz#2b53820d35275120e1874a82e5aabe1376920a5c" - integrity sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw== - dependencies: - "@babel/helper-get-function-arity" "^7.8.3" - "@babel/template" "^7.8.3" - "@babel/types" "^7.9.5" - -"@babel/helper-get-function-arity@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" - integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-member-expression-to-functions@^7.10.0": - version "7.10.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.0.tgz#e8cf57470bfd1247f2b41aa621a527e952efa6f1" - integrity sha512-xKLTpbMkJcvwEsDaTfs9h0IlfUiBLPFfybxaPpPPsQDsZTRg+UKh+86oK7sctHF3OUiRQkb10oS9MXSqgyV6/g== - dependencies: - "@babel/types" "^7.10.0" - -"@babel/helper-module-imports@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" - integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-module-transforms@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" - integrity sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA== - dependencies: - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.6" - "@babel/helper-simple-access" "^7.8.3" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/template" "^7.8.6" - "@babel/types" "^7.9.0" - lodash "^4.17.13" - -"@babel/helper-optimise-call-expression@^7.10.0": - version "7.10.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.0.tgz#6dcfb565842f43bed31b24f3e4277f18826e5e79" - integrity sha512-HgMd8QKA8wMJs5uK/DYKdyzJAEuGt1zyDp9wLMlMR6LitTQTHPUE+msC82ZsEDwq+U3/yHcIXIngRm9MS4IcIg== - dependencies: - "@babel/types" "^7.10.0" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" - integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ== - -"@babel/helper-replace-supers@^7.8.6": - version "7.10.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.0.tgz#26bc22ee1a35450934d2e2a9b27de10a22fac9d6" - integrity sha512-erl4iVeiANf14JszXP7b69bSrz3e3+qW09pVvEmTWwzRQEOoyb1WFlYCA8d/VjVZGYW8+nGpLh7swf9CifH5wg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.10.0" - "@babel/helper-optimise-call-expression" "^7.10.0" - "@babel/traverse" "^7.10.0" - "@babel/types" "^7.10.0" - -"@babel/helper-simple-access@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" - integrity sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw== - dependencies: - "@babel/template" "^7.8.3" - "@babel/types" "^7.8.3" - -"@babel/helper-split-export-declaration@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" - integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== - dependencies: - "@babel/types" "^7.8.3" - -"@babel/helper-validator-identifier@^7.9.0", "@babel/helper-validator-identifier@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" - integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== - -"@babel/helpers@^7.10.0": - version "7.10.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.0.tgz#634400a0977b8dcf7b311761a77ca94ed974b3b6" - integrity sha512-lQtFJoDZAGf/t2PgR6Z59Q2MwjvOGGsxZ0BAlsrgyDhKuMbe63EfbQmVmcLfyTBj8J4UtiadQimcotvYVg/kVQ== - dependencies: - "@babel/template" "^7.10.0" - "@babel/traverse" "^7.10.0" - "@babel/types" "^7.10.0" - -"@babel/highlight@^7.8.3": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" - integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ== - dependencies: - "@babel/helper-validator-identifier" "^7.9.0" +"@babel/helper-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" + integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-get-function-arity@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" + integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-member-expression-to-functions@^7.10.4": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" + integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q== + dependencies: + "@babel/types" "^7.11.0" + +"@babel/helper-module-imports@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" + integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-module-transforms@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359" + integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-simple-access" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/template" "^7.10.4" + "@babel/types" "^7.11.0" + lodash "^4.17.19" + +"@babel/helper-optimise-call-expression@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" + integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + +"@babel/helper-replace-supers@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" + integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-simple-access@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" + integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== + dependencies: + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-split-export-declaration@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" + integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== + dependencies: + "@babel/types" "^7.11.0" + +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== + +"@babel/helpers@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" + integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== + dependencies: + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.10.0", "@babel/parser@^7.4.3": - version "7.10.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.0.tgz#8eca3e71a73dd562c5222376b08253436bb4995b" - integrity sha512-fnDUl1Uy2gThM4IFVW4ISNHqr3cJrCsRkSCasFgx0XDO9JcttDS5ytyBc4Cu4X1+fjoo3IVvFbRD6TeFlHJlEQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.4", "@babel/parser@^7.4.3": + version "7.11.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.4.tgz#6fa1a118b8b0d80d0267b719213dc947e88cc0ca" + integrity sha512-MggwidiH+E9j5Sh8pbrX5sJvMcsqS5o+7iB42M9/k0CD63MjYbdP4nhSh7uB5wnv2/RVzTZFTxzF/kIa5mrCqA== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -834,11 +839,18 @@ "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz#6cb933a8872c8d359bfde69bbeaae5162fd1e8f7" - integrity sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg== + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c" + integrity sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" @@ -848,11 +860,11 @@ "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.8.3.tgz#3995d7d7ffff432f6ddc742b47e730c054599897" - integrity sha512-Zpg2Sgc++37kuFl6ppq2Q7Awc6E6AIW671x5PY8E/f7MCIyPPGK/EoeZXvvY3P42exZ3Q4/t3YOzP/HiN79jDg== + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" @@ -862,11 +874,11 @@ "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f" - integrity sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw== + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" @@ -889,37 +901,37 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/template@^7.10.0", "@babel/template@^7.3.3", "@babel/template@^7.4.0", "@babel/template@^7.8.3", "@babel/template@^7.8.6": - version "7.10.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.0.tgz#f15d852ce16cd5fb3e219097a75f662710b249b1" - integrity sha512-aMLEQn5tcG49LEWrsEwxiRTdaJmvLem3+JMCMSeCy2TILau0IDVyWdm/18ACx7XOCady64FLt6KkHy28tkDQHQ== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/parser" "^7.10.0" - "@babel/types" "^7.10.0" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.0", "@babel/traverse@^7.4.3": - version "7.10.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.0.tgz#290935529881baf619398d94fd453838bef36740" - integrity sha512-NZsFleMaLF1zX3NxbtXI/JCs2RPOdpGru6UBdGsfhdsDsP+kFF+h2QQJnMJglxk0kc69YmMFs4A44OJY0tKo5g== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.10.0" - "@babel/helper-function-name" "^7.9.5" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/parser" "^7.10.0" - "@babel/types" "^7.10.0" +"@babel/template@^7.10.4", "@babel/template@^7.3.3", "@babel/template@^7.4.0": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" + integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0", "@babel/traverse@^7.4.3": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.0.tgz#9b996ce1b98f53f7c3e4175115605d56ed07dd24" + integrity sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.11.0" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.11.0" + "@babel/types" "^7.11.0" debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.13" + lodash "^4.17.19" -"@babel/types@^7.0.0", "@babel/types@^7.10.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0", "@babel/types@^7.8.3", "@babel/types@^7.9.0", "@babel/types@^7.9.5": - version "7.10.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.0.tgz#d47d92249e42393a5723aad5319035ae411e3e38" - integrity sha512-t41W8yWFyQFPOAAvPvjyRhejcLGnJTA3iRpFcDbEKwVJ3UnHQePFzLk8GagTsucJlImyNwrGikGsYURrWbQG8w== +"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d" + integrity sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA== dependencies: - "@babel/helper-validator-identifier" "^7.9.5" - lodash "^4.17.13" + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -1025,195 +1037,93 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== -"@jest/console@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.5.0.tgz#770800799d510f37329c508a9edd0b7b447d9abb" - integrity sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw== - dependencies: - "@jest/types" "^25.5.0" - chalk "^3.0.0" - jest-message-util "^25.5.0" - jest-util "^25.5.0" - slash "^3.0.0" - -"@jest/console@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.1.0.tgz#f67c89e4f4d04dbcf7b052aed5ab9c74f915b954" - integrity sha512-+0lpTHMd/8pJp+Nd4lyip+/Iyf2dZJvcCqrlkeZQoQid+JlThA4M9vxHtheyrQ99jJTMQam+es4BcvZ5W5cC3A== +"@jest/console@^26.3.0": + version "26.3.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.3.0.tgz#ed04063efb280c88ba87388b6f16427c0a85c856" + integrity sha512-/5Pn6sJev0nPUcAdpJHMVIsA8sKizL2ZkcKPE5+dJrCccks7tcM7c9wbgHudBJbxXLoTbqsHkG1Dofoem4F09w== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.3.0" + "@types/node" "*" chalk "^4.0.0" - jest-message-util "^26.1.0" - jest-util "^26.1.0" - slash "^3.0.0" - -"@jest/core@^25.5.4": - version "25.5.4" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.5.4.tgz#3ef7412f7339210f003cdf36646bbca786efe7b4" - integrity sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA== - dependencies: - "@jest/console" "^25.5.0" - "@jest/reporters" "^25.5.1" - "@jest/test-result" "^25.5.0" - "@jest/transform" "^25.5.1" - "@jest/types" "^25.5.0" - ansi-escapes "^4.2.1" - chalk "^3.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^25.5.0" - jest-config "^25.5.4" - jest-haste-map "^25.5.1" - jest-message-util "^25.5.0" - jest-regex-util "^25.2.6" - jest-resolve "^25.5.1" - jest-resolve-dependencies "^25.5.4" - jest-runner "^25.5.4" - jest-runtime "^25.5.4" - jest-snapshot "^25.5.1" - jest-util "^25.5.0" - jest-validate "^25.5.0" - jest-watcher "^25.5.0" - micromatch "^4.0.2" - p-each-series "^2.1.0" - realpath-native "^2.0.0" - rimraf "^3.0.0" + jest-message-util "^26.3.0" + jest-util "^26.3.0" slash "^3.0.0" - strip-ansi "^6.0.0" -"@jest/core@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.1.0.tgz#4580555b522de412a7998b3938c851e4f9da1c18" - integrity sha512-zyizYmDJOOVke4OO/De//aiv8b07OwZzL2cfsvWF3q9YssfpcKfcnZAwDY8f+A76xXSMMYe8i/f/LPocLlByfw== +"@jest/core@^26.4.2": + version "26.4.2" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.4.2.tgz#85d0894f31ac29b5bab07aa86806d03dd3d33edc" + integrity sha512-sDva7YkeNprxJfepOctzS8cAk9TOekldh+5FhVuXS40+94SHbiicRO1VV2tSoRtgIo+POs/Cdyf8p76vPTd6dg== dependencies: - "@jest/console" "^26.1.0" - "@jest/reporters" "^26.1.0" - "@jest/test-result" "^26.1.0" - "@jest/transform" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/console" "^26.3.0" + "@jest/reporters" "^26.4.1" + "@jest/test-result" "^26.3.0" + "@jest/transform" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" - jest-changed-files "^26.1.0" - jest-config "^26.1.0" - jest-haste-map "^26.1.0" - jest-message-util "^26.1.0" + jest-changed-files "^26.3.0" + jest-config "^26.4.2" + jest-haste-map "^26.3.0" + jest-message-util "^26.3.0" jest-regex-util "^26.0.0" - jest-resolve "^26.1.0" - jest-resolve-dependencies "^26.1.0" - jest-runner "^26.1.0" - jest-runtime "^26.1.0" - jest-snapshot "^26.1.0" - jest-util "^26.1.0" - jest-validate "^26.1.0" - jest-watcher "^26.1.0" + jest-resolve "^26.4.0" + jest-resolve-dependencies "^26.4.2" + jest-runner "^26.4.2" + jest-runtime "^26.4.2" + jest-snapshot "^26.4.2" + jest-util "^26.3.0" + jest-validate "^26.4.2" + jest-watcher "^26.3.0" micromatch "^4.0.2" p-each-series "^2.1.0" rimraf "^3.0.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.5.0.tgz#aa33b0c21a716c65686638e7ef816c0e3a0c7b37" - integrity sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA== - dependencies: - "@jest/fake-timers" "^25.5.0" - "@jest/types" "^25.5.0" - jest-mock "^25.5.0" - -"@jest/environment@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.1.0.tgz#378853bcdd1c2443b4555ab908cfbabb851e96da" - integrity sha512-86+DNcGongbX7ai/KE/S3/NcUVZfrwvFzOOWX/W+OOTvTds7j07LtC+MgGydH5c8Ri3uIrvdmVgd1xFD5zt/xA== - dependencies: - "@jest/fake-timers" "^26.1.0" - "@jest/types" "^26.1.0" - jest-mock "^26.1.0" - -"@jest/fake-timers@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.5.0.tgz#46352e00533c024c90c2bc2ad9f2959f7f114185" - integrity sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ== +"@jest/environment@^26.3.0": + version "26.3.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.3.0.tgz#e6953ab711ae3e44754a025f838bde1a7fd236a0" + integrity sha512-EW+MFEo0DGHahf83RAaiqQx688qpXgl99wdb8Fy67ybyzHwR1a58LHcO376xQJHfmoXTu89M09dH3J509cx2AA== dependencies: - "@jest/types" "^25.5.0" - jest-message-util "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - lolex "^5.0.0" + "@jest/fake-timers" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/node" "*" + jest-mock "^26.3.0" -"@jest/fake-timers@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.1.0.tgz#9a76b7a94c351cdbc0ad53e5a748789f819a65fe" - integrity sha512-Y5F3kBVWxhau3TJ825iuWy++BAuQzK/xEa+wD9vDH3RytW9f2DbMVodfUQC54rZDX3POqdxCgcKdgcOL0rYUpA== +"@jest/fake-timers@^26.3.0": + version "26.3.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.3.0.tgz#f515d4667a6770f60ae06ae050f4e001126c666a" + integrity sha512-ZL9ytUiRwVP8ujfRepffokBvD2KbxbqMhrXSBhSdAhISCw3gOkuntisiSFv+A6HN0n0fF4cxzICEKZENLmW+1A== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.3.0" "@sinonjs/fake-timers" "^6.0.1" - jest-message-util "^26.1.0" - jest-mock "^26.1.0" - jest-util "^26.1.0" - -"@jest/globals@^25.5.2": - version "25.5.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-25.5.2.tgz#5e45e9de8d228716af3257eeb3991cc2e162ca88" - integrity sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA== - dependencies: - "@jest/environment" "^25.5.0" - "@jest/types" "^25.5.0" - expect "^25.5.0" - -"@jest/globals@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.1.0.tgz#6cc5d7cbb79b76b120f2403d7d755693cf063ab1" - integrity sha512-MKiHPNaT+ZoG85oMaYUmGHEqu98y3WO2yeIDJrs2sJqHhYOy3Z6F7F/luzFomRQ8SQ1wEkmahFAz2291Iv8EAw== - dependencies: - "@jest/environment" "^26.1.0" - "@jest/types" "^26.1.0" - expect "^26.1.0" + "@types/node" "*" + jest-message-util "^26.3.0" + jest-mock "^26.3.0" + jest-util "^26.3.0" -"@jest/reporters@^25.5.1": - version "25.5.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.5.1.tgz#cb686bcc680f664c2dbaf7ed873e93aa6811538b" - integrity sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw== +"@jest/globals@^26.4.2": + version "26.4.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.4.2.tgz#73c2a862ac691d998889a241beb3dc9cada40d4a" + integrity sha512-Ot5ouAlehhHLRhc+sDz2/9bmNv9p5ZWZ9LE1pXGGTCXBasmi5jnYjlgYcYt03FBwLmZXCZ7GrL29c33/XRQiow== dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^25.5.0" - "@jest/test-result" "^25.5.0" - "@jest/transform" "^25.5.1" - "@jest/types" "^25.5.0" - chalk "^3.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^25.5.1" - jest-resolve "^25.5.1" - jest-util "^25.5.0" - jest-worker "^25.5.0" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^3.1.0" - terminal-link "^2.0.0" - v8-to-istanbul "^4.1.3" - optionalDependencies: - node-notifier "^6.0.0" + "@jest/environment" "^26.3.0" + "@jest/types" "^26.3.0" + expect "^26.4.2" -"@jest/reporters@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.1.0.tgz#08952e90c90282e14ff49e927bdf1873617dae78" - integrity sha512-SVAysur9FOIojJbF4wLP0TybmqwDkdnFxHSPzHMMIYyBtldCW9gG+Q5xWjpMFyErDiwlRuPyMSJSU64A67Pazg== +"@jest/reporters@^26.4.1": + version "26.4.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.4.1.tgz#3b4d6faf28650f3965f8b97bc3d114077fb71795" + integrity sha512-aROTkCLU8++yiRGVxLsuDmZsQEKO6LprlrxtAuzvtpbIFl3eIjgIf3EUxDKgomkS25R9ZzwGEdB5weCcBZlrpQ== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.1.0" - "@jest/test-result" "^26.1.0" - "@jest/transform" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/console" "^26.3.0" + "@jest/test-result" "^26.3.0" + "@jest/transform" "^26.3.0" + "@jest/types" "^26.3.0" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" @@ -1224,115 +1134,63 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.0.2" - jest-haste-map "^26.1.0" - jest-resolve "^26.1.0" - jest-util "^26.1.0" - jest-worker "^26.1.0" + jest-haste-map "^26.3.0" + jest-resolve "^26.4.0" + jest-util "^26.3.0" + jest-worker "^26.3.0" slash "^3.0.0" source-map "^0.6.0" string-length "^4.0.1" terminal-link "^2.0.0" - v8-to-istanbul "^4.1.3" + v8-to-istanbul "^5.0.1" optionalDependencies: - node-notifier "^7.0.0" - -"@jest/source-map@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.5.0.tgz#df5c20d6050aa292c2c6d3f0d2c7606af315bd1b" - integrity sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" + node-notifier "^8.0.0" -"@jest/source-map@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.1.0.tgz#a6a020d00e7d9478f4b690167c5e8b77e63adb26" - integrity sha512-XYRPYx4eEVX15cMT9mstnO7hkHP3krNtKfxUYd8L7gbtia8JvZZ6bMzSwa6IQJENbudTwKMw5R1BePRD+bkEmA== +"@jest/source-map@^26.3.0": + version "26.3.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.3.0.tgz#0e646e519883c14c551f7b5ae4ff5f1bfe4fc3d9" + integrity sha512-hWX5IHmMDWe1kyrKl7IhFwqOuAreIwHhbe44+XH2ZRHjrKIh0LO5eLQ/vxHFeAfRwJapmxuqlGAEYLadDq6ZGQ== dependencies: callsites "^3.0.0" graceful-fs "^4.2.4" source-map "^0.6.0" -"@jest/test-result@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.5.0.tgz#139a043230cdeffe9ba2d8341b27f2efc77ce87c" - integrity sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A== - dependencies: - "@jest/console" "^25.5.0" - "@jest/types" "^25.5.0" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-result@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.1.0.tgz#a93fa15b21ad3c7ceb21c2b4c35be2e407d8e971" - integrity sha512-Xz44mhXph93EYMA8aYDz+75mFbarTV/d/x0yMdI3tfSRs/vh4CqSxgzVmCps1fPkHDCtn0tU8IH9iCKgGeGpfw== +"@jest/test-result@^26.3.0": + version "26.3.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.3.0.tgz#46cde01fa10c0aaeb7431bf71e4a20d885bc7fdb" + integrity sha512-a8rbLqzW/q7HWheFVMtghXV79Xk+GWwOK1FrtimpI5n1la2SY0qHri3/b0/1F0Ve0/yJmV8pEhxDfVwiUBGtgg== dependencies: - "@jest/console" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/console" "^26.3.0" + "@jest/types" "^26.3.0" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^25.5.4": - version "25.5.4" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz#9b4e685b36954c38d0f052e596d28161bdc8b737" - integrity sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA== - dependencies: - "@jest/test-result" "^25.5.0" - graceful-fs "^4.2.4" - jest-haste-map "^25.5.1" - jest-runner "^25.5.4" - jest-runtime "^25.5.4" - -"@jest/test-sequencer@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.1.0.tgz#41a6fc8b850c3f33f48288ea9ea517c047e7f14e" - integrity sha512-Z/hcK+rTq56E6sBwMoQhSRDVjqrGtj1y14e2bIgcowARaIE1SgOanwx6gvY4Q9gTKMoZQXbXvptji+q5GYxa6Q== +"@jest/test-sequencer@^26.4.2": + version "26.4.2" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.4.2.tgz#58a3760a61eec758a2ce6080201424580d97cbba" + integrity sha512-83DRD8N3M0tOhz9h0bn6Kl6dSp+US6DazuVF8J9m21WAp5x7CqSMaNycMP0aemC/SH/pDQQddbsfHRTBXVUgog== dependencies: - "@jest/test-result" "^26.1.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.1.0" - jest-runner "^26.1.0" - jest-runtime "^26.1.0" - -"@jest/transform@^25.5.1": - version "25.5.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.5.1.tgz#0469ddc17699dd2bf985db55fa0fb9309f5c2db3" - integrity sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^25.5.0" - babel-plugin-istanbul "^6.0.0" - chalk "^3.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" + "@jest/test-result" "^26.3.0" graceful-fs "^4.2.4" - jest-haste-map "^25.5.1" - jest-regex-util "^25.2.6" - jest-util "^25.5.0" - micromatch "^4.0.2" - pirates "^4.0.1" - realpath-native "^2.0.0" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" + jest-haste-map "^26.3.0" + jest-runner "^26.4.2" + jest-runtime "^26.4.2" -"@jest/transform@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.1.0.tgz#697f48898c2a2787c9b4cb71d09d7e617464e509" - integrity sha512-ICPm6sUXmZJieq45ix28k0s+d/z2E8CHDsq+WwtWI6kW8m7I8kPqarSEcUN86entHQ570ZBRci5OWaKL0wlAWw== +"@jest/transform@^26.3.0": + version "26.3.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.3.0.tgz#c393e0e01459da8a8bfc6d2a7c2ece1a13e8ba55" + integrity sha512-Isj6NB68QorGoFWvcOjlUhpkT56PqNIsXKR7XfvoDlCANn/IANlh8DrKAA2l2JKC3yWSMH5wS0GwuQM20w3b2A== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^26.1.0" + "@jest/types" "^26.3.0" babel-plugin-istanbul "^6.0.0" chalk "^4.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.2.4" - jest-haste-map "^26.1.0" + jest-haste-map "^26.3.0" jest-regex-util "^26.0.0" - jest-util "^26.1.0" + jest-util "^26.3.0" micromatch "^4.0.2" pirates "^4.0.1" slash "^3.0.0" @@ -1349,17 +1207,18 @@ "@types/yargs" "^15.0.0" chalk "^3.0.0" -"@jest/types@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.1.0.tgz#f8afaaaeeb23b5cad49dd1f7779689941dcb6057" - integrity sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ== +"@jest/types@^26.3.0": + version "26.3.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.3.0.tgz#97627bf4bdb72c55346eef98e3b3f7ddc4941f71" + integrity sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" "@types/yargs" "^15.0.0" chalk "^4.0.0" -"@jsii/spec@^1.12.0": +"@jsii/spec@^1.11.0", "@jsii/spec@^1.12.0": version "1.12.0" resolved "https://registry.yarnpkg.com/@jsii/spec/-/spec-1.12.0.tgz#4b13acc5fe591a4c70137f38275ac3d8a977a958" integrity sha512-xqiROAZjOLNhvGzVCdyNu1sJ4CLU+jxcQcRvXz3qkQobHeHRk4MMiqRVOk6LWaBNVtDjil4HlP1sRm5j/ZqYeQ== @@ -2065,20 +1924,20 @@ integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== "@octokit/auth-token@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.1.tgz#375d79eebd03750e6a9b0299e80b8167c7c85655" - integrity sha512-NB81O5h39KfHYGtgfWr2booRxp2bWOJoqbWwbyUg2hw6h35ArWYlAST5B3XwAkbdcx13yt84hFXyFP5X0QToWA== + version "2.4.2" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.2.tgz#10d0ae979b100fa6b72fa0e8e63e27e6d0dbff8a" + integrity sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ== dependencies: - "@octokit/types" "^4.0.1" + "@octokit/types" "^5.0.0" "@octokit/endpoint@^6.0.1": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.2.tgz#e876aafe68d7f9b6c6d80bf29458403f9afe7b2b" - integrity sha512-xs1mmCEZ2y4shXCpFjNq3UbmNR+bLzxtZim2L0zfEtj9R6O6kc4qLDvYw66hvO6lUsYzPTM5hMkltbuNAbRAcQ== + version "6.0.5" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.5.tgz#43a6adee813c5ffd2f719e20cfd14a1fee7c193a" + integrity sha512-70K5u6zd45ItOny6aHQAsea8HHQjlQq85yqOMe+Aj8dkhN2qSJ9T+Q3YjUjEYfPRBcuUWNgMn62DQnP/4LAIiQ== dependencies: - "@octokit/types" "^4.0.1" - is-plain-object "^3.0.0" - universal-user-agent "^5.0.0" + "@octokit/types" "^5.0.0" + is-plain-object "^4.0.0" + universal-user-agent "^6.0.0" "@octokit/plugin-enterprise-rest@^6.0.1": version "6.0.1" @@ -2115,32 +1974,32 @@ once "^1.4.0" "@octokit/request-error@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.1.tgz#49bd71e811daffd5bdd06ef514ca47b5039682d1" - integrity sha512-5lqBDJ9/TOehK82VvomQ6zFiZjPeSom8fLkFVLuYL3sKiIb5RB8iN/lenLkY7oBmyQcGP7FBMGiIZTO8jufaRQ== + version "2.0.2" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.2.tgz#0e76b83f5d8fdda1db99027ea5f617c2e6ba9ed0" + integrity sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw== dependencies: - "@octokit/types" "^4.0.1" + "@octokit/types" "^5.0.1" deprecation "^2.0.0" once "^1.4.0" "@octokit/request@^5.2.0": - version "5.4.4" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.4.tgz#dc57e85e86284fa016d0c1a2701a70a10cec4ff2" - integrity sha512-vqv1lz41c6VTxUvF9nM+a6U+vvP3vGk7drDpr0DVQg4zyqlOiKVrY17DLD6de5okj+YLHKcoqaUZTBtlNZ1BtQ== + version "5.4.7" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.7.tgz#fd703ee092e0463ceba49ff7a3e61cb4cf8a0fde" + integrity sha512-FN22xUDP0i0uF38YMbOfx6TotpcENP5W8yJM1e/LieGXn6IoRxDMnBf7tx5RKSW4xuUZ/1P04NFZy5iY3Rax1A== dependencies: "@octokit/endpoint" "^6.0.1" "@octokit/request-error" "^2.0.0" - "@octokit/types" "^4.0.1" + "@octokit/types" "^5.0.0" deprecation "^2.0.0" - is-plain-object "^3.0.0" + is-plain-object "^4.0.0" node-fetch "^2.3.0" once "^1.4.0" - universal-user-agent "^5.0.0" + universal-user-agent "^6.0.0" "@octokit/rest@^16.28.4": - version "16.43.1" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.43.1.tgz#3b11e7d1b1ac2bbeeb23b08a17df0b20947eda6b" - integrity sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw== + version "16.43.2" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.43.2.tgz#c53426f1e1d1044dee967023e3279c50993dd91b" + integrity sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ== dependencies: "@octokit/auth-token" "^2.4.0" "@octokit/plugin-paginate-rest" "^1.1.1" @@ -2166,17 +2025,17 @@ dependencies: "@types/node" ">= 8" -"@octokit/types@^4.0.1": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-4.0.2.tgz#4e5be1ed1d39532f6b1bc5ad7ce52086a83cf379" - integrity sha512-+4X6qfhT/fk/5FD66395NrFLxCzD6FsGlpPwfwvnukdyfYbhiZB/FJltiT1XM5Q63rGGBSf9FPaNV3WpNHm54A== +"@octokit/types@^5.0.0", "@octokit/types@^5.0.1": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-5.4.1.tgz#d5d5f2b70ffc0e3f89467c3db749fa87fc3b7031" + integrity sha512-OlMlSySBJoJ6uozkr/i03nO5dlYQyE05vmQNZhAh9MyO4DPBP88QlwsDVLmVjIMFssvIZB6WO0ctIGMRG+xsJQ== dependencies: "@types/node" ">= 8" "@sinonjs/commons@^1", "@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0", "@sinonjs/commons@^1.7.2": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.0.tgz#c8d68821a854c555bba172f3b06959a0039b236d" - integrity sha512-wEj54PfsZ5jGSwMX68G8ZXFawcSglQSXqCftWX3ec8MDUzQdHgcKvw97awHbY0efQEL5iKUOAmmVtoYgmrSG4Q== + version "1.8.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217" + integrity sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw== dependencies: type-detect "4.0.8" @@ -2195,10 +2054,10 @@ "@sinonjs/commons" "^1" "@sinonjs/samsam" "^5.0.2" -"@sinonjs/samsam@^5.0.2", "@sinonjs/samsam@^5.0.3": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-5.0.3.tgz#86f21bdb3d52480faf0892a480c9906aa5a52938" - integrity sha512-QucHkc2uMJ0pFGjJUDP3F9dq5dx8QIaqISl9QgwLOh6P9yv877uONPGXh/OH/0zmM3tW1JjuJltAZV2l7zU+uQ== +"@sinonjs/samsam@^5.0.2", "@sinonjs/samsam@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-5.1.0.tgz#3afe719232b541bb6cf3411a4c399a188de21ec0" + integrity sha512-42nyaQOVunX5Pm6GRJobmzbS7iLI+fhERITnETXzzwDZh+TtDr/Au3yAvXVjFmZ4wEUaE4Y3NFZfKv0bV0cbtg== dependencies: "@sinonjs/commons" "^1.6.0" lodash.get "^4.4.2" @@ -2214,7 +2073,7 @@ resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.61.tgz#7471e08843dbdcf09b2494ac5b34c4d1a391e6d0" integrity sha512-+FeZ/52VG4rBSJ0cRE/aB6hMKQzjIgpiSQrGq0eR8ZrXWee7Z2zoGeJzTHVcOeZNawLb+5zvwZNIRGC7X+kQ7Q== -"@types/babel__core@^7.0.0": +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": version "7.1.9" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d" integrity sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw== @@ -2225,17 +2084,6 @@ "@types/babel__template" "*" "@types/babel__traverse" "*" -"@types/babel__core@^7.1.7": - version "7.1.7" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.7.tgz#1dacad8840364a57c98d0dd4855c6dd3752c6b89" - integrity sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - "@types/babel__generator@*": version "7.6.1" resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" @@ -2252,9 +2100,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.11.tgz#1ae3010e8bf8851d324878b42acec71986486d18" - integrity sha512-ddHK5icION5U6q11+tV2f9Mo6CZVuT8GJKld2q9LqHSZbvLbH34Kcu2yFGckZut453+eQU6btIA3RihmnRgI+Q== + version "7.0.13" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.13.tgz#1874914be974a492e1b4cb00585cabb274e8ba18" + integrity sha512-i+zS7t6/s9cdQvbqKDARrcbrPvtJGlbYsMkazo03nTAK3RX9FNrLllXys22uiTGJapPOTZTQ35nHh4ISph4SLQ== dependencies: "@babel/types" "^7.3.0" @@ -2268,24 +2116,18 @@ resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== -"@types/events@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" - integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== - -"@types/fs-extra@^8.1.0": - version "8.1.1" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-8.1.1.tgz#1e49f22d09aa46e19b51c0b013cb63d0d923a068" - integrity sha512-TcUlBem321DFQzBNuz8p0CLLKp0VvF/XH9E4KHNmgwyp4E3AfgI5cjiIVZWlbfThBop2qxFIh4+LeY6hVWWZ2w== +"@types/fs-extra@^9.0.1": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.1.tgz#91c8fc4c51f6d5dbe44c2ca9ab09310bd00c7918" + integrity sha512-B42Sxuaz09MhC3DDeW5kubRcQ5by4iuVQ0cRRWM2lggLzAa/KVom0Aft/208NgMvNQQZ86s5rVcqDdn/SH0/mg== dependencies: "@types/node" "*" "@types/glob@^7.1.1": - version "7.1.1" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" - integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== + version "7.1.3" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== dependencies: - "@types/events" "*" "@types/minimatch" "*" "@types/node" "*" @@ -2297,9 +2139,9 @@ "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.2.tgz#79d7a78bad4219f4c03d6557a1c72d9ca6ba62d5" - integrity sha512-rsZg7eL+Xcxsxk2XlBt9KcG8nOp9iYdKCOikY9x2RFJCyOdNj4MKPQty0e8oZr29vVAzKXr1BmR+kZauti3o1w== + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== "@types/istanbul-lib-report@*": version "3.0.0" @@ -2316,18 +2158,25 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" -"@types/jest@^26.0.4": - version "26.0.5" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.5.tgz#23a8eecf4764a770ea8d3a0d1ea16b96c822035d" - integrity sha512-heU+7w8snfwfjtcj2H458aTx3m5unIToOJhx75ebHilBiiQ39OIdA18WkG4LP08YKeAoWAGvWg8s+22w/PeJ6w== +"@types/istanbul-reports@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@26.x", "@types/jest@^26.0.10": + version "26.0.10" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.10.tgz#8faf7e9756c033c39014ae76a7329efea00ea607" + integrity sha512-i2m0oyh8w/Lum7wWK/YOZJakYF8Mx08UaKA1CtbmFeDquVhAEdA7znacsVSf2hJ1OQ/OfVMGN90pw/AtzF8s/Q== dependencies: jest-diff "^25.2.1" pretty-format "^25.2.1" "@types/json-schema@^7.0.3": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" - integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== + version "7.0.5" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd" + integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ== "@types/json5@^0.0.29": version "0.0.29" @@ -2344,15 +2193,10 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= -"@types/node@*", "@types/node@>= 8": - version "14.0.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.5.tgz#3d03acd3b3414cf67faf999aed11682ed121f22b" - integrity sha512-90hiq6/VqtQgX8Sp0EzeIsv3r+ellbGj4URKj5j30tLlZvRUpnAe9YbYnjl3pJM93GyXU0tghHhvXHq+5rnCKA== - -"@types/node@^14.0.12", "@types/node@^14.0.14": - version "14.0.14" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.14.tgz#24a0b5959f16ac141aeb0c5b3cd7a15b7c64cbce" - integrity sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ== +"@types/node@*", "@types/node@>= 8", "@types/node@^14.6.1": + version "14.6.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.1.tgz#fdf6f6c6c73d3d8eee9c98a9a0485bc524b048d7" + integrity sha512-HnYlg/BRF8uC1FyKRFZwRaCPTPYKa+6I8QiUZFLredaGOou481cgFS4wKRFyKvQtX8xudqkSdBczJHIYSQYKrQ== "@types/nodeunit@^0.0.31": version "0.0.31" @@ -2364,27 +2208,20 @@ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== -"@types/prettier@^1.19.0": - version "1.19.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.19.1.tgz#33509849f8e679e4add158959fdb086440e9553f" - integrity sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ== - "@types/prettier@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.1.tgz#b6e98083f13faa1e5231bfa3bdb1b0feff536b6d" - integrity sha512-boy4xPNEtiw6N3abRhBi/e7hNvy3Tt8E9ZRAQrwAGzoCGZS/1wjo9KY7JHhnfnEsG5wSjDbymCozUM9a3ea7OQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.0.tgz#5f96562c1075ee715a5b138f0b7f591c1f40f6b8" + integrity sha512-hiYA88aHiEIgDmeKlsyVsuQdcFn3Z2VuFd/Xm/HCnGnPD8UFU5BM128uzzRVVGEzKDKYUrRsRH9S2o+NUy/3IA== -"@types/semver@^7.3.1": - version "7.3.1" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.1.tgz#7a9a5d595b6d873f338c867dcef64df289468cfa" - integrity sha512-ooD/FJ8EuwlDKOI6D9HWxgIgJjMg2cuziXm/42npDC8y4NjxplBUn9loewZiBNCt44450lHAU0OSb51/UqXeag== - dependencies: - "@types/node" "*" +"@types/semver@^7.3.3": + version "7.3.3" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.3.tgz#3ad6ed949e7487e7bda6f886b4a2434a2c3d7b1a" + integrity sha512-jQxClWFzv9IXdLdhSaTf16XI3NYe6zrEbckSpb5xhKfPbWgIyAY0AFyWWWfaiDcBuj3UHmMkCIwSRqpKMTZL2Q== -"@types/sinon@^9.0.4": - version "9.0.4" - resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-9.0.4.tgz#e934f904606632287a6e7f7ab0ce3f08a0dad4b1" - integrity sha512-sJmb32asJZY6Z2u09bl0G2wglSxDlROlAejCjsnor+LzBMz17gu8IU7vKC/vWDnv9zEq2wqADHVXFjf4eE8Gdw== +"@types/sinon@^9.0.5": + version "9.0.5" + resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-9.0.5.tgz#56b2a12662dd8c7d081cdc511af5f872cb37377f" + integrity sha512-4CnkGdM/5/FXDGqL32JQ1ttVrGvhOoesLLF7VnTh4KdjK5N5VQOtxaylFqqTjnHx55MnD9O02Nbk5c1ELC8wlQ== dependencies: "@types/sinonjs__fake-timers" "*" @@ -2410,94 +2247,52 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^3.5.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.5.0.tgz#e7736e0808b5fb947a5f9dd949ae6736a7226b84" - integrity sha512-m4erZ8AkSjoIUOf8s4k2V1xdL2c1Vy0D3dN6/jC9d7+nEqjY3gxXCkgi3gW/GAxPaA4hV8biaCoTVdQmfAeTCQ== - dependencies: - "@typescript-eslint/experimental-utils" "3.5.0" - debug "^4.1.1" - functional-red-black-tree "^1.0.1" - regexpp "^3.0.0" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/eslint-plugin@^3.6.1": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.7.0.tgz#0f91aa3c83d019591719e597fbdb73a59595a263" - integrity sha512-4OEcPON3QIx0ntsuiuFP/TkldmBGXf0uKxPQlGtS/W2F3ndYm8Vgdpj/woPJkzUc65gd3iR+qi3K8SDQP/obFg== +"@typescript-eslint/eslint-plugin@^3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz#7e061338a1383f59edc204c605899f93dc2e2c8f" + integrity sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ== dependencies: - "@typescript-eslint/experimental-utils" "3.7.0" + "@typescript-eslint/experimental-utils" "3.10.1" debug "^4.1.1" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@3.5.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.5.0.tgz#d09f9ffb890d1b15a7ffa9975fae92eee05597c4" - integrity sha512-zGNOrVi5Wz0jcjUnFZ6QUD0MCox5hBuVwemGCew2qJzUX5xPoyR+0EzS5qD5qQXL/vnQ8Eu+nv03tpeFRwLrDg== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/types" "3.5.0" - "@typescript-eslint/typescript-estree" "3.5.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/experimental-utils@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.7.0.tgz#0ee21f6c48b2b30c63211da23827725078d5169a" - integrity sha512-xpfXXAfZqhhqs5RPQBfAFrWDHoNxD5+sVB5A46TF58Bq1hRfVROrWHcQHHUM9aCBdy9+cwATcvCbRg8aIRbaHQ== +"@typescript-eslint/experimental-utils@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz#e179ffc81a80ebcae2ea04e0332f8b251345a686" + integrity sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/types" "3.7.0" - "@typescript-eslint/typescript-estree" "3.7.0" + "@typescript-eslint/types" "3.10.1" + "@typescript-eslint/typescript-estree" "3.10.1" eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^3.5.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.5.0.tgz#9ff8c11877c48df24e10e19d7bf542ee0359500d" - integrity sha512-sU07VbYB70WZHtgOjH/qfAp1+OwaWgrvD1Km1VXqRpcVxt971PMTU7gJtlrCje0M+Sdz7xKAbtiyIu+Y6QdnVA== +"@typescript-eslint/parser@^3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.10.1.tgz#1883858e83e8b442627e1ac6f408925211155467" + integrity sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "3.5.0" - "@typescript-eslint/types" "3.5.0" - "@typescript-eslint/typescript-estree" "3.5.0" + "@typescript-eslint/experimental-utils" "3.10.1" + "@typescript-eslint/types" "3.10.1" + "@typescript-eslint/typescript-estree" "3.10.1" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/types@3.5.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.5.0.tgz#4e3d2a2272268d8ec3e3e4a37152a64956682639" - integrity sha512-Dreqb5idi66VVs1QkbAwVeDmdJG+sDtofJtKwKCZXIaBsINuCN7Jv5eDIHrS0hFMMiOvPH9UuOs4splW0iZe4Q== - -"@typescript-eslint/types@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.7.0.tgz#09897fab0cb95479c01166b10b2c03c224821077" - integrity sha512-reCaK+hyKkKF+itoylAnLzFeNYAEktB0XVfSQvf0gcVgpz1l49Lt6Vo9x4MVCCxiDydA0iLAjTF/ODH0pbfnpg== - -"@typescript-eslint/typescript-estree@3.5.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.5.0.tgz#dfc895db21a381b84f24c2a719f5bf9c600dcfdc" - integrity sha512-Na71ezI6QP5WVR4EHxwcBJgYiD+Sre9BZO5iJK2QhrmRPo/42+b0no/HZIrdD1sjghzlYv7t+7Jis05M1uMxQg== - dependencies: - "@typescript-eslint/types" "3.5.0" - "@typescript-eslint/visitor-keys" "3.5.0" - debug "^4.1.1" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" +"@typescript-eslint/types@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727" + integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ== -"@typescript-eslint/typescript-estree@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.7.0.tgz#66872e6da120caa4b64e6b4ca5c8702afc74738d" - integrity sha512-xr5oobkYRebejlACGr1TJ0Z/r0a2/HUf0SXqPvlgUMwiMqOCu/J+/Dr9U3T0IxpE5oLFSkqMx1FE/dKaZ8KsOQ== +"@typescript-eslint/typescript-estree@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz#fd0061cc38add4fad45136d654408569f365b853" + integrity sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w== dependencies: - "@typescript-eslint/types" "3.7.0" - "@typescript-eslint/visitor-keys" "3.7.0" + "@typescript-eslint/types" "3.10.1" + "@typescript-eslint/visitor-keys" "3.10.1" debug "^4.1.1" glob "^7.1.6" is-glob "^4.0.1" @@ -2505,17 +2300,10 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@3.5.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.5.0.tgz#73c1ea2582f814735e4afdc1cf6f5e3af78db60a" - integrity sha512-7cTp9rcX2sz9Z+zua9MCOX4cqp5rYyFD5o8LlbSpXrMTXoRdngTtotRZEkm8+FNMHPWYFhitFK+qt/brK8BVJQ== - dependencies: - eslint-visitor-keys "^1.1.0" - -"@typescript-eslint/visitor-keys@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.7.0.tgz#ac0417d382a136e4571a0b0dcfe52088cb628177" - integrity sha512-k5PiZdB4vklUpUX4NBncn5RBKty8G3ihTY+hqJsCdMuD0v4jofI5xuqwnVcWxfv6iTm2P/dfEa2wMUnsUY8ODw== +"@typescript-eslint/visitor-keys@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz#cd4274773e3eb63b2e870ac602274487ecd1e931" + integrity sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ== dependencies: eslint-visitor-keys "^1.1.0" @@ -2536,10 +2324,10 @@ JSONStream@^1.0.4, JSONStream@^1.3.4: jsonparse "^1.2.0" through ">=2.2.7 <3" -abab@^2.0.0, abab@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" - integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== +abab@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.4.tgz#6dfa57b417ca06d21b2478f0e638302f99c2405c" + integrity sha512-Eu9ELJWCz/c1e9gTiCY+FceWxcqzjYEbqMgtndnuSqZSUCOL73TWNK2mHfIj4Cw2E/ongOp+JISVNCmovt2KYQ== abbrev@1: version "1.1.1" @@ -2568,14 +2356,6 @@ abstract-leveldown@~6.2.1: level-supports "~1.0.0" xtend "~4.0.0" -acorn-globals@^4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" - integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - acorn-globals@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" @@ -2589,30 +2369,15 @@ acorn-jsx@^5.2.0: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== -acorn-walk@^6.0.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" - integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== - acorn-walk@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e" - integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ== - -acorn@^6.0.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== - -acorn@^7.1.0, acorn@^7.1.1: version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe" - integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ== + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn@^7.2.0: - version "7.3.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd" - integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA== +acorn@^7.1.1, acorn@^7.4.0: + version "7.4.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" + integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== add-stream@^1.0.0: version "1.0.0" @@ -2641,17 +2406,17 @@ agentkeepalive@^3.4.1: humanize-ms "^1.2.1" aggregate-error@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" - integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: - version "6.12.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" - integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3: + version "6.12.4" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" + integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -2829,11 +2594,6 @@ array-differ@^2.0.3: resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-2.1.0.tgz#4b9c1c3f14b906757082925769e8ab904f4801b1" integrity sha512-KbUpJgx909ZscOc/7CLATBFam7P1Z1QRQInvgT0UztM9Q72aGKCunKASAl7WNW0tnPmPyEMeMhdsfWhfmW037w== -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= - array-filter@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" @@ -2888,11 +2648,6 @@ arrify@^1.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -arrify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" - integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== - asap@^2.0.0: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" @@ -2916,9 +2671,11 @@ assign-symbols@^1.0.0: integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= ast-types@0.x.x: - version "0.13.3" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.3.tgz#50da3f28d17bdbc7969a3a2d83a0e4a72ae755a7" - integrity sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA== + version "0.14.1" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.1.tgz#0b415043770d7a2cbe4b2770271cbd7d2c9f61b9" + integrity sha512-pfSiukbt23P1qMhNnsozLzhMLBs7EEeXqPyvPmnuZM+RMfwfqwDbSVKYflgGuVI7/VehR4oMks0igzdNAg4VeQ== + dependencies: + tslib "^2.0.1" astral-regex@^1.0.0: version "1.0.0" @@ -2964,19 +2721,19 @@ available-typed-arrays@^1.0.0, available-typed-arrays@^1.0.2: dependencies: array-filter "^1.0.0" -aws-cdk@1.57.0: - version "1.57.0" - resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.57.0.tgz#e3b5b99784234c7a8897f26ffbf59bd28b22f628" - integrity sha512-gU2ZdkRXdcU9COHclEsxtqW1scFfDxgGJbjnP9rQQTi1VKQTKSKBmWiw+9MkTzRyibcFArYDhfgMyr5Ky0Xirw== +aws-cdk@1.61.1: + version "1.61.1" + resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.61.1.tgz#b7fed2ba96d26a4a6611685bdde3074998de8e5f" + integrity sha512-MeAgFgds+bhuYE18NZMYcI3xt31jwfrJteEjogYPiYdcm3rOVy/aI2LSHxV9hAVgoPFfI6Y+qNVuqjSN6BV1bg== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.57.0" - "@aws-cdk/cloudformation-diff" "1.57.0" - "@aws-cdk/cx-api" "1.57.0" - "@aws-cdk/region-info" "1.57.0" + "@aws-cdk/cloud-assembly-schema" "1.61.1" + "@aws-cdk/cloudformation-diff" "1.61.1" + "@aws-cdk/cx-api" "1.61.1" + "@aws-cdk/region-info" "1.61.1" archiver "^4.0.2" - aws-sdk "^2.715.0" + aws-sdk "^2.739.0" camelcase "^6.0.0" - cdk-assets "1.57.0" + cdk-assets "1.61.1" colors "^1.4.0" decamelize "^4.0.0" fs-extra "^9.0.1" @@ -2988,10 +2745,10 @@ aws-cdk@1.57.0: semver "^7.2.2" source-map-support "^0.5.19" table "^5.4.6" - uuid "^8.2.0" + uuid "^8.3.0" wrap-ansi "^7.0.0" yaml "^1.10.0" - yargs "^15.3.1" + yargs "^15.4.1" aws-sdk-mock@^5.1.0: version "5.1.0" @@ -3002,55 +2759,10 @@ aws-sdk-mock@^5.1.0: sinon "^9.0.1" traverse "^0.6.6" -aws-sdk@^2.637.0: - version "2.694.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.694.0.tgz#2112fe1be74a8d7bf52db01a05086ca95fb5effa" - integrity sha512-wGPQCf8pWO0UzPsWUfzAFA6KY+VMB8+qfj17QIccmLHS6S59vXxRh3J7V4UiMpl3ixd9FoXw5heAG9d6bRzFZg== - dependencies: - buffer "4.9.2" - events "1.1.1" - ieee754 "1.1.13" - jmespath "0.15.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - uuid "3.3.2" - xml2js "0.4.19" - -aws-sdk@^2.693.0: - version "2.705.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.705.0.tgz#6c42851f0efdfe2685eb2dab72740a01742468bd" - integrity sha512-eD3YD3UgCdFIYlkAVYW1rbriKSNHm7nsZbYsBuo91pbyq4XYT56w2oTyNECorYPoq//Y4LQTTx8cbOuEjsNi3w== - dependencies: - buffer "4.9.2" - events "1.1.1" - ieee754 "1.1.13" - jmespath "0.15.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - uuid "3.3.2" - xml2js "0.4.19" - -aws-sdk@^2.709.0: - version "2.709.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.709.0.tgz#33b0c0fe8b9420c65610545394be047ac2d93c8f" - integrity sha512-F3sKXsCiutj9RglVXdqb/XJ3Ko3G+pX081Nf1YjVJpLydwE2v16FGxrLqE5pqyWMDeUf5nZHnBoMuOYD8ip+Kw== - dependencies: - buffer "4.9.2" - events "1.1.1" - ieee754 "1.1.13" - jmespath "0.15.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - uuid "3.3.2" - xml2js "0.4.19" - -aws-sdk@^2.715.0: - version "2.717.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.717.0.tgz#be68dab4d9016944814ced76580459c4738763ed" - integrity sha512-UTDDXF3kUqhaSMAMe6YcOdp3qK7KMikDIAH5SgUPgTUqC4NRSBmLKPdKkXT0ZwAaEOf9QnD1nAV8+WmVRUX+hw== +aws-sdk@^2.637.0, aws-sdk@^2.739.0, aws-sdk@^2.741.0: + version "2.741.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.741.0.tgz#b832d838e5f1ef9cdb2b4901ade4555b1ca4c085" + integrity sha512-bpk5VvlBSvKu3Lg30AxX+PHk+0TD69K3tYe6D6VeEFl/3XzuZ5RKTGCIl96isSMyYc5bBMhLS9pC9glrxT7OTw== dependencies: buffer "4.9.2" events "1.1.1" @@ -3068,34 +2780,32 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2" - integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA== + version "1.10.1" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" + integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== -babel-jest@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.5.1.tgz#bc2e6101f849d6f6aec09720ffc7bc5332e62853" - integrity sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ== +awslint@1.61.1: + version "1.61.1" + resolved "https://registry.yarnpkg.com/awslint/-/awslint-1.61.1.tgz#d9af525b591c10642c67de8ac9eeb5dab2706902" + integrity sha512-KvyXdQi5IYXjXHAA2z92KjwqfIQ+qIhD9WyFANhQ0gehWN8Dj6jfdYlDDit4chCYSjjQxK0sLuK+yn3dum1Bhg== dependencies: - "@jest/transform" "^25.5.1" - "@jest/types" "^25.5.0" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^25.5.0" - chalk "^3.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" + "@jsii/spec" "^1.11.0" + camelcase "^6.0.0" + colors "^1.4.0" + fs-extra "^9.0.1" + jsii-reflect "^1.11.0" + yargs "^15.4.1" -babel-jest@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.1.0.tgz#b20751185fc7569a0f135730584044d1cb934328" - integrity sha512-Nkqgtfe7j6PxLO6TnCQQlkMm8wdTdnIF8xrdpooHCuD5hXRzVEPbPneTJKknH5Dsv3L8ip9unHDAp48YQ54Dkg== +babel-jest@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.3.0.tgz#10d0ca4b529ca3e7d1417855ef7d7bd6fc0c3463" + integrity sha512-sxPnQGEyHAOPF8NcUsD0g7hDCnvLL2XyblRBcgrzTWBB/mAIpWow3n1bEL+VghnnZfreLhFSBsFluRoK2tRK4g== dependencies: - "@jest/transform" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/transform" "^26.3.0" + "@jest/types" "^26.3.0" "@types/babel__core" "^7.1.7" babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.1.0" + babel-preset-jest "^26.3.0" chalk "^4.0.0" graceful-fs "^4.2.4" slash "^3.0.0" @@ -3111,33 +2821,25 @@ babel-plugin-istanbul@^6.0.0: istanbul-lib-instrument "^4.0.0" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz#129c80ba5c7fc75baf3a45b93e2e372d57ca2677" - integrity sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-jest-hoist@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.1.0.tgz#c6a774da08247a28285620a64dfadbd05dd5233a" - integrity sha512-qhqLVkkSlqmC83bdMhM8WW4Z9tB+JkjqAqlbbohS9sJLT5Ha2vfzuKqg5yenXrAjOPG2YC0WiXdH3a9PvB+YYw== +babel-plugin-jest-hoist@^26.2.0: + version "26.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.2.0.tgz#bdd0011df0d3d513e5e95f76bd53b51147aca2dd" + integrity sha512-B/hVMRv8Nh1sQ1a3EY8I0n4Y1Wty3NrR5ebOyVT302op+DOAau+xNEImGMsUWOC3++ZlMooCytKz+NgN8aKGbA== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" "@types/babel__core" "^7.0.0" "@types/babel__traverse" "^7.0.6" -babel-preset-current-node-syntax@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz#fb4a4c51fe38ca60fede1dc74ab35eb843cb41d6" - integrity sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw== +babel-preset-current-node-syntax@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz#b4b547acddbf963cba555ba9f9cbbb70bfd044da" + integrity sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" @@ -3146,21 +2848,13 @@ babel-preset-current-node-syntax@^0.1.2: "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -babel-preset-jest@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz#c1d7f191829487a907764c65307faa0e66590b49" - integrity sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw== - dependencies: - babel-plugin-jest-hoist "^25.5.0" - babel-preset-current-node-syntax "^0.1.2" - -babel-preset-jest@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.1.0.tgz#612f714e5b457394acfd863793c564cbcdb7d1c1" - integrity sha512-na9qCqFksknlEj5iSdw1ehMVR06LCCTkZLGKeEtxDDdhg8xpUF09m29Kvh1pRbZ07h7AQ5ttLYUwpXL4tO6w7w== +babel-preset-jest@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.3.0.tgz#ed6344506225c065fd8a0b53e191986f74890776" + integrity sha512-5WPdf7nyYi2/eRxCbVrE1kKCWxgWY4RsPEbdJWFm7QsesFGqjdkyLeu1zRkwM1cxK6EPIlNd6d2AxLk7J+t4pw== dependencies: - babel-plugin-jest-hoist "^26.1.0" - babel-preset-current-node-syntax "^0.1.2" + babel-plugin-jest-hoist "^26.2.0" + babel-preset-current-node-syntax "^0.1.3" balanced-match@^1.0.0: version "1.0.0" @@ -3208,9 +2902,9 @@ bind-obj-methods@^2.0.0: integrity sha512-3/qRXczDi2Cdbz6jE+W3IflJOutRVica8frpBn14de1mBOkzDo+6tY33kNhvkw54Kn3PzRRD2VnGbGPcTAk4sw== bl@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.2.tgz#52b71e9088515d0606d9dd9cc7aa48dc1f98e73a" - integrity sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ== + version "4.0.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489" + integrity sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg== dependencies: buffer "^5.5.0" inherits "^2.0.4" @@ -3257,13 +2951,6 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browser-resolve@^1.11.3: - version "1.11.3" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== - dependencies: - resolve "1.1.7" - bs-logger@0.x: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" @@ -3310,11 +2997,6 @@ buffer@^5.1.0, buffer@^5.5.0, buffer@^5.6.0: base64-js "^1.0.2" ieee754 "^1.1.4" -builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - builtins@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" @@ -3488,19 +3170,19 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -cdk-assets@1.57.0: - version "1.57.0" - resolved "https://registry.yarnpkg.com/cdk-assets/-/cdk-assets-1.57.0.tgz#a682a7feca928a497616fc55c87e13dc0f44905b" - integrity sha512-xUFuYXebdY8ADH8XYv2JEx+BTs/FjpZh0MS+uwj25IlULdvMXoZwOtsGtazh3CjprNWdJjbDb8QTDkxhwoD0LA== +cdk-assets@1.61.1: + version "1.61.1" + resolved "https://registry.yarnpkg.com/cdk-assets/-/cdk-assets-1.61.1.tgz#bf848cc101ae97c09f5ca91d10c6c85511d1d235" + integrity sha512-RI/sa+k7Pze2rDNJHKvFWCXYgSZrsz6etEkfJuKaEcNn9vvuouYaTwaDXDyG34eODC3UZq0Z6CFIT+5SC4sQ9g== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.57.0" - "@aws-cdk/cx-api" "1.57.0" + "@aws-cdk/cloud-assembly-schema" "1.61.1" + "@aws-cdk/cx-api" "1.61.1" archiver "^4.0.2" - aws-sdk "^2.715.0" + aws-sdk "^2.739.0" glob "^7.1.6" - yargs "^15.3.1" + yargs "^15.4.1" -chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.3.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -3518,9 +3200,9 @@ chalk@^3.0.0: supports-color "^7.1.0" chalk@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" - integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A== + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" @@ -3535,7 +3217,7 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -charenc@~0.0.1: +charenc@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= @@ -3584,13 +3266,6 @@ cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - cli-width@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" @@ -3714,11 +3389,6 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.12.1, commander@~2.20.3: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -3734,13 +3404,13 @@ commonmark@^0.29.1: minimist "~1.2.0" string.prototype.repeat "^0.2.0" -compare-func@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.4.tgz#6b07c4c5e8341119baf44578085bda0f4a823516" - integrity sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q== +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== dependencies: array-ify "^1.0.0" - dot-prop "^3.0.0" + dot-prop "^5.1.0" component-emitter@^1.2.1: version "1.3.0" @@ -3795,22 +3465,22 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= -constructs@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.3.tgz#76687d6e3783b0b6864d72aaae5b0bacd824d52e" - integrity sha512-JrYLpTlz92Un1jxkwoGiOiGoDjzIWtxo64sLC5FD4mQN1H9mAqZNvgxWYWaJIiWUXNkl5L5sO3GFf6peTj7UMQ== +constructs@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" + integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== contains-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= -conventional-changelog-angular@^5.0.10, conventional-changelog-angular@^5.0.3: - version "5.0.10" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.10.tgz#5cf7b00dd315b6a6a558223c80d5ef24ddb34205" - integrity sha512-k7RPPRs0vp8+BtPsM9uDxRl6KcgqtCJmzRD1wRtgqmhQ96g8ifBGo9O/TZBG23jqlXS/rg8BKRDELxfnQQGiaA== +conventional-changelog-angular@^5.0.11, conventional-changelog-angular@^5.0.3: + version "5.0.11" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.11.tgz#99a3ca16e4a5305e0c2c2fae3ef74fd7631fc3fb" + integrity sha512-nSLypht/1yEflhuTogC03i7DX7sOrXGsRn14g131Potqi6cbGbGEE9PSDEHKldabB6N76HiSyw9Ph+kLmC04Qw== dependencies: - compare-func "^1.3.1" + compare-func "^2.0.0" q "^1.5.1" conventional-changelog-atom@^2.0.7: @@ -3820,13 +3490,13 @@ conventional-changelog-atom@^2.0.7: dependencies: q "^1.5.1" -conventional-changelog-cli@^2.0.34: - version "2.0.34" - resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-2.0.34.tgz#3d9da6011aaaf24f331b606ddc5087a6b811464b" - integrity sha512-HDDIhhpsMKiiAfH/mbj7wApgN7uA33Nk4hISY3/7ijlfqXc/bmP3v4o3Yialoxz0iTBibc94xi6kfTH7XIvwDw== +conventional-changelog-cli@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-2.1.0.tgz#5da5be32203ca8382815afc85b7f9151115d5e97" + integrity sha512-hZ8EcpxV4LcGOZwH+U5LJQDnyA4o/uyUdmIGzmFZMB4caujavvDBo/iTgVihk0m1QKkEhJgulagrILSm1JCakA== dependencies: add-stream "^1.0.0" - conventional-changelog "^3.1.21" + conventional-changelog "^3.1.23" lodash "^4.17.15" meow "^7.0.0" tempfile "^3.0.0" @@ -3843,12 +3513,12 @@ conventional-changelog-config-spec@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.3.0, conventional-changelog-conventionalcommits@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.3.0.tgz#c4205a659f7ca9d7881f29ee78a4e7d6aeb8b3c2" - integrity sha512-oYHydvZKU+bS8LnGqTMlNrrd7769EsuEHKy4fh1oMdvvDi7fem8U+nvfresJ1IDB8K00Mn4LpiA/lR+7Gs6rgg== +conventional-changelog-conventionalcommits@4.4.0, conventional-changelog-conventionalcommits@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.4.0.tgz#8d96687141c9bbd725a89b95c04966d364194cd4" + integrity sha512-ybvx76jTh08tpaYrYn/yd0uJNLt5yMrb1BphDe4WBredMlvPisvMghfpnJb6RmRNcqXeuhR6LfGZGewbkRm9yA== dependencies: - compare-func "^1.3.1" + compare-func "^2.0.0" lodash "^4.17.15" q "^1.5.1" @@ -3871,19 +3541,19 @@ conventional-changelog-core@^3.1.6: read-pkg-up "^3.0.0" through2 "^3.0.0" -conventional-changelog-core@^4.1.7: - version "4.1.7" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.1.7.tgz#6b5cdadda4430895cc4a75a73dd8b36e322ab346" - integrity sha512-UBvSrQR2RdKbSQKh7RhueiiY4ZAIOW3+CSWdtKOwRv+KxIMNFKm1rOcGBFx0eA8AKhGkkmmacoTWJTqyz7Q0VA== +conventional-changelog-core@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.0.tgz#d8befd1e1f5126bf35a17668276cc8c244650469" + integrity sha512-8+xMvN6JvdDtPbGBqA7oRNyZD4od1h/SIzrWqHcKZjitbVXrFpozEeyn4iI4af1UwdrabQpiZMaV07fPUTGd4w== dependencies: add-stream "^1.0.0" - conventional-changelog-writer "^4.0.16" + conventional-changelog-writer "^4.0.17" conventional-commits-parser "^3.1.0" dateformat "^3.0.0" get-pkg-repo "^1.0.0" git-raw-commits "2.0.0" git-remote-origin-url "^2.0.0" - git-semver-tags "^4.0.0" + git-semver-tags "^4.1.0" lodash "^4.17.15" normalize-package-data "^2.3.5" q "^1.5.1" @@ -3920,12 +3590,12 @@ conventional-changelog-jquery@^3.0.10: dependencies: q "^1.5.1" -conventional-changelog-jshint@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.7.tgz#955a69266951cd31e8afeb3f1c55e0517fdca943" - integrity sha512-qHA8rmwUnLiIxANJbz650+NVzqDIwNtc0TcpIa0+uekbmKHttidvQ1dGximU3vEDdoJVKFgR3TXFqYuZmYy9ZQ== +conventional-changelog-jshint@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.8.tgz#3fff4df8cb46037f77b9dc3f8e354c7f99332f13" + integrity sha512-hB/iI0IiZwnZ+seYI+qEQ4b+EMQSEC8jGIvhO2Vpz1E5p8FgLz75OX8oB1xJWl+s4xBMB6f8zJr0tC/BL7YOjw== dependencies: - compare-func "^1.3.1" + compare-func "^2.0.0" q "^1.5.1" conventional-changelog-preset-loader@^2.1.1, conventional-changelog-preset-loader@^2.3.4: @@ -3933,12 +3603,12 @@ conventional-changelog-preset-loader@^2.1.1, conventional-changelog-preset-loade 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-writer@^4.0.16, conventional-changelog-writer@^4.0.6: - version "4.0.16" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.16.tgz#ca10f2691a8ea6d3c2eb74bd35bcf40aa052dda5" - integrity sha512-jmU1sDJDZpm/dkuFxBeRXvyNcJQeKhGtVcFFkwTphUAzyYWcwz2j36Wcv+Mv2hU3tpvLMkysOPXJTLO55AUrYQ== +conventional-changelog-writer@^4.0.17, conventional-changelog-writer@^4.0.6: + version "4.0.17" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.17.tgz#4753aaa138bf5aa59c0b274cb5937efcd2722e21" + integrity sha512-IKQuK3bib/n032KWaSb8YlBFds+aLmzENtnKtxJy3+HqDq5kohu3g/UdNbIHeJWygfnEbZjnCKFxAW0y7ArZAw== dependencies: - compare-func "^1.3.1" + compare-func "^2.0.0" conventional-commits-filter "^2.0.6" dateformat "^3.0.0" handlebars "^4.7.6" @@ -3949,21 +3619,21 @@ conventional-changelog-writer@^4.0.16, conventional-changelog-writer@^4.0.6: split "^1.0.0" through2 "^3.0.0" -conventional-changelog@3.1.21, conventional-changelog@^3.1.21: - version "3.1.21" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.21.tgz#4a774e6bf503acfd7e4685bb750da8c0eccf1e0d" - integrity sha512-ZGecVZPEo3aC75VVE4nu85589dDhpMyqfqgUM5Myq6wfKWiNqhDJLSDMsc8qKXshZoY7dqs1hR0H/15kI/G2jQ== +conventional-changelog@3.1.23, conventional-changelog@^3.1.23: + version "3.1.23" + resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.23.tgz#d696408021b579a3814aba79b38729ed86478aea" + integrity sha512-sScUu2NHusjRC1dPc5p8/b3kT78OYr95/Bx7Vl8CPB8tF2mG1xei5iylDTRjONV5hTlzt+Cn/tBWrKdd299b7A== dependencies: - conventional-changelog-angular "^5.0.10" + conventional-changelog-angular "^5.0.11" conventional-changelog-atom "^2.0.7" conventional-changelog-codemirror "^2.0.7" - conventional-changelog-conventionalcommits "^4.3.0" - conventional-changelog-core "^4.1.7" + conventional-changelog-conventionalcommits "^4.4.0" + conventional-changelog-core "^4.2.0" conventional-changelog-ember "^2.0.8" conventional-changelog-eslint "^3.0.8" conventional-changelog-express "^2.0.5" conventional-changelog-jquery "^3.0.10" - conventional-changelog-jshint "^2.0.7" + conventional-changelog-jshint "^2.0.8" conventional-changelog-preset-loader "^2.3.4" conventional-commits-filter@^2.0.2, conventional-commits-filter@^2.0.6: @@ -3987,17 +3657,17 @@ conventional-commits-parser@^3.0.3, conventional-commits-parser@^3.1.0: through2 "^3.0.0" trim-off-newlines "^1.0.0" -conventional-recommended-bump@6.0.9: - version "6.0.9" - resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-6.0.9.tgz#49ee74f52fbafcc63e89e2297d020279fea318f0" - integrity sha512-DpRmW1k8CpRrcsXHOPGgHgOd4BMGiq2gtXAveGM8B9pSd9b4r4WKnqp1Fd0vkDtk8l973mIk8KKKUYnKRr9SFw== +conventional-recommended-bump@6.0.10: + version "6.0.10" + resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-6.0.10.tgz#ac2fb3e31bad2aeda80086b345bf0c52edd1d1b3" + integrity sha512-2ibrqAFMN3ZA369JgVoSbajdD/BHN6zjY7DZFKTHzyzuQejDUCjQ85S5KHxCRxNwsbDJhTPD5hOKcis/jQhRgg== dependencies: concat-stream "^2.0.0" conventional-changelog-preset-loader "^2.3.4" conventional-commits-filter "^2.0.6" conventional-commits-parser "^3.1.0" git-raw-commits "2.0.0" - git-semver-tags "^4.0.0" + git-semver-tags "^4.1.0" meow "^7.0.0" q "^1.5.1" @@ -4099,7 +3769,7 @@ cross-spawn@^4: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^6.0.0, cross-spawn@^6.0.5: +cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== @@ -4119,12 +3789,12 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" -crypt@~0.0.1: +crypt@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= -cssom@^0.4.1, cssom@^0.4.4: +cssom@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== @@ -4134,7 +3804,7 @@ cssom@~0.3.6: resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== -cssstyle@^2.0.0, cssstyle@^2.2.0: +cssstyle@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== @@ -4172,15 +3842,6 @@ data-uri-to-buffer@1: resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835" integrity sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ== -data-urls@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== - dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" - data-urls@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" @@ -4426,10 +4087,10 @@ diff-sequences@^25.2.6: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== -diff-sequences@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.0.0.tgz#0760059a5c287637b842bd7085311db7060e88a6" - integrity sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg== +diff-sequences@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.3.0.tgz#62a59b1b29ab7fd27cef2a33ae52abe73042d0a2" + integrity sha512-5j5vdRcw3CNctePNYN0Wy2e/JbWT6cAYnXv5OuqPhDpyCGc0uLu2TK0zOCJWNB9kOIfYMSpIulRaDgIi4HJ6Ig== diff@^1.3.2: version "1.4.0" @@ -4475,13 +4136,6 @@ domain-browser@^1.2.0: resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== -domexception@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== - dependencies: - webidl-conversions "^4.0.2" - domexception@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" @@ -4489,19 +4143,19 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - integrity sha1-G3CK8JSknJoOfbyteQq6U52sEXc= +dot-prop@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" + integrity sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ== dependencies: is-obj "^1.0.0" -dot-prop@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== +dot-prop@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" + integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== dependencies: - is-obj "^1.0.0" + is-obj "^2.0.0" dotgitignore@^2.1.0: version "2.1.0" @@ -4519,9 +4173,9 @@ dreamopt@~0.6.0: wordwrap ">=0.0.2" duplexer@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" @@ -4564,6 +4218,11 @@ ejs@^2.5.2: resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== +emittery@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.1.tgz#c02375a927a40948c0345cc903072597f5270451" + integrity sha512-d34LN4L6h18Bzz9xpoku2nPwKxCPlPMr3EEKTkoEBi+1/+b0lcRkRJ1UVyyZaKNeqGR3swcGl6s390DNO4YVgQ== + emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -4585,11 +4244,11 @@ encoding-down@^6.2.0: level-errors "^2.0.0" encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== dependencies: - iconv-lite "~0.4.13" + iconv-lite "^0.6.2" end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" @@ -4616,9 +4275,9 @@ env-paths@^2.2.0: integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== envinfo@^7.3.1: - version "7.5.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.5.1.tgz#93c26897225a00457c75e734d354ea9106a72236" - integrity sha512-hQBkDf2iO4Nv0CNHpCuSBeaSrveU6nThVxFGTrq/eDlV716UQk09zChaJae4mZRsos1x4YLY2TaH3LHUae3ZmQ== + version "7.7.3" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.3.tgz#4b2d8622e3e7366afb8091b23ed95569ea0208cc" + integrity sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA== err-code@^1.0.0: version "1.1.2" @@ -4640,21 +4299,39 @@ error-ex@^1.2.0, error-ex@^1.3.1: is-arrayish "^0.2.1" es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.4, es-abstract@^1.17.5: - version "1.17.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" - integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== + version "1.17.6" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" + integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== dependencies: es-to-primitive "^1.2.1" function-bind "^1.1.1" has "^1.0.3" has-symbols "^1.0.1" - is-callable "^1.1.5" - is-regex "^1.0.5" + is-callable "^1.2.0" + is-regex "^1.1.0" object-inspect "^1.7.0" object-keys "^1.1.1" object.assign "^4.1.0" - string.prototype.trimleft "^2.1.1" - string.prototype.trimright "^2.1.1" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-abstract@^1.18.0-next.0: + version "1.18.0-next.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.0.tgz#b302834927e624d8e5837ed48224291f2c66e6fc" + integrity sha512-elZXTZXKn51hUBdJjSZGYRujuzilgXo8vSPQzjGYXLvSlGiCo8VO8ZGV3kjo9a0WNJJ57hENagwbtlRuHuzkcQ== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.0" + is-negative-zero "^2.0.0" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" es-get-iterator@^1.1.0: version "1.1.0" @@ -4715,10 +4392,10 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escodegen@1.x.x, escodegen@^1.11.1, escodegen@^1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457" - integrity sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ== +escodegen@1.x.x, escodegen@^1.14.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== dependencies: esprima "^4.0.1" estraverse "^4.2.0" @@ -4727,15 +4404,7 @@ escodegen@1.x.x, escodegen@^1.11.1, escodegen@^1.14.1: optionalDependencies: source-map "~0.6.1" -eslint-import-resolver-node@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz#dbaa52b6b2816b50bc6711af75422de808e98404" - integrity sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg== - dependencies: - debug "^2.6.9" - resolve "^1.13.1" - -eslint-import-resolver-node@^0.3.4: +eslint-import-resolver-node@^0.3.3, eslint-import-resolver-node@^0.3.4: version "0.3.4" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== @@ -4743,15 +4412,15 @@ eslint-import-resolver-node@^0.3.4: debug "^2.6.9" resolve "^1.13.1" -eslint-import-resolver-typescript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.0.0.tgz#e95f126cc12d3018b9cc11692b4dbfd3e17d3ea6" - integrity sha512-bT5Frpl8UWoHBtY25vKUOMoVIMlJQOMefHLyQ4Tz3MQpIZ2N6yYKEEIHMo38bszBNUuMBW6M3+5JNYxeiGFH4w== +eslint-import-resolver-typescript@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.2.1.tgz#4b9bdfb51af7e14947ebc40ffdd6c32d5924b905" + integrity sha512-wxlVdwuWY6R5+CoesIy6n8EZX4k9lEeZGWTVBoX9g//8Xma8JMtL/p3AGnG43rRyXmIrX+/0IN8lpOPzrw1fSw== dependencies: debug "^4.1.1" + glob "^7.1.6" is-glob "^4.0.1" - resolve "^1.12.0" - tiny-glob "^0.2.6" + resolve "^1.17.0" tsconfig-paths "^3.9.0" eslint-module-utils@^2.6.0: @@ -4788,15 +4457,7 @@ eslint-plugin-license-header@^0.2.0: dependencies: requireindex "^1.2.0" -eslint-scope@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" - integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.1.0: +eslint-scope@^5.0.0, eslint-scope@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== @@ -4804,77 +4465,22 @@ eslint-scope@^5.1.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-utils@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" - integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.0.0.tgz#7be1cc70f27a72a76cd14aa698bcabed6890e1cd" - integrity sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA== +eslint-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" -eslint-visitor-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" - integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== - -eslint-visitor-keys@^1.2.0: +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== -eslint@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" - integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.10.0" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^3.0.0" - eslint-scope "^5.0.0" - eslint-utils "^1.4.3" - eslint-visitor-keys "^1.1.0" - espree "^6.1.2" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^7.0.0" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.14" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.3" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^6.1.2" - strip-ansi "^5.2.0" - strip-json-comments "^3.0.1" - table "^5.2.3" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -eslint@^7.4.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.4.0.tgz#4e35a2697e6c1972f9d6ef2b690ad319f80f206f" - integrity sha512-gU+lxhlPHu45H3JkEGgYhWhkR9wLHHEXC9FbWFnTlEkbKyZKWgWRLgf61E8zWmBuI6g5xKBph9ltg3NtZMVF8g== +eslint@^7.7.0: + version "7.7.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.7.0.tgz#18beba51411927c4b64da0a8ceadefe4030d6073" + integrity sha512-1KUxLzos0ZVsyL81PnRN335nDtQ8/vZUD6uMtWbF+5zDtjKcsklIi78XoE0MVL93QvWTu+E5y44VyyCsOMBrIg== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.10.0" @@ -4884,9 +4490,9 @@ eslint@^7.4.0: doctrine "^3.0.0" enquirer "^2.3.5" eslint-scope "^5.1.0" - eslint-utils "^2.0.0" - eslint-visitor-keys "^1.2.0" - espree "^7.1.0" + eslint-utils "^2.1.0" + eslint-visitor-keys "^1.3.0" + espree "^7.2.0" esquery "^1.2.0" esutils "^2.0.2" file-entry-cache "^5.0.1" @@ -4900,7 +4506,7 @@ eslint@^7.4.0: js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.14" + lodash "^4.17.19" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -4918,23 +4524,14 @@ esm@^3.2.5: resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== -espree@^6.1.2: - version "6.2.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" - integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== - dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" - -espree@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.1.0.tgz#a9c7f18a752056735bf1ba14cb1b70adc3a5ce1c" - integrity sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw== +espree@^7.2.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348" + integrity sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw== dependencies: - acorn "^7.2.0" + acorn "^7.4.0" acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.2.0" + eslint-visitor-keys "^1.3.0" esprima@3.x.x: version "3.1.3" @@ -4946,7 +4543,7 @@ esprima@^4.0.0, esprima@^4.0.1: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.0.1, esquery@^1.2.0: +esquery@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== @@ -4966,9 +4563,9 @@ estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" - integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== esutils@^2.0.2: version "2.0.3" @@ -5008,26 +4605,10 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^3.2.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" - integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - p-finally "^2.0.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - execa@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.2.tgz#ad87fb7b2d9d564f70d2b62d511bee41d5cbb240" - integrity sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q== + version "4.0.3" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" + integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== dependencies: cross-spawn "^7.0.0" get-stream "^5.0.0" @@ -5057,28 +4638,16 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expect@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-25.5.0.tgz#f07f848712a2813bb59167da3fb828ca21f58bba" - integrity sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA== +expect@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.4.2.tgz#36db120928a5a2d7d9736643032de32f24e1b2a1" + integrity sha512-IlJ3X52Z0lDHm7gjEp+m76uX46ldH5VpqmU0006vqDju/285twh7zaWMRhs67VpQhBwjjMchk+p5aA0VkERCAA== dependencies: - "@jest/types" "^25.5.0" + "@jest/types" "^26.3.0" ansi-styles "^4.0.0" - jest-get-type "^25.2.6" - jest-matcher-utils "^25.5.0" - jest-message-util "^25.5.0" - jest-regex-util "^25.2.6" - -expect@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.1.0.tgz#8c62e31d0f8d5a8ebb186ee81473d15dd2fbf7c8" - integrity sha512-QbH4LZXDsno9AACrN9eM0zfnby9G+OsdNgZUohjg/P0mLy1O+/bzTAJGT6VSIjVCe8yKM6SzEl/ckEOFBT7Vnw== - dependencies: - "@jest/types" "^26.1.0" - ansi-styles "^4.0.0" - jest-get-type "^26.0.0" - jest-matcher-utils "^26.1.0" - jest-message-util "^26.1.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.4.2" + jest-message-util "^26.3.0" jest-regex-util "^26.0.0" extend-shallow@^2.0.1: @@ -5134,12 +4703,7 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fast-deep-equal@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== - -fast-deep-equal@^3.1.3: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== @@ -5185,7 +4749,7 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -figures@^3.0.0, figures@^3.1.0: +figures@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== @@ -5347,9 +4911,9 @@ from2@^2.1.0: readable-stream "^2.0.0" fromentries@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.2.0.tgz#e6aa06f240d6267f913cea422075ef88b63e7897" - integrity sha512-33X7H/wdfO99GdRLLgkjUrD4geAFdq/Uv0kl3HD4da6HDixd2GUg8Mw7dahLCV9r/EARkmtYBB6Tch4EEokFTQ== + version "1.2.1" + resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.2.1.tgz#64c31665630479bc993cd800d53387920dc61b4d" + integrity sha512-Xu2Qh8yqYuDhQGOhD5iJGninErSfI9A3FrriD3tjUgV5VbJFeH8vfgZ9HnC6jWN80QDVNQK5vmxRAmEAp7Mevw== fs-access@^1.0.1: version "1.0.1" @@ -5500,9 +5064,9 @@ get-stream@^4.0.0, get-stream@^4.1.0: pump "^3.0.0" get-stream@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== dependencies: pump "^3.0.0" @@ -5557,26 +5121,26 @@ git-semver-tags@^2.0.3: meow "^4.0.0" semver "^6.0.0" -git-semver-tags@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.0.0.tgz#a9dd58a0dd3561a4a9898b7e9731cf441c98fc38" - integrity sha512-LajaAWLYVBff+1NVircURJFL8TQ3EMIcLAfHisWYX/nPoMwnTYfWAznQDmMujlLqoD12VtLmoSrF1sQ5MhimEQ== +git-semver-tags@^4.0.0, git-semver-tags@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.0.tgz#0146c9bc24ee96104c99f443071c8c2d7dc848e3" + integrity sha512-TcxAGeo03HdErzKzi4fDD+xEL7gi8r2Y5YSxH6N2XYdVSV5UkBwfrt7Gqo1b+uSHCjy/sa9Y6BBBxxFLxfbhTg== dependencies: meow "^7.0.0" semver "^6.0.0" git-up@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0" - integrity sha512-LFTZZrBlrCrGCG07/dm1aCjjpL1z9L3+5aEeI9SBhAqSc+kiA9Or1bgZhQFNppJX6h/f5McrvJt1mQXTFm6Qrw== + version "4.0.2" + resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.2.tgz#10c3d731051b366dc19d3df454bfca3f77913a7c" + integrity sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ== dependencies: is-ssh "^1.3.0" parse-url "^5.0.0" git-url-parse@^11.1.2: - version "11.1.2" - resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.1.2.tgz#aff1a897c36cc93699270587bea3dbcbbb95de67" - integrity sha512-gZeLVGY8QVKMIkckncX+iCq2/L8PlwncvDFKiWkBn9EtCfYDbliRTTp6qzyQ1VMdITUfq7293zDzfpjdiGASSQ== + version "11.1.3" + resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.1.3.tgz#03625b6fc09905e9ad1da7bb2b84be1bf9123143" + integrity sha512-GPsfwticcu52WQ+eHp0IYkAyaOASgYdtsQDIt4rUp6GbiNt1P9ddrh3O0kQB0eD4UJZszVqNT3+9Zwcg40fywA== dependencies: git-up "^4.0.0" @@ -5631,11 +5195,6 @@ globals@^12.1.0: dependencies: type-fest "^0.8.1" -globalyzer@^0.1.0: - version "0.1.4" - resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.4.tgz#bc8e273afe1ac7c24eea8def5b802340c5cc534f" - integrity sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA== - globby@^9.2.0: version "9.2.0" resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" @@ -5650,11 +5209,6 @@ globby@^9.2.0: pify "^4.0.1" slash "^2.0.0" -globrex@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" - integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== - graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" @@ -5683,11 +5237,11 @@ har-schema@^2.0.0: integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= har-validator@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== dependencies: - ajv "^6.5.5" + ajv "^6.12.3" har-schema "^2.0.0" hard-rejection@^2.1.0: @@ -5778,13 +5332,6 @@ hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== - dependencies: - whatwg-encoding "^1.0.1" - html-encoding-sniffer@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" @@ -5858,13 +5405,20 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13: +iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" + integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + ieee754@1.1.13, ieee754@^1.1.4: version "1.1.13" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" @@ -6007,29 +5561,10 @@ inquirer@^6.2.0: strip-ansi "^5.1.0" through "^2.3.6" -inquirer@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29" - integrity sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg== - dependencies: - ansi-escapes "^4.2.1" - chalk "^3.0.0" - cli-cursor "^3.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.15" - mute-stream "0.0.8" - run-async "^2.4.0" - rxjs "^6.5.3" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - interpret@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" - integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== ip-regex@^2.1.0: version "2.1.0" @@ -6075,15 +5610,15 @@ is-boolean-object@^1.0.0: resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.1.tgz#10edc0900dd127697a92f6f9807c7617d68ac48e" integrity sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ== -is-buffer@^1.1.5, is-buffer@~1.1.1: +is-buffer@^1.1.5, is-buffer@~1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-callable@^1.1.4, is-callable@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" - integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== +is-callable@^1.1.4, is-callable@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" + integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== is-ci@^2.0.0: version "2.0.0" @@ -6135,9 +5670,9 @@ is-directory@^0.3.1: integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= is-docker@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b" - integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ== + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" + integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" @@ -6202,6 +5737,11 @@ is-map@^2.0.1: resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" integrity sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw== +is-negative-zero@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" + integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= + is-number-object@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" @@ -6224,6 +5764,11 @@ is-obj@^1.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -6236,24 +5781,22 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-plain-object@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928" - integrity sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg== - dependencies: - isobject "^4.0.0" +is-plain-object@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-4.1.1.tgz#1a14d6452cbd50790edc7fdaa0aed5a40a35ebb5" + integrity sha512-5Aw8LLVsDlZsETVMhoMXzqsXwQqr/0vlnBYzIXJbYo2F4yYlhLHs+Ez7Bod7IIQKWkJbJfxrWD7pA1Dw1TKrwA== is-potential-custom-element-name@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= -is-regex@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" - integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== +is-regex@^1.0.5, is-regex@^1.1.0, is-regex@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" + integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== dependencies: - has "^1.0.3" + has-symbols "^1.0.1" is-set@^2.0.1: version "2.0.1" @@ -6261,9 +5804,9 @@ is-set@^2.0.1: integrity sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA== is-ssh@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3" - integrity sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg== + version "1.3.2" + resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.2.tgz#a4b82ab63d73976fd8263cceee27f99a88bdae2b" + integrity sha512-elEw0/0c2UscLrNG+OAorbP539E3rhliKPg+hDMWN9VwrDXfYK+4PBEykDPfxlYYtQvl84TascnQyobfQLHEhQ== dependencies: protocols "^1.1.0" @@ -6331,7 +5874,7 @@ is-windows@^1.0.0, is-windows@^1.0.2: resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== -is-wsl@^2.1.1: +is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== @@ -6370,11 +5913,6 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= -isobject@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0" - integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA== - isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -6493,113 +6031,59 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.5.0.tgz#141cc23567ceb3f534526f8614ba39421383634c" - integrity sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw== - dependencies: - "@jest/types" "^25.5.0" - execa "^3.2.0" - throat "^5.0.0" - -jest-changed-files@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.1.0.tgz#de66b0f30453bca2aff98e9400f75905da495305" - integrity sha512-HS5MIJp3B8t0NRKGMCZkcDUZo36mVRvrDETl81aqljT1S9tqiHRSpyoOvWg9ZilzZG9TDisDNaN1IXm54fLRZw== +jest-changed-files@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.3.0.tgz#68fb2a7eb125f50839dab1f5a17db3607fe195b1" + integrity sha512-1C4R4nijgPltX6fugKxM4oQ18zimS7LqQ+zTTY8lMCMFPrxqBFb7KJH0Z2fRQJvw2Slbaipsqq7s1mgX5Iot+g== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.3.0" execa "^4.0.0" throat "^5.0.0" -jest-cli@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.5.4.tgz#b9f1a84d1301a92c5c217684cb79840831db9f0d" - integrity sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw== - dependencies: - "@jest/core" "^25.5.4" - "@jest/test-result" "^25.5.0" - "@jest/types" "^25.5.0" - chalk "^3.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^25.5.4" - jest-util "^25.5.0" - jest-validate "^25.5.0" - prompts "^2.0.1" - realpath-native "^2.0.0" - yargs "^15.3.1" - -jest-cli@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.1.0.tgz#eb9ec8a18cf3b6aa556d9deaa9e24be12b43ad87" - integrity sha512-Imumvjgi3rU7stq6SJ1JUEMaV5aAgJYXIs0jPqdUnF47N/Tk83EXfmtvNKQ+SnFVI6t6mDOvfM3aA9Sg6kQPSw== +jest-cli@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.4.2.tgz#24afc6e4dfc25cde4c7ec4226fb7db5f157c21da" + integrity sha512-zb+lGd/SfrPvoRSC/0LWdaWCnscXc1mGYW//NP4/tmBvRPT3VntZ2jtKUONsRi59zc5JqmsSajA9ewJKFYp8Cw== dependencies: - "@jest/core" "^26.1.0" - "@jest/test-result" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/core" "^26.4.2" + "@jest/test-result" "^26.3.0" + "@jest/types" "^26.3.0" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" import-local "^3.0.2" is-ci "^2.0.0" - jest-config "^26.1.0" - jest-util "^26.1.0" - jest-validate "^26.1.0" + jest-config "^26.4.2" + jest-util "^26.3.0" + jest-validate "^26.4.2" prompts "^2.0.1" yargs "^15.3.1" -jest-config@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.5.4.tgz#38e2057b3f976ef7309b2b2c8dcd2a708a67f02c" - integrity sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg== +jest-config@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.4.2.tgz#da0cbb7dc2c131ffe831f0f7f2a36256e6086558" + integrity sha512-QBf7YGLuToiM8PmTnJEdRxyYy3mHWLh24LJZKVdXZ2PNdizSe1B/E8bVm+HYcjbEzGuVXDv/di+EzdO/6Gq80A== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^25.5.4" - "@jest/types" "^25.5.0" - babel-jest "^25.5.1" - chalk "^3.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^25.5.0" - jest-environment-node "^25.5.0" - jest-get-type "^25.2.6" - jest-jasmine2 "^25.5.4" - jest-regex-util "^25.2.6" - jest-resolve "^25.5.1" - jest-util "^25.5.0" - jest-validate "^25.5.0" - micromatch "^4.0.2" - pretty-format "^25.5.0" - realpath-native "^2.0.0" - -jest-config@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.1.0.tgz#9074f7539acc185e0113ad6d22ed589c16a37a73" - integrity sha512-ONTGeoMbAwGCdq4WuKkMcdMoyfs5CLzHEkzFOlVvcDXufZSaIWh/OXMLa2fwKXiOaFcqEw8qFr4VOKJQfn4CVw== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.1.0" - "@jest/types" "^26.1.0" - babel-jest "^26.1.0" + "@jest/test-sequencer" "^26.4.2" + "@jest/types" "^26.3.0" + babel-jest "^26.3.0" chalk "^4.0.0" deepmerge "^4.2.2" glob "^7.1.1" graceful-fs "^4.2.4" - jest-environment-jsdom "^26.1.0" - jest-environment-node "^26.1.0" - jest-get-type "^26.0.0" - jest-jasmine2 "^26.1.0" + jest-environment-jsdom "^26.3.0" + jest-environment-node "^26.3.0" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.4.2" jest-regex-util "^26.0.0" - jest-resolve "^26.1.0" - jest-util "^26.1.0" - jest-validate "^26.1.0" + jest-resolve "^26.4.0" + jest-util "^26.3.0" + jest-validate "^26.4.2" micromatch "^4.0.2" - pretty-format "^26.1.0" + pretty-format "^26.4.2" -jest-diff@^25.2.1, jest-diff@^25.5.0: +jest-diff@^25.2.1: version "25.5.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== @@ -6609,22 +6093,15 @@ jest-diff@^25.2.1, jest-diff@^25.5.0: jest-get-type "^25.2.6" pretty-format "^25.5.0" -jest-diff@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.1.0.tgz#00a549bdc936c9691eb4dc25d1fbd78bf456abb2" - integrity sha512-GZpIcom339y0OXznsEKjtkfKxNdg7bVbEofK8Q6MnevTIiR1jNhDWKhRX6X0SDXJlwn3dy59nZ1z55fLkAqPWg== +jest-diff@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.4.2.tgz#a1b7b303bcc534aabdb3bd4a7caf594ac059f5aa" + integrity sha512-6T1XQY8U28WH0Z5rGpQ+VqZSZz8EN8rZcBtfvXaOkbwxIEeRre6qnuZQlbY1AJ4MKDxQF8EkrCvK+hL/VkyYLQ== dependencies: chalk "^4.0.0" - diff-sequences "^26.0.0" - jest-get-type "^26.0.0" - pretty-format "^26.1.0" - -jest-docblock@^25.3.0: - version "25.3.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.3.0.tgz#8b777a27e3477cd77a168c05290c471a575623ef" - integrity sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg== - dependencies: - detect-newline "^3.0.0" + diff-sequences "^26.3.0" + jest-get-type "^26.3.0" + pretty-format "^26.4.2" jest-docblock@^26.0.0: version "26.0.0" @@ -6633,238 +6110,132 @@ jest-docblock@^26.0.0: dependencies: detect-newline "^3.0.0" -jest-each@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.5.0.tgz#0c3c2797e8225cb7bec7e4d249dcd96b934be516" - integrity sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA== +jest-each@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.4.2.tgz#bb14f7f4304f2bb2e2b81f783f989449b8b6ffae" + integrity sha512-p15rt8r8cUcRY0Mvo1fpkOGYm7iI8S6ySxgIdfh3oOIv+gHwrHTy5VWCGOecWUhDsit4Nz8avJWdT07WLpbwDA== dependencies: - "@jest/types" "^25.5.0" - chalk "^3.0.0" - jest-get-type "^25.2.6" - jest-util "^25.5.0" - pretty-format "^25.5.0" - -jest-each@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.1.0.tgz#e35449875009a22d74d1bda183b306db20f286f7" - integrity sha512-lYiSo4Igr81q6QRsVQq9LIkJW0hZcKxkIkHzNeTMPENYYDw/W/Raq28iJ0sLlNFYz2qxxeLnc5K2gQoFYlu2bA== - dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.3.0" chalk "^4.0.0" - jest-get-type "^26.0.0" - jest-util "^26.1.0" - pretty-format "^26.1.0" - -jest-environment-jsdom@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz#dcbe4da2ea997707997040ecf6e2560aec4e9834" - integrity sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A== - dependencies: - "@jest/environment" "^25.5.0" - "@jest/fake-timers" "^25.5.0" - "@jest/types" "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - jsdom "^15.2.1" - -jest-environment-jsdom@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.1.0.tgz#9dc7313ffe1b59761dad1fedb76e2503e5d37c5b" - integrity sha512-dWfiJ+spunVAwzXbdVqPH1LbuJW/kDL+FyqgA5YzquisHqTi0g9hquKif9xKm7c1bKBj6wbmJuDkeMCnxZEpUw== - dependencies: - "@jest/environment" "^26.1.0" - "@jest/fake-timers" "^26.1.0" - "@jest/types" "^26.1.0" - jest-mock "^26.1.0" - jest-util "^26.1.0" + jest-get-type "^26.3.0" + jest-util "^26.3.0" + pretty-format "^26.4.2" + +jest-environment-jsdom@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.3.0.tgz#3b749ba0f3a78e92ba2c9ce519e16e5dd515220c" + integrity sha512-zra8He2btIMJkAzvLaiZ9QwEPGEetbxqmjEBQwhH3CA+Hhhu0jSiEJxnJMbX28TGUvPLxBt/zyaTLrOPF4yMJA== + dependencies: + "@jest/environment" "^26.3.0" + "@jest/fake-timers" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/node" "*" + jest-mock "^26.3.0" + jest-util "^26.3.0" jsdom "^16.2.2" -jest-environment-node@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.5.0.tgz#0f55270d94804902988e64adca37c6ce0f7d07a1" - integrity sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA== +jest-environment-node@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.3.0.tgz#56c6cfb506d1597f94ee8d717072bda7228df849" + integrity sha512-c9BvYoo+FGcMj5FunbBgtBnbR5qk3uky8PKyRVpSfe2/8+LrNQMiXX53z6q2kY+j15SkjQCOSL/6LHnCPLVHNw== dependencies: - "@jest/environment" "^25.5.0" - "@jest/fake-timers" "^25.5.0" - "@jest/types" "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - semver "^6.3.0" - -jest-environment-node@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.1.0.tgz#8bb387b3eefb132eab7826f9a808e4e05618960b" - integrity sha512-DNm5x1aQH0iRAe9UYAkZenuzuJ69VKzDCAYISFHQ5i9e+2Tbeu2ONGY7YStubCLH8a1wdKBgqScYw85+ySxqxg== - dependencies: - "@jest/environment" "^26.1.0" - "@jest/fake-timers" "^26.1.0" - "@jest/types" "^26.1.0" - jest-mock "^26.1.0" - jest-util "^26.1.0" + "@jest/environment" "^26.3.0" + "@jest/fake-timers" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/node" "*" + jest-mock "^26.3.0" + jest-util "^26.3.0" jest-get-type@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== -jest-get-type@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.0.0.tgz#381e986a718998dbfafcd5ec05934be538db4039" - integrity sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg== +jest-get-type@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== -jest-haste-map@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.5.1.tgz#1df10f716c1d94e60a1ebf7798c9fb3da2620943" - integrity sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ== +jest-haste-map@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.3.0.tgz#c51a3b40100d53ab777bfdad382d2e7a00e5c726" + integrity sha512-DHWBpTJgJhLLGwE5Z1ZaqLTYqeODQIZpby0zMBsCU9iRFHYyhklYqP4EiG73j5dkbaAdSZhgB938mL51Q5LeZA== dependencies: - "@jest/types" "^25.5.0" - "@types/graceful-fs" "^4.1.2" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-serializer "^25.5.0" - jest-util "^25.5.0" - jest-worker "^25.5.0" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - which "^2.0.2" - optionalDependencies: - fsevents "^2.1.2" - -jest-haste-map@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.1.0.tgz#ef31209be73f09b0d9445e7d213e1b53d0d1476a" - integrity sha512-WeBS54xCIz9twzkEdm6+vJBXgRBQfdbbXD0dk8lJh7gLihopABlJmIQFdWSDDtuDe4PRiObsjZSUjbJ1uhWEpA== - dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.3.0" "@types/graceful-fs" "^4.1.2" + "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.4" - jest-serializer "^26.1.0" - jest-util "^26.1.0" - jest-worker "^26.1.0" + jest-regex-util "^26.0.0" + jest-serializer "^26.3.0" + jest-util "^26.3.0" + jest-worker "^26.3.0" micromatch "^4.0.2" sane "^4.0.3" walker "^1.0.7" - which "^2.0.2" optionalDependencies: fsevents "^2.1.2" -jest-jasmine2@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz#66ca8b328fb1a3c5364816f8958f6970a8526968" - integrity sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ== +jest-jasmine2@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.4.2.tgz#18a9d5bec30904267ac5e9797570932aec1e2257" + integrity sha512-z7H4EpCldHN1J8fNgsja58QftxBSL+JcwZmaXIvV9WKIM+x49F4GLHu/+BQh2kzRKHAgaN/E82od+8rTOBPyPA== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^25.5.0" - "@jest/source-map" "^25.5.0" - "@jest/test-result" "^25.5.0" - "@jest/types" "^25.5.0" - chalk "^3.0.0" - co "^4.6.0" - expect "^25.5.0" - is-generator-fn "^2.0.0" - jest-each "^25.5.0" - jest-matcher-utils "^25.5.0" - jest-message-util "^25.5.0" - jest-runtime "^25.5.4" - jest-snapshot "^25.5.1" - jest-util "^25.5.0" - pretty-format "^25.5.0" - throat "^5.0.0" - -jest-jasmine2@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.1.0.tgz#4dfe349b2b2d3c6b3a27c024fd4cb57ac0ed4b6f" - integrity sha512-1IPtoDKOAG+MeBrKvvuxxGPJb35MTTRSDglNdWWCndCB3TIVzbLThRBkwH9P081vXLgiJHZY8Bz3yzFS803xqQ== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.1.0" - "@jest/source-map" "^26.1.0" - "@jest/test-result" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/environment" "^26.3.0" + "@jest/source-map" "^26.3.0" + "@jest/test-result" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - expect "^26.1.0" + expect "^26.4.2" is-generator-fn "^2.0.0" - jest-each "^26.1.0" - jest-matcher-utils "^26.1.0" - jest-message-util "^26.1.0" - jest-runtime "^26.1.0" - jest-snapshot "^26.1.0" - jest-util "^26.1.0" - pretty-format "^26.1.0" + jest-each "^26.4.2" + jest-matcher-utils "^26.4.2" + jest-message-util "^26.3.0" + jest-runtime "^26.4.2" + jest-snapshot "^26.4.2" + jest-util "^26.3.0" + pretty-format "^26.4.2" throat "^5.0.0" -jest-junit@^11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-11.0.1.tgz#944b997b7318efd1f021b4f0fce4937f8d66f392" - integrity sha512-stgc0mBoiSg/F9qWd4KkmR3K7Nk2u+M/dc1oup7gxz9mrzGcEaU2YL9/0QscVqqg3IOaA1P5ZXtozG/XR6j6nw== +jest-junit@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-11.1.0.tgz#79cd53948e44d62b2b30fa23ea0d7a899d2c8d7a" + integrity sha512-c2LFOyKY7+ZxL5zSu+WHmHfsJ2wqbOpeYJ4Uu26yMhFxny2J2NQj6AVS7M+Eaxji9Q/oIDDK5tQy0DGzDp9xOw== dependencies: mkdirp "^1.0.4" strip-ansi "^5.2.0" uuid "^3.3.3" xml "^1.0.1" -jest-leak-detector@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz#2291c6294b0ce404241bb56fe60e2d0c3e34f0bb" - integrity sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA== - dependencies: - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - -jest-leak-detector@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.1.0.tgz#039c3a07ebcd8adfa984b6ac015752c35792e0a6" - integrity sha512-dsMnKF+4BVOZwvQDlgn3MG+Ns4JuLv8jNvXH56bgqrrboyCbI1rQg6EI5rs+8IYagVcfVP2yZFKfWNZy0rK0Hw== - dependencies: - jest-get-type "^26.0.0" - pretty-format "^26.1.0" - -jest-matcher-utils@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz#fbc98a12d730e5d2453d7f1ed4a4d948e34b7867" - integrity sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw== +jest-leak-detector@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.4.2.tgz#c73e2fa8757bf905f6f66fb9e0070b70fa0f573f" + integrity sha512-akzGcxwxtE+9ZJZRW+M2o+nTNnmQZxrHJxX/HjgDaU5+PLmY1qnQPnMjgADPGCRPhB+Yawe1iij0REe+k/aHoA== dependencies: - chalk "^3.0.0" - jest-diff "^25.5.0" - jest-get-type "^25.2.6" - pretty-format "^25.5.0" + jest-get-type "^26.3.0" + pretty-format "^26.4.2" -jest-matcher-utils@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.1.0.tgz#cf75a41bd413dda784f022de5a65a2a5c73a5c92" - integrity sha512-PW9JtItbYvES/xLn5mYxjMd+Rk+/kIt88EfH3N7w9KeOrHWaHrdYPnVHndGbsFGRJ2d5gKtwggCvkqbFDoouQA== +jest-matcher-utils@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.4.2.tgz#fa81f3693f7cb67e5fc1537317525ef3b85f4b06" + integrity sha512-KcbNqWfWUG24R7tu9WcAOKKdiXiXCbMvQYT6iodZ9k1f7065k0keUOW6XpJMMvah+hTfqkhJhRXmA3r3zMAg0Q== dependencies: chalk "^4.0.0" - jest-diff "^26.1.0" - jest-get-type "^26.0.0" - pretty-format "^26.1.0" - -jest-message-util@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.5.0.tgz#ea11d93204cc7ae97456e1d8716251185b8880ea" - integrity sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^25.5.0" - "@types/stack-utils" "^1.0.1" - chalk "^3.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - slash "^3.0.0" - stack-utils "^1.0.1" + jest-diff "^26.4.2" + jest-get-type "^26.3.0" + pretty-format "^26.4.2" -jest-message-util@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.1.0.tgz#52573fbb8f5cea443c4d1747804d7a238a3e233c" - integrity sha512-dY0+UlldiAJwNDJ08SF0HdF32g9PkbF2NRK/+2iMPU40O6q+iSn1lgog/u0UH8ksWoPv0+gNq8cjhYO2MFtT0g== +jest-message-util@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.3.0.tgz#3bdb538af27bb417f2d4d16557606fd082d5841a" + integrity sha512-xIavRYqr4/otGOiLxLZGj3ieMmjcNE73Ui+LdSW/Y790j5acqCsAdDiLIbzHCZMpN07JOENRWX5DcU+OQ+TjTA== dependencies: "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.1.0" + "@jest/types" "^26.3.0" "@types/stack-utils" "^1.0.1" chalk "^4.0.0" graceful-fs "^4.2.4" @@ -6872,355 +6243,188 @@ jest-message-util@^26.1.0: slash "^3.0.0" stack-utils "^2.0.2" -jest-mock@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.5.0.tgz#a91a54dabd14e37ecd61665d6b6e06360a55387a" - integrity sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA== +jest-mock@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.3.0.tgz#ee62207c3c5ebe5f35b760e1267fee19a1cfdeba" + integrity sha512-PeaRrg8Dc6mnS35gOo/CbZovoDPKAeB1FICZiuagAgGvbWdNNyjQjkOaGUa/3N3JtpQ/Mh9P4A2D4Fv51NnP8Q== dependencies: - "@jest/types" "^25.5.0" - -jest-mock@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.1.0.tgz#80d8286da1f05a345fbad1bfd6fa49a899465d3d" - integrity sha512-1Rm8EIJ3ZFA8yCIie92UbxZWj9SuVmUGcyhLHyAhY6WI3NIct38nVcfOPWhJteqSn8V8e3xOMha9Ojfazfpovw== - dependencies: - "@jest/types" "^26.1.0" - -jest-pnp-resolver@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" - integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== + "@jest/types" "^26.3.0" + "@types/node" "*" -jest-regex-util@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.6.tgz#d847d38ba15d2118d3b06390056028d0f2fd3964" - integrity sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw== +jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== jest-regex-util@^26.0.0: version "26.0.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== -jest-resolve-dependencies@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz#85501f53957c8e3be446e863a74777b5a17397a7" - integrity sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw== - dependencies: - "@jest/types" "^25.5.0" - jest-regex-util "^25.2.6" - jest-snapshot "^25.5.1" - -jest-resolve-dependencies@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.1.0.tgz#1ce36472f864a5dadf7dc82fa158e1c77955691b" - integrity sha512-fQVEPHHQ1JjHRDxzlLU/buuQ9om+hqW6Vo928aa4b4yvq4ZHBtRSDsLdKQLuCqn5CkTVpYZ7ARh2fbA8WkRE6g== +jest-resolve-dependencies@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.4.2.tgz#739bdb027c14befb2fe5aabbd03f7bab355f1dc5" + integrity sha512-ADHaOwqEcVc71uTfySzSowA/RdxUpCxhxa2FNLiin9vWLB1uLPad3we+JSSROq5+SrL9iYPdZZF8bdKM7XABTQ== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.3.0" jest-regex-util "^26.0.0" - jest-snapshot "^26.1.0" - -jest-resolve@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.5.1.tgz#0e6fbcfa7c26d2a5fe8f456088dc332a79266829" - integrity sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ== - dependencies: - "@jest/types" "^25.5.0" - browser-resolve "^1.11.3" - chalk "^3.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.1" - read-pkg-up "^7.0.1" - realpath-native "^2.0.0" - resolve "^1.17.0" - slash "^3.0.0" + jest-snapshot "^26.4.2" -jest-resolve@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.1.0.tgz#a530eaa302b1f6fa0479079d1561dd69abc00e68" - integrity sha512-KsY1JV9FeVgEmwIISbZZN83RNGJ1CC+XUCikf/ZWJBX/tO4a4NvA21YixokhdR9UnmPKKAC4LafVixJBrwlmfg== +jest-resolve@^26.4.0: + version "26.4.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.4.0.tgz#6dc0af7fb93e65b73fec0368ca2b76f3eb59a6d7" + integrity sha512-bn/JoZTEXRSlEx3+SfgZcJAVuTMOksYq9xe9O6s4Ekg84aKBObEaVXKOEilULRqviSLAYJldnoWV9c07kwtiCg== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.3.0" chalk "^4.0.0" graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.1" - jest-util "^26.1.0" + jest-pnp-resolver "^1.2.2" + jest-util "^26.3.0" read-pkg-up "^7.0.1" resolve "^1.17.0" slash "^3.0.0" -jest-runner@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.5.4.tgz#ffec5df3875da5f5c878ae6d0a17b8e4ecd7c71d" - integrity sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg== +jest-runner@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.4.2.tgz#c3ec5482c8edd31973bd3935df5a449a45b5b853" + integrity sha512-FgjDHeVknDjw1gRAYaoUoShe1K3XUuFMkIaXbdhEys+1O4bEJS8Avmn4lBwoMfL8O5oFTdWYKcf3tEJyyYyk8g== dependencies: - "@jest/console" "^25.5.0" - "@jest/environment" "^25.5.0" - "@jest/test-result" "^25.5.0" - "@jest/types" "^25.5.0" - chalk "^3.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^25.5.4" - jest-docblock "^25.3.0" - jest-haste-map "^25.5.1" - jest-jasmine2 "^25.5.4" - jest-leak-detector "^25.5.0" - jest-message-util "^25.5.0" - jest-resolve "^25.5.1" - jest-runtime "^25.5.4" - jest-util "^25.5.0" - jest-worker "^25.5.0" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runner@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.1.0.tgz#457f7fc522afe46ca6db1dccf19f87f500b3288d" - integrity sha512-elvP7y0fVDREnfqit0zAxiXkDRSw6dgCkzPCf1XvIMnSDZ8yogmSKJf192dpOgnUVykmQXwYYJnCx641uLTgcw== - dependencies: - "@jest/console" "^26.1.0" - "@jest/environment" "^26.1.0" - "@jest/test-result" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/console" "^26.3.0" + "@jest/environment" "^26.3.0" + "@jest/test-result" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/node" "*" chalk "^4.0.0" + emittery "^0.7.1" exit "^0.1.2" graceful-fs "^4.2.4" - jest-config "^26.1.0" + jest-config "^26.4.2" jest-docblock "^26.0.0" - jest-haste-map "^26.1.0" - jest-jasmine2 "^26.1.0" - jest-leak-detector "^26.1.0" - jest-message-util "^26.1.0" - jest-resolve "^26.1.0" - jest-runtime "^26.1.0" - jest-util "^26.1.0" - jest-worker "^26.1.0" + jest-haste-map "^26.3.0" + jest-leak-detector "^26.4.2" + jest-message-util "^26.3.0" + jest-resolve "^26.4.0" + jest-runtime "^26.4.2" + jest-util "^26.3.0" + jest-worker "^26.3.0" source-map-support "^0.5.6" throat "^5.0.0" -jest-runtime@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.5.4.tgz#dc981fe2cb2137abcd319e74ccae7f7eeffbfaab" - integrity sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ== - dependencies: - "@jest/console" "^25.5.0" - "@jest/environment" "^25.5.0" - "@jest/globals" "^25.5.2" - "@jest/source-map" "^25.5.0" - "@jest/test-result" "^25.5.0" - "@jest/transform" "^25.5.1" - "@jest/types" "^25.5.0" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^25.5.4" - jest-haste-map "^25.5.1" - jest-message-util "^25.5.0" - jest-mock "^25.5.0" - jest-regex-util "^25.2.6" - jest-resolve "^25.5.1" - jest-snapshot "^25.5.1" - jest-util "^25.5.0" - jest-validate "^25.5.0" - realpath-native "^2.0.0" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.3.1" - -jest-runtime@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.1.0.tgz#45a37af42115f123ed5c51f126c05502da2469cb" - integrity sha512-1qiYN+EZLmG1QV2wdEBRf+Ci8i3VSfIYLF02U18PiUDrMbhfpN/EAMMkJtT02jgJUoaEOpHAIXG6zS3QRMzRmA== - dependencies: - "@jest/console" "^26.1.0" - "@jest/environment" "^26.1.0" - "@jest/fake-timers" "^26.1.0" - "@jest/globals" "^26.1.0" - "@jest/source-map" "^26.1.0" - "@jest/test-result" "^26.1.0" - "@jest/transform" "^26.1.0" - "@jest/types" "^26.1.0" +jest-runtime@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.4.2.tgz#94ce17890353c92e4206580c73a8f0c024c33c42" + integrity sha512-4Pe7Uk5a80FnbHwSOk7ojNCJvz3Ks2CNQWT5Z7MJo4tX0jb3V/LThKvD9tKPNVNyeMH98J/nzGlcwc00R2dSHQ== + dependencies: + "@jest/console" "^26.3.0" + "@jest/environment" "^26.3.0" + "@jest/fake-timers" "^26.3.0" + "@jest/globals" "^26.4.2" + "@jest/source-map" "^26.3.0" + "@jest/test-result" "^26.3.0" + "@jest/transform" "^26.3.0" + "@jest/types" "^26.3.0" "@types/yargs" "^15.0.0" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.2.4" - jest-config "^26.1.0" - jest-haste-map "^26.1.0" - jest-message-util "^26.1.0" - jest-mock "^26.1.0" + jest-config "^26.4.2" + jest-haste-map "^26.3.0" + jest-message-util "^26.3.0" + jest-mock "^26.3.0" jest-regex-util "^26.0.0" - jest-resolve "^26.1.0" - jest-snapshot "^26.1.0" - jest-util "^26.1.0" - jest-validate "^26.1.0" + jest-resolve "^26.4.0" + jest-snapshot "^26.4.2" + jest-util "^26.3.0" + jest-validate "^26.4.2" slash "^3.0.0" strip-bom "^4.0.0" yargs "^15.3.1" -jest-serializer@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.5.0.tgz#a993f484e769b4ed54e70e0efdb74007f503072b" - integrity sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA== - dependencies: - graceful-fs "^4.2.4" - -jest-serializer@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.1.0.tgz#72a394531fc9b08e173dc7d297440ac610d95022" - integrity sha512-eqZOQG/0+MHmr25b2Z86g7+Kzd5dG9dhCiUoyUNJPgiqi38DqbDEOlHcNijyfZoj74soGBohKBZuJFS18YTJ5w== +jest-serializer@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.3.0.tgz#1c9d5e1b74d6e5f7e7f9627080fa205d976c33ef" + integrity sha512-IDRBQBLPlKa4flg77fqg0n/pH87tcRKwe8zxOVTWISxGpPHYkRZ1dXKyh04JOja7gppc60+soKVZ791mruVdow== dependencies: + "@types/node" "*" graceful-fs "^4.2.4" -jest-snapshot@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.5.1.tgz#1a2a576491f9961eb8d00c2e5fd479bc28e5ff7f" - integrity sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ== +jest-snapshot@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.4.2.tgz#87d3ac2f2bd87ea8003602fbebd8fcb9e94104f6" + integrity sha512-N6Uub8FccKlf5SBFnL2Ri/xofbaA68Cc3MGjP/NuwgnsvWh+9hLIR/DhrxbSiKXMY9vUW5dI6EW1eHaDHqe9sg== dependencies: "@babel/types" "^7.0.0" - "@jest/types" "^25.5.0" - "@types/prettier" "^1.19.0" - chalk "^3.0.0" - expect "^25.5.0" - graceful-fs "^4.2.4" - jest-diff "^25.5.0" - jest-get-type "^25.2.6" - jest-matcher-utils "^25.5.0" - jest-message-util "^25.5.0" - jest-resolve "^25.5.1" - make-dir "^3.0.0" - natural-compare "^1.4.0" - pretty-format "^25.5.0" - semver "^6.3.0" - -jest-snapshot@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.1.0.tgz#c36ed1e0334bd7bd2fe5ad07e93a364ead7e1349" - integrity sha512-YhSbU7eMTVQO/iRbNs8j0mKRxGp4plo7sJ3GzOQ0IYjvsBiwg0T1o0zGQAYepza7lYHuPTrG5J2yDd0CE2YxSw== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.1.0" + "@jest/types" "^26.3.0" "@types/prettier" "^2.0.0" chalk "^4.0.0" - expect "^26.1.0" - graceful-fs "^4.2.4" - jest-diff "^26.1.0" - jest-get-type "^26.0.0" - jest-haste-map "^26.1.0" - jest-matcher-utils "^26.1.0" - jest-message-util "^26.1.0" - jest-resolve "^26.1.0" - natural-compare "^1.4.0" - pretty-format "^26.1.0" - semver "^7.3.2" - -jest-util@26.x, jest-util@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.1.0.tgz#80e85d4ba820decacf41a691c2042d5276e5d8d8" - integrity sha512-rNMOwFQevljfNGvbzNQAxdmXQ+NawW/J72dmddsK0E8vgxXCMtwQ/EH0BiWEIxh0hhMcTsxwAxINt7Lh46Uzbg== - dependencies: - "@jest/types" "^26.1.0" - chalk "^4.0.0" + expect "^26.4.2" graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-util@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.5.0.tgz#31c63b5d6e901274d264a4fec849230aa3fa35b0" - integrity sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA== - dependencies: - "@jest/types" "^25.5.0" - chalk "^3.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - make-dir "^3.0.0" + jest-diff "^26.4.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.3.0" + jest-matcher-utils "^26.4.2" + jest-message-util "^26.3.0" + jest-resolve "^26.4.0" + natural-compare "^1.4.0" + pretty-format "^26.4.2" + semver "^7.3.2" -jest-validate@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.5.0.tgz#fb4c93f332c2e4cf70151a628e58a35e459a413a" - integrity sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ== +jest-util@26.x, jest-util@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.3.0.tgz#a8974b191df30e2bf523ebbfdbaeb8efca535b3e" + integrity sha512-4zpn6bwV0+AMFN0IYhH/wnzIQzRaYVrz1A8sYnRnj4UXDXbOVtWmlaZkO9mipFqZ13okIfN87aDoJWB7VH6hcw== dependencies: - "@jest/types" "^25.5.0" - camelcase "^5.3.1" - chalk "^3.0.0" - jest-get-type "^25.2.6" - leven "^3.1.0" - pretty-format "^25.5.0" + "@jest/types" "^26.3.0" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" -jest-validate@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.1.0.tgz#942c85ad3d60f78250c488a7f85d8f11a29788e7" - integrity sha512-WPApOOnXsiwhZtmkDsxnpye+XLb/tUISP+H6cHjfUIXvlG+eKwP+isnivsxlHCPaO9Q5wvbhloIBkdF3qUn+Nw== +jest-validate@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.4.2.tgz#e871b0dfe97747133014dcf6445ee8018398f39c" + integrity sha512-blft+xDX7XXghfhY0mrsBCYhX365n8K5wNDC4XAcNKqqjEzsRUSXP44m6PL0QJEW2crxQFLLztVnJ4j7oPlQrQ== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.3.0" camelcase "^6.0.0" chalk "^4.0.0" - jest-get-type "^26.0.0" + jest-get-type "^26.3.0" leven "^3.1.0" - pretty-format "^26.1.0" - -jest-watcher@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.5.0.tgz#d6110d101df98badebe435003956fd4a465e8456" - integrity sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q== - dependencies: - "@jest/test-result" "^25.5.0" - "@jest/types" "^25.5.0" - ansi-escapes "^4.2.1" - chalk "^3.0.0" - jest-util "^25.5.0" - string-length "^3.1.0" + pretty-format "^26.4.2" -jest-watcher@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.1.0.tgz#99812a0cd931f0cb3d153180426135ab83e4d8f2" - integrity sha512-ffEOhJl2EvAIki613oPsSG11usqnGUzIiK7MMX6hE4422aXOcVEG3ySCTDFLn1+LZNXGPE8tuJxhp8OBJ1pgzQ== +jest-watcher@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.3.0.tgz#f8ef3068ddb8af160ef868400318dc4a898eed08" + integrity sha512-XnLdKmyCGJ3VoF6G/p5ohbJ04q/vv5aH9ENI+i6BL0uu9WWB6Z7Z2lhQQk0d2AVZcRGp1yW+/TsoToMhBFPRdQ== dependencies: - "@jest/test-result" "^26.1.0" - "@jest/types" "^26.1.0" + "@jest/test-result" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^26.1.0" + jest-util "^26.3.0" string-length "^4.0.1" -jest-worker@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" - integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== - dependencies: - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest-worker@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.1.0.tgz#65d5641af74e08ccd561c240e7db61284f82f33d" - integrity sha512-Z9P5pZ6UC+kakMbNJn+tA2RdVdNX5WH1x+5UCBZ9MxIK24pjYtFt96fK+UwBTrjLYm232g1xz0L3eTh51OW+yQ== +jest-worker@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.3.0.tgz#7c8a97e4f4364b4f05ed8bca8ca0c24de091871f" + integrity sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw== dependencies: + "@types/node" "*" merge-stream "^2.0.0" supports-color "^7.0.0" -jest@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest/-/jest-25.5.4.tgz#f21107b6489cfe32b076ce2adcadee3587acb9db" - integrity sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ== - dependencies: - "@jest/core" "^25.5.4" - import-local "^3.0.2" - jest-cli "^25.5.4" - -jest@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.1.0.tgz#2f3aa7bcffb9bfd025473f83bbbf46a3af026263" - integrity sha512-LIti8jppw5BcQvmNJe4w2g1N/3V68HUfAv9zDVm7v+VAtQulGhH0LnmmiVkbNE4M4I43Bj2fXPiBGKt26k9tHw== +jest@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.4.2.tgz#7e8bfb348ec33f5459adeaffc1a25d5752d9d312" + integrity sha512-LLCjPrUh98Ik8CzW8LLVnSCfLaiY+wbK53U7VxnFSX7Q+kWC4noVeDvGWIFw0Amfq1lq2VfGm7YHWSLBV62MJw== dependencies: - "@jest/core" "^26.1.0" + "@jest/core" "^26.4.2" import-local "^3.0.2" - jest-cli "^26.1.0" + jest-cli "^26.4.2" jmespath@0.15.0: version "0.15.0" @@ -7245,42 +6449,10 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jsdom@^15.2.1: - version "15.2.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" - integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== - dependencies: - abab "^2.0.0" - acorn "^7.1.0" - acorn-globals "^4.3.2" - array-equal "^1.0.0" - cssom "^0.4.1" - cssstyle "^2.0.0" - data-urls "^1.1.0" - domexception "^1.0.1" - escodegen "^1.11.1" - html-encoding-sniffer "^1.0.2" - nwsapi "^2.2.0" - parse5 "5.1.0" - pn "^1.1.0" - request "^2.88.0" - request-promise-native "^1.0.7" - saxes "^3.1.9" - symbol-tree "^3.2.2" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.1" - w3c-xmlserializer "^1.1.2" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^7.0.0" - ws "^7.0.0" - xml-name-validator "^3.0.0" - jsdom@^16.2.2: - version "16.2.2" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.2.2.tgz#76f2f7541646beb46a938f5dc476b88705bedf2b" - integrity sha512-pDFQbcYtKBHxRaP55zGXCJWgFHkDAYbKcsXEK/3Icu9nKYZkutUXfLBwbD+09XDutkYSHcgfQLZ0qvpAAm9mvg== + version "16.4.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" + integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== dependencies: abab "^2.0.3" acorn "^7.1.1" @@ -7302,7 +6474,7 @@ jsdom@^16.2.2: tough-cookie "^3.0.1" w3c-hr-time "^1.0.2" w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.0.0" + webidl-conversions "^6.1.0" whatwg-encoding "^1.0.5" whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" @@ -7344,7 +6516,7 @@ jsii-pacmak@^1.12.0: xmlbuilder "^15.1.1" yargs "^15.4.1" -jsii-reflect@^1.12.0: +jsii-reflect@^1.11.0, jsii-reflect@^1.12.0: version "1.12.0" resolved "https://registry.yarnpkg.com/jsii-reflect/-/jsii-reflect-1.12.0.tgz#e894a823e1abc7d4e0c61e7a8f8ff45f6757566a" integrity sha512-wADLvHWARzV4tSYFwqO3FpUuYmhcwnJENppJ5UY9ONt1E/r5CtxBCxHChnEeMWywyAy+rhl3CXVyCfV0IoPj3g== @@ -7399,6 +6571,11 @@ json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.0.tgz#371873c5ffa44304a6ba12419bcfa95f404ae081" + integrity sha512-o3aP+RsWDJZayj1SbHNQAI8x0v3T3SKiGoZlNYfbUP1S3omJQ6i9CnqADqkSPaOAxwua4/1YWx5CM7oiChJt2Q== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -7611,14 +6788,6 @@ leven@^3.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -7627,6 +6796,14 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" @@ -7787,7 +6964,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.2.1: +lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.2.1: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== @@ -7808,13 +6985,6 @@ log4js@^6.3.0: rfdc "^1.1.4" streamroller "^2.2.4" -lolex@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" - integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== - dependencies: - "@sinonjs/commons" "^1.7.0" - loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" @@ -7844,9 +7014,9 @@ ltgt@~2.2.0: integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU= macos-release@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" - integrity sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA== + version "2.4.1" + resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.4.1.tgz#64033d0ec6a5e6375155a74b1a1eba8e509820ac" + integrity sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg== make-dir@^1.0.0: version "1.3.0" @@ -7926,14 +7096,14 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" -md5@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9" - integrity sha1-U6s41f48iJG6RlMp6iP6wFQBJvk= +md5@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" + integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== dependencies: - charenc "~0.0.1" - crypt "~0.0.1" - is-buffer "~1.1.1" + charenc "0.0.2" + crypt "0.0.2" + is-buffer "~1.1.6" mdurl@~1.0.1: version "1.0.1" @@ -7984,17 +7154,15 @@ meow@^4.0.0: trim-newlines "^2.0.0" meow@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-7.0.1.tgz#1ed4a0a50b3844b451369c48362eb0515f04c1dc" - integrity sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw== + version "7.1.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.0.tgz#50ecbcdafa16f8b58fb7eb9675b933f6473b3a59" + integrity sha512-kq5F0KVteskZ3JdfyQFivJEj2RaA8NFsS4+r9DaMKLcUHpk5OcHS3Q0XkCXONB1mZRPsu/Y/qImKri0nwSEZog== dependencies: "@types/minimist" "^1.2.0" - arrify "^2.0.1" - camelcase "^6.0.0" camelcase-keys "^6.2.2" decamelize-keys "^1.1.0" hard-rejection "^2.1.0" - minimist-options "^4.0.2" + minimist-options "4.1.0" normalize-package-data "^2.5.0" read-pkg-up "^7.0.1" redent "^3.0.0" @@ -8015,17 +7183,9 @@ merge-stream@^2.0.0: integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.2.3: - version "1.3.0" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" - integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== - -micromatch@4.x, micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" @@ -8046,6 +7206,14 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + mime-db@1.44.0: version "1.44.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" @@ -8069,9 +7237,9 @@ mimic-fn@^2.1.0: integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== min-indent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.0.tgz#cfc45c37e9ec0d8f0a0ec3dd4ef7f7c3abe39256" - integrity sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY= + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== minimatch@>=3.0, minimatch@^3.0.4: version "3.0.4" @@ -8080,15 +7248,7 @@ minimatch@>=3.0, minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist-options@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" - integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - -minimist-options@^4.0.2: +minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== @@ -8097,6 +7257,14 @@ minimist-options@^4.0.2: is-plain-obj "^1.1.0" kind-of "^6.0.3" +minimist-options@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" + integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5, minimist@~1.2.0: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" @@ -8153,7 +7321,7 @@ mkdirp@*, mkdirp@1.x, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1: +mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -8202,7 +7370,7 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= -mute-stream@0.0.8, mute-stream@~0.0.4: +mute-stream@~0.0.4: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== @@ -8244,9 +7412,9 @@ natural-compare@^1.4.0: integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= neo-async@^2.6.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== nested-error-stacks@^2.0.0: version "2.1.0" @@ -8263,10 +7431,10 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -nise@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/nise/-/nise-4.0.3.tgz#9f79ff02fa002ed5ffbc538ad58518fa011dc913" - integrity sha512-EGlhjm7/4KvmmE6B/UFsKh7eHykRl9VH+au8dduHLCyWUO/hr7+N+WtTvDUwc9zHuM1IaIJs/0lQ6Ag1jDkQSg== +nise@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/nise/-/nise-4.0.4.tgz#d73dea3e5731e6561992b8f570be9e363c4512dd" + integrity sha512-bTTRUNlemx6deJa+ZyoCUTRvH3liK5+N6VQZ4NIw90AgDXY6iPnsqplNFf6STcj+ePk0H/xqxnP75Lr0J0Fq3A== dependencies: "@sinonjs/commons" "^1.7.0" "@sinonjs/fake-timers" "^6.0.0" @@ -8320,27 +7488,16 @@ node-modules-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= -node-notifier@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" - integrity sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw== - dependencies: - growly "^1.3.0" - is-wsl "^2.1.1" - semver "^6.3.0" - shellwords "^0.1.1" - which "^1.3.1" - -node-notifier@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-7.0.1.tgz#a355e33e6bebacef9bf8562689aed0f4230ca6f9" - integrity sha512-VkzhierE7DBmQEElhTGJIoiZa1oqRijOtgOlsXg32KrJRXsPy0NXFBqWGW/wTswnJlDCs5viRYaqWguqzsKcmg== +node-notifier@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.0.tgz#a7eee2d51da6d0f7ff5094bc7108c911240c1620" + integrity sha512-46z7DUmcjoYdaWyXouuFNNfUo6eFa94t23c53c+lG/9Cvauk4a98rAUp9672X5dxGdQmLpPzTxzu8f/OeEPaFA== dependencies: growly "^1.3.0" - is-wsl "^2.1.1" - semver "^7.2.1" + is-wsl "^2.2.0" + semver "^7.3.2" shellwords "^0.1.1" - uuid "^7.0.3" + uuid "^8.3.0" which "^2.0.2" node-preload@^0.2.1: @@ -8569,10 +7726,10 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" - integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== +object-inspect@^1.7.0, object-inspect@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" + integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== object-is@^1.1.2: version "1.1.2" @@ -8649,9 +7806,9 @@ onetime@^2.0.0: mimic-fn "^1.0.0" onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" @@ -8665,7 +7822,7 @@ opener@^1.5.1: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA== -optionator@^0.8.1, optionator@^0.8.3: +optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== @@ -8737,11 +7894,6 @@ p-finally@^1.0.0: resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= -p-finally@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" - integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== - p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -8912,38 +8064,33 @@ parse-json@^4.0.0: json-parse-better-errors "^1.0.1" parse-json@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" + integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" + json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" parse-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.1.tgz#0ec769704949778cb3b8eda5e994c32073a1adff" - integrity sha512-d7yhga0Oc+PwNXDvQ0Jv1BuWkLVPXcAoQ/WREgd6vNNoKYaW52KI+RdOFjI63wjkmps9yUE8VS4veP+AgpQ/hA== + version "4.0.2" + resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.2.tgz#ef14f0d3d77bae8dd4bc66563a4c151aac9e65aa" + integrity sha512-HSqVz6iuXSiL8C1ku5Gl1Z5cwDd9Wo0q8CoffdAghP6bz8pJa1tcMC+m4N+z6VAS8QdksnIGq1TB6EgR4vPR6w== dependencies: is-ssh "^1.3.0" protocols "^1.4.0" parse-url@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.1.tgz#99c4084fc11be14141efa41b3d117a96fcb9527f" - integrity sha512-flNUPP27r3vJpROi0/R3/2efgKkyXqnXwyP1KQ2U0SfFRgdizOdWfvrrvJg1LuOoxs7GQhmxJlq23IpQ/BkByg== + version "5.0.2" + resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.2.tgz#856a3be1fcdf78dc93fc8b3791f169072d898b59" + integrity sha512-Czj+GIit4cdWtxo3ISZCvLiUjErSo0iI3wJ+q9Oi3QuMYTI6OZu+7cewMWZ+C1YAnKhYTk6/TLuhIgCypLthPA== dependencies: is-ssh "^1.3.0" normalize-url "^3.3.0" parse-path "^4.0.0" protocols "^1.4.0" -parse5@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" - integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== - parse5@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" @@ -9091,11 +8238,6 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== - posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" @@ -9121,12 +8263,12 @@ pretty-format@^25.2.1, pretty-format@^25.5.0: ansi-styles "^4.0.0" react-is "^16.12.0" -pretty-format@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.1.0.tgz#272b9cd1f1a924ab5d443dc224899d7a65cb96ec" - integrity sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg== +pretty-format@^26.4.2: + version "26.4.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.4.2.tgz#d081d032b398e801e2012af2df1214ef75a81237" + integrity sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA== dependencies: - "@jest/types" "^26.1.0" + "@jest/types" "^26.3.0" ansi-regex "^5.0.0" ansi-styles "^4.0.0" react-is "^16.12.0" @@ -9190,9 +8332,9 @@ proto-list@~1.2.1: integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= protocols@^1.1.0, protocols@^1.4.0: - version "1.4.7" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32" - integrity sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg== + version "1.4.8" + resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" + integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg== protoduck@^5.0.1: version "5.0.1" @@ -9328,16 +8470,14 @@ read-cmd-shim@^1.0.1: graceful-fs "^4.1.2" "read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13: - version "2.1.1" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.1.tgz#16aa66c59e7d4dad6288f179dd9295fd59bb98f1" - integrity sha512-dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A== + version "2.1.2" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" + integrity sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA== dependencies: glob "^7.1.1" - json-parse-better-errors "^1.0.1" + json-parse-even-better-errors "^2.3.0" normalize-package-data "^2.0.0" npm-normalize-package-bin "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.2" read-package-tree@^5.1.6: version "5.3.1" @@ -9475,11 +8615,6 @@ readdir-scoped-modules@^1.0.0: graceful-fs "^4.1.2" once "^1.3.0" -realpath-native@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-2.0.0.tgz#7377ac429b6e1fd599dc38d08ed942d0d7beb866" - integrity sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q== - rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -9527,11 +8662,6 @@ regexp.prototype.flags@^1.3.0: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== - regexpp@^3.0.0, regexpp@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" @@ -9566,19 +8696,19 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -request-promise-core@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" - integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== dependencies: - lodash "^4.17.15" + lodash "^4.17.19" -request-promise-native@^1.0.7, request-promise-native@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" - integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== +request-promise-native@^1.0.8: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== dependencies: - request-promise-core "1.1.3" + request-promise-core "1.1.4" stealthy-require "^1.1.1" tough-cookie "^2.3.3" @@ -9657,12 +8787,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -9677,14 +8802,6 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -9726,7 +8843,7 @@ rsvp@^4.8.4: resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== -run-async@^2.2.0, run-async@^2.4.0: +run-async@^2.2.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== @@ -9738,10 +8855,10 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs@^6.4.0, rxjs@^6.5.3: - version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" - integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== +rxjs@^6.4.0: + version "6.6.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.2.tgz#8096a7ac03f2cc4fe5860ef6e572810d9e01c0d2" + integrity sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg== dependencies: tslib "^1.9.0" @@ -9762,7 +8879,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -9792,13 +8909,6 @@ sax@>=0.6.0: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -saxes@^3.1.9: - version "3.1.11" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" - integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== - dependencies: - xmlchars "^2.1.1" - saxes@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" @@ -9813,21 +8923,21 @@ semver-intersect@^1.4.0: dependencies: semver "^5.0.0" -"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@6.x, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - semver@7.x, semver@^7.1.1, semver@^7.2.1, semver@^7.2.2, semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== +semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -9894,29 +9004,29 @@ shellwords@^0.1.1: integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== side-channel@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz#df5d1abadb4e4bf4af1cd8852bf132d2f7876947" - integrity sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA== + version "1.0.3" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz#cdc46b057550bbab63706210838df5d4c19519c3" + integrity sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g== dependencies: - es-abstract "^1.17.0-next.1" - object-inspect "^1.7.0" + es-abstract "^1.18.0-next.0" + object-inspect "^1.8.0" signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== -sinon@^9.0.1, sinon@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-9.0.2.tgz#b9017e24633f4b1c98dfb6e784a5f0509f5fd85d" - integrity sha512-0uF8Q/QHkizNUmbK3LRFqx5cpTttEVXudywY9Uwzy8bTfZUhljZ7ARzSxnRHWYWtVTeh4Cw+tTb3iU21FQVO9A== +sinon@^9.0.1, sinon@^9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/sinon/-/sinon-9.0.3.tgz#bffc3ec28c936332cd2a41833547b9eed201ecff" + integrity sha512-IKo9MIM111+smz9JGwLmw5U1075n1YXeAq8YeSFlndCLhAL5KGn6bLgu7b/4AYHTV/LcEMcRm2wU2YiL55/6Pg== dependencies: "@sinonjs/commons" "^1.7.2" "@sinonjs/fake-timers" "^6.0.1" "@sinonjs/formatio" "^5.0.1" - "@sinonjs/samsam" "^5.0.3" + "@sinonjs/samsam" "^5.1.0" diff "^4.0.2" - nise "^4.0.1" + nise "^4.0.4" supports-color "^7.1.0" sisteransi@^1.0.4: @@ -10157,7 +9267,7 @@ ssri@^6.0.0, ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" -stack-utils@^1.0.1, stack-utils@^1.0.2: +stack-utils@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== @@ -10169,16 +9279,16 @@ stack-utils@^2.0.2: dependencies: escape-string-regexp "^2.0.0" -standard-version@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-8.0.2.tgz#02ed7131f83046bd04358dc54f97d42c4b2fd828" - integrity sha512-L8X9KFq2SmVmaeZgUmWHFJMOsEWpjgFAwqic6yIIoveM1kdw1vH4Io03WWxUDjypjGqGU6qUtcJoR8UvOv5w3g== +standard-version@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-9.0.0.tgz#814055add91eec8679a773768927f927183fc818" + integrity sha512-eRR04IscMP3xW9MJTykwz13HFNYs8jS33AGuDiBKgfo5YrO0qX0Nxb4rjupVwT5HDYL/aR+MBEVLjlmVFmFEDQ== dependencies: chalk "^2.4.2" - conventional-changelog "3.1.21" + conventional-changelog "3.1.23" conventional-changelog-config-spec "2.1.0" - conventional-changelog-conventionalcommits "4.3.0" - conventional-recommended-bump "6.0.9" + conventional-changelog-conventionalcommits "4.4.0" + conventional-recommended-bump "6.0.10" detect-indent "^6.0.0" detect-newline "^3.1.0" dotgitignore "^2.1.0" @@ -10230,14 +9340,6 @@ streamroller@^2.2.4: debug "^4.1.1" fs-extra "^8.1.0" -string-length@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" - integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== - dependencies: - astral-regex "^1.0.0" - strip-ansi "^5.2.0" - string-length@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" @@ -10286,7 +9388,7 @@ string.prototype.repeat@^0.2.0: resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz#aba36de08dcee6a5a337d49b2ea1da1b28fc0ecf" integrity sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8= -string.prototype.trimend@^1.0.0: +string.prototype.trimend@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== @@ -10294,25 +9396,7 @@ string.prototype.trimend@^1.0.0: define-properties "^1.1.3" es-abstract "^1.17.5" -string.prototype.trimleft@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" - integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trimstart "^1.0.0" - -string.prototype.trimright@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" - integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trimend "^1.0.0" - -string.prototype.trimstart@^1.0.0: +string.prototype.trimstart@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== @@ -10418,10 +9502,10 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@^3.0.1, strip-json-comments@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" - integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w== +strip-json-comments@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strong-log-transformer@^2.0.0: version "2.1.0" @@ -10459,9 +9543,9 @@ supports-color@^6.1.0: has-flag "^3.0.0" supports-color@^7.0.0, supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" @@ -10473,7 +9557,7 @@ supports-hyperlinks@^2.0.0: has-flag "^4.0.0" supports-color "^7.0.0" -symbol-tree@^3.2.2, symbol-tree@^3.2.4: +symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== @@ -10564,9 +9648,9 @@ tap@^12.0.1: yapool "^1.0.0" tar-stream@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.2.tgz#6d5ef1a7e5783a95ff70b69b97455a5968dc1325" - integrity sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q== + version "2.1.3" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.3.tgz#1e2022559221b7866161660f118255e20fa79e41" + integrity sha512-Z9yri56Dih8IaK8gncVPx4Wqt86NDmQTSh49XLZgjWpGZL9GK9HKParS2scqHCC4w6X9Gh2jwaU45V47XTKwVA== dependencies: bl "^4.0.1" end-of-stream "^1.4.1" @@ -10662,9 +9746,9 @@ thenify-all@^1.0.0: thenify ">= 3.1.0 < 4" "thenify@>= 3.1.0 < 4": - version "3.3.0" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839" - integrity sha1-5p44obq+lpsBCCB5eLn2K4hgSDk= + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== dependencies: any-promise "^1.0.0" @@ -10682,10 +9766,11 @@ through2@^2.0.0, through2@^2.0.2: xtend "~4.0.1" through2@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" - integrity sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww== + version "3.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" + integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== dependencies: + inherits "^2.0.4" readable-stream "2 || 3" through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: @@ -10698,14 +9783,6 @@ thunkify@^2.1.2: resolved "https://registry.yarnpkg.com/thunkify/-/thunkify-2.1.2.tgz#faa0e9d230c51acc95ca13a361ac05ca7e04553d" integrity sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0= -tiny-glob@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.6.tgz#9e056e169d9788fe8a734dfa1ff02e9b92ed7eda" - integrity sha512-A7ewMqPu1B5PWwC3m7KVgAu96Ch5LA0w4SnEN/LbDREj/gAD0nPWboRbn8YoP9ISZXqeNAlMvKSKoEuhcfK3Pw== - dependencies: - globalyzer "^0.1.0" - globrex "^0.1.1" - tmatch@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/tmatch/-/tmatch-4.0.0.tgz#ba178007f30bf6a70f37c643fca5045fb2f8c448" @@ -10826,27 +9903,12 @@ trivial-deferred@^1.0.1: resolved "https://registry.yarnpkg.com/trivial-deferred/-/trivial-deferred-1.0.1.tgz#376d4d29d951d6368a6f7a0ae85c2f4d5e0658f3" integrity sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM= -ts-jest@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.5.1.tgz#2913afd08f28385d54f2f4e828be4d261f4337c7" - integrity sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw== - dependencies: - bs-logger "0.x" - buffer-from "1.x" - fast-json-stable-stringify "2.x" - json5 "2.x" - lodash.memoize "4.x" - make-error "1.x" - micromatch "4.x" - mkdirp "0.x" - semver "6.x" - yargs-parser "18.x" - -ts-jest@^26.1.3: - version "26.1.3" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.1.3.tgz#aac928a05fdf13e3e6dfbc8caec3847442667894" - integrity sha512-beUTSvuqR9SmKQEylewqJdnXWMVGJRFqSz2M8wKJe7GBMmLZ5zw6XXKSJckbHNMxn+zdB3guN2eOucSw2gBMnw== +ts-jest@^26.2.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.3.0.tgz#6b2845045347dce394f069bb59358253bc1338a9" + integrity sha512-Jq2uKfx6bPd9+JDpZNMBJMdMQUC3sJ08acISj8NXlVgR2d5OqslEHOR2KHMgwymu8h50+lKIm0m0xj/ioYdW2Q== dependencies: + "@types/jest" "26.x" bs-logger "0.x" buffer-from "1.x" fast-json-stable-stringify "2.x" @@ -10859,9 +9921,20 @@ ts-jest@^26.1.3: yargs-parser "18.x" ts-node@^8.0.2: - version "8.10.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.1.tgz#77da0366ff8afbe733596361d2df9a60fc9c9bd3" - integrity sha512-bdNz1L4ekHiJul6SHtZWs1ujEKERJnHs4HxN7rjTyyVOFf3HaJ6sLqe6aPG62XTzAB/63pKRh5jTSWL0D7bsvw== + version "8.10.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d" + integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA== + dependencies: + arg "^4.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + +ts-node@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.0.0.tgz#e7699d2a110cc8c0d3b831715e417688683460b3" + integrity sha512-/TqB4SnererCDR/vb4S/QvSZvzQMJN8daAslg7MeaiHvD8rDZsSfXmNeNumyZZzMned72Xoq/isQljYSt8Ynfg== dependencies: arg "^4.1.0" diff "^4.0.1" @@ -10884,36 +9957,15 @@ tsconfig-paths@^3.9.0: minimist "^1.2.0" strip-bom "^3.0.0" -tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.8.1, tslib@^1.9.0: version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== -tslint@^5.20.1: - version "5.20.1" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.1.tgz#e401e8aeda0152bc44dd07e614034f3f80c67b7d" - integrity sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg== - dependencies: - "@babel/code-frame" "^7.0.0" - builtin-modules "^1.1.1" - chalk "^2.3.0" - commander "^2.12.1" - diff "^4.0.1" - glob "^7.1.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - mkdirp "^0.5.1" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.8.0" - tsutils "^2.29.0" - -tsutils@^2.29.0: - version "2.29.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" - integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== - dependencies: - tslib "^1.8.1" +tslib@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" + integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== tsutils@^3.17.1: version "3.17.1" @@ -10990,32 +10042,15 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^3.3.3: - version "3.9.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.3.tgz#d3ac8883a97c26139e42df5e93eeece33d610b8a" - integrity sha512-D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ== - -typescript@~3.8.3: - version "3.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061" - integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w== - -typescript@~3.9.6: - version "3.9.6" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.6.tgz#8f3e0198a34c3ae17091b35571d3afd31999365a" - integrity sha512-Pspx3oKAPJtjNwE92YS05HQoY7z2SFyOpHo9MqJor3BXAGNaPUs83CuVp9VISFkSjyRfiTpmKuAYGJB7S7hOxw== - -typescript@~3.9.7: +typescript@^3.3.3, typescript@~3.9.7: version "3.9.7" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== uglify-js@^3.1.4: - version "3.9.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.9.4.tgz#867402377e043c1fc7b102253a22b64e5862401b" - integrity sha512-8RZBJq5smLOa7KslsNsVcSH+KOXf1uDU8yqLeNuVKwmT0T3FA0ZoXlinQfRad7SDcbZZRZE4ov+2v71EnxNyCA== - dependencies: - commander "~2.20.3" + version "3.10.2" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.2.tgz#8cfa1209fd04199cc8a7f9930ddedb30b0f1912d" + integrity sha512-GXCYNwqoo0MbLARghYjxVBxDCnU0tLqN7IPLdHHbibCb1NI5zBkU2EPcy/GaVxc0BtTjqyGXJCINe6JMR2Dpow== uid-number@0.0.6: version "0.0.6" @@ -11066,12 +10101,10 @@ universal-user-agent@^4.0.0: dependencies: os-name "^3.1.0" -universal-user-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-5.0.0.tgz#a3182aa758069bf0e79952570ca757de3579c1d9" - integrity sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q== - dependencies: - os-name "^3.1.0" +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== universalify@^0.1.0: version "0.1.2" @@ -11148,25 +10181,20 @@ uuid@^3.0.1, uuid@^3.3.2, uuid@^3.3.3: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" - integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== - -uuid@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.2.0.tgz#cb10dd6b118e2dada7d0cd9730ba7417c93d920e" - integrity sha512-CYpGiFTUrmI6OBMkAdjSDM0k5h8SkkiTP4WAjQgDgNB1S3Ou9VBEvr6q0Kv2H1mMk7IWfxYGpMH5sd5AvcIV2Q== +uuid@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea" + integrity sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ== v8-compile-cache@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" - integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" + integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== -v8-to-istanbul@^4.1.3: - version "4.1.4" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" - integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ== +v8-to-istanbul@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-5.0.1.tgz#0608f5b49a481458625edb058488607f25498ba5" + integrity sha512-mbDNjuDajqYe3TXFk5qxcQy8L1msXNE37WTlLoqqpBfRsimbNcrlhQlDPntmECEcUvdC+AQ8CyMMf6EUx1r74Q== dependencies: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" @@ -11196,22 +10224,13 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -w3c-hr-time@^1.0.1, w3c-hr-time@^1.0.2: +w3c-hr-time@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== dependencies: browser-process-hrtime "^1.0.0" -w3c-xmlserializer@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" - integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== - dependencies: - domexception "^1.0.1" - webidl-conversions "^4.0.2" - xml-name-validator "^3.0.0" - w3c-xmlserializer@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" @@ -11243,19 +10262,19 @@ webidl-conversions@^5.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== -webidl-conversions@^6.0.0: +webidl-conversions@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: +whatwg-encoding@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== dependencies: iconv-lite "0.4.24" -whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: +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== @@ -11270,13 +10289,13 @@ whatwg-url@^7.0.0: webidl-conversions "^4.0.2" whatwg-url@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.1.0.tgz#c628acdcf45b82274ce7281ee31dd3c839791771" - integrity sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw== + version "8.2.1" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.2.1.tgz#ed73417230784b281fb2a32c3c501738b46167c3" + integrity sha512-ZmVCr6nfBeaMxEHALLEGy0LszYjpJqf6PVNQUQ1qd9Et+q7Jpygd4rGGDXgHjD8e99yLFseD69msHDM4YwPZ4A== dependencies: lodash.sortby "^4.7.0" tr46 "^2.0.2" - webidl-conversions "^5.0.0" + webidl-conversions "^6.1.0" which-boxed-primitive@^1.0.1: version "1.0.1" @@ -11338,9 +10357,9 @@ wide-align@^1.1.0: string-width "^1.0.2 || 2" windows-release@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.3.0.tgz#dce167e9f8be733f21c849ebd4d03fe66b29b9f0" - integrity sha512-2HetyTg1Y+R+rUgrKeUEhAG/ZuOmTrI1NBb3ZyAGQMYmOJjBBPe4MTodghRkmLJZHwkuPi02anbeGP+Zf401LQ== + version "3.3.3" + resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.3.3.tgz#1c10027c7225743eec6b89df160d64c2e0293999" + integrity sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg== dependencies: execa "^1.0.0" @@ -11444,10 +10463,10 @@ write@1.0.3: dependencies: mkdirp "^0.5.1" -ws@^7.0.0, ws@^7.2.3: - version "7.3.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.0.tgz#4b2f7f219b3d3737bc1a2fbf145d825b94d38ffd" - integrity sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w== +ws@^7.2.3: + version "7.3.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" + integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== xml-name-validator@^3.0.0: version "3.0.0" @@ -11477,7 +10496,7 @@ xmlbuilder@~9.0.1: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= -xmlchars@^2.1.1, xmlchars@^2.2.0: +xmlchars@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== @@ -11522,7 +10541,7 @@ yapool@^1.0.0: resolved "https://registry.yarnpkg.com/yapool/-/yapool-1.0.0.tgz#f693f29a315b50d9a9da2646a7a6645c96985b6a" integrity sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o= -yargs-parser@18.x, yargs-parser@^18.1.1, yargs-parser@^18.1.2, yargs-parser@^18.1.3: +yargs-parser@18.x, yargs-parser@^18.1.2, yargs-parser@^18.1.3: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== @@ -11579,24 +10598,7 @@ yargs@^14.2.2: y18n "^4.0.0" yargs-parser "^15.0.1" -yargs@^15.0.2, yargs@^15.3.1: - version "15.3.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" - integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.1" - -yargs@^15.4.1: +yargs@^15.0.2, yargs@^15.3.1, yargs@^15.4.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==