From 7c0ba5685d160416a324a3487980aa6c0725ca20 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2020 01:54:12 +0000 Subject: [PATCH 01/20] chore(deps): bump semver from 7.2.3 to 7.3.0 (#7335) Bumps [semver](https://github.com/npm/node-semver) from 7.2.3 to 7.3.0. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/master/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v7.2.3...v7.3.0) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- packages/@aws-cdk/cdk-assets-schema/package.json | 2 +- packages/@aws-cdk/cloud-assembly-schema/package.json | 2 +- packages/@aws-cdk/cx-api/package.json | 2 +- packages/aws-cdk/package.json | 2 +- tools/pkglint/package.json | 2 +- yarn.lock | 8 ++++---- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/@aws-cdk/cdk-assets-schema/package.json b/packages/@aws-cdk/cdk-assets-schema/package.json index 1b7d7192aaee5..d8b53b5856465 100644 --- a/packages/@aws-cdk/cdk-assets-schema/package.json +++ b/packages/@aws-cdk/cdk-assets-schema/package.json @@ -45,7 +45,7 @@ "organization": true }, "dependencies": { - "semver": "^7.2.3" + "semver": "^7.3.0" }, "jest": { "moduleFileExtensions": [ diff --git a/packages/@aws-cdk/cloud-assembly-schema/package.json b/packages/@aws-cdk/cloud-assembly-schema/package.json index 58fe503a880cc..a1fafa77d91b7 100644 --- a/packages/@aws-cdk/cloud-assembly-schema/package.json +++ b/packages/@aws-cdk/cloud-assembly-schema/package.json @@ -86,7 +86,7 @@ }, "dependencies": { "jsonschema": "^1.2.5", - "semver": "^7.2.3" + "semver": "^7.3.0" }, "awscdkio": { "announce": false diff --git a/packages/@aws-cdk/cx-api/package.json b/packages/@aws-cdk/cx-api/package.json index ebdc9f4d8916e..d54dd5fbef8aa 100644 --- a/packages/@aws-cdk/cx-api/package.json +++ b/packages/@aws-cdk/cx-api/package.json @@ -45,7 +45,7 @@ "organization": true }, "dependencies": { - "semver": "^7.2.3", + "semver": "^7.3.0", "@aws-cdk/cloud-assembly-schema": "0.0.0" }, "peerDependencies": { diff --git a/packages/aws-cdk/package.json b/packages/aws-cdk/package.json index de82d37e2fc60..d5dc5f8189907 100644 --- a/packages/aws-cdk/package.json +++ b/packages/aws-cdk/package.json @@ -84,7 +84,7 @@ "minimatch": ">=3.0", "promptly": "^3.0.3", "proxy-agent": "^3.1.1", - "semver": "^7.2.3", + "semver": "^7.3.0", "source-map-support": "^0.5.16", "table": "^5.4.6", "uuid": "^7.0.3", diff --git a/tools/pkglint/package.json b/tools/pkglint/package.json index 91cdf31f4c1a0..38be9878edbb5 100644 --- a/tools/pkglint/package.json +++ b/tools/pkglint/package.json @@ -43,7 +43,7 @@ "case": "^1.6.3", "colors": "^1.4.0", "fs-extra": "^8.1.0", - "semver": "^7.2.3", + "semver": "^7.3.0", "yargs": "^15.3.1" } } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index a7c1e63f655b2..4b176f15a5d42 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10408,10 +10408,10 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@^7.1.3, semver@^7.2.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.2.3.tgz#3641217233c6382173c76bf2c7ecd1e1c16b0d8a" - integrity sha512-utbW9Z7ZxVvwiIWkdOMLOR9G/NFXh2aRucghkVrEMJWuC++r3lCkBC3LwqBinyHzGMAJxY5tn6VakZGHObq5ig== +semver@^7.1.3, semver@^7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.0.tgz#91f7c70ec944a63e5dc7a74cde2da375d8e0853c" + integrity sha512-uyvgU/igkrMgNHwLgXvlpD9jEADbJhB0+JXSywoO47JgJ6c16iau9F9cjtc/E5o0PoqRYTiTIAPRKaYe84z6eQ== send@0.17.1: version "0.17.1" From 5fe4480c75aa9ab7ce95780731ae7bf3ae17815a Mon Sep 17 00:00:00 2001 From: "Jiale.Chan" Date: Tue, 14 Apr 2020 14:13:58 +0800 Subject: [PATCH 02/20] feat(ec2): expose blockDevices in CommonAutoScalingGroupProps (#7291) --- .../aws-autoscaling/lib/auto-scaling-group.ts | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/@aws-cdk/aws-autoscaling/lib/auto-scaling-group.ts b/packages/@aws-cdk/aws-autoscaling/lib/auto-scaling-group.ts index de5fd3eee5ddc..f2679e00cd99e 100644 --- a/packages/@aws-cdk/aws-autoscaling/lib/auto-scaling-group.ts +++ b/packages/@aws-cdk/aws-autoscaling/lib/auto-scaling-group.ts @@ -171,6 +171,20 @@ export interface CommonAutoScalingGroupProps { * @default - HealthCheck.ec2 with no grace period */ readonly healthCheck?: HealthCheck; + + /** + * Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes. + * + * Each instance that is launched has an associated root device volume, + * either an Amazon EBS volume or an instance store volume. + * You can use block device mappings to specify additional EBS volumes or + * instance store volumes to attach to an instance when it is launched. + * + * @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html + * + * @default - Uses the block device mapping of the AMI + */ + readonly blockDevices?: BlockDevice[]; } /** @@ -216,20 +230,6 @@ export interface AutoScalingGroupProps extends CommonAutoScalingGroupProps { * @default A role will automatically be created, it can be accessed via the `role` property */ readonly role?: iam.IRole; - - /** - * Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes. - * - * Each instance that is launched has an associated root device volume, - * either an Amazon EBS volume or an instance store volume. - * You can use block device mappings to specify additional EBS volumes or - * instance store volumes to attach to an instance when it is launched. - * - * @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html - * - * @default - Uses the block device mapping of the AMI - */ - readonly blockDevices?: BlockDevice[]; } abstract class AutoScalingGroupBase extends Resource implements IAutoScalingGroup { From ab8ddb1211b798ec25b62605188accdcfb3613e7 Mon Sep 17 00:00:00 2001 From: Shiv Lakshminarayan Date: Tue, 14 Apr 2020 00:15:18 -0700 Subject: [PATCH 03/20] chore(events): clear docs linter violations (#7338) the only remaining docs violations are for `RuleTargetConfig` which is `deprecated` --- packages/@aws-cdk/aws-events/lib/input.ts | 21 +++++++++++++++++++- packages/@aws-cdk/aws-events/lib/rule-ref.ts | 3 +++ packages/@aws-cdk/aws-events/lib/rule.ts | 10 ++++++++++ packages/@aws-cdk/aws-events/package.json | 10 ---------- 4 files changed, 33 insertions(+), 11 deletions(-) diff --git a/packages/@aws-cdk/aws-events/lib/input.ts b/packages/@aws-cdk/aws-events/lib/input.ts index 1e395de3418d5..f4e0a7a5ed777 100644 --- a/packages/@aws-cdk/aws-events/lib/input.ts +++ b/packages/@aws-cdk/aws-events/lib/input.ts @@ -61,23 +61,32 @@ export abstract class RuleTargetInput { export interface RuleTargetInputProperties { /** * Literal input to the target service (must be valid JSON) + * + * @default - input for the event target. If the input contains a paths map + * values wil be extracted from event and inserted into the `inputTemplate`. */ readonly input?: string; /** * JsonPath to take input from the input event + * + * @default - None. The entire matched event is passed as input */ readonly inputPath?: string; /** * Input template to insert paths map into + * + * @default - None. */ readonly inputTemplate?: string; /** * Paths map to extract values from event and insert into `inputTemplate` + * + * @default - No values extracted from event. */ - readonly inputPathsMap?: {[key: string]: string}; + readonly inputPathsMap?: { [key: string]: string }; } /** @@ -285,9 +294,16 @@ export class EventField implements IResolvable { return new EventField(path).toString(); } + /** + * Human readable display hint about the event pattern + */ public readonly displayHint: string; public readonly creationStack: string[]; + /** + * + * @param path the path to a field in the event pattern + */ private constructor(public readonly path: string) { this.displayHint = this.path.replace(/^[^a-zA-Z0-9_-]+/, '').replace(/[^a-zA-Z0-9_-]/g, '-'); Object.defineProperty(this, EVENT_FIELD_SYMBOL, { value: true }); @@ -302,6 +318,9 @@ export class EventField implements IResolvable { return Token.asString(this, { displayHint: this.displayHint }); } + /** + * Convert the path to the field in the event pattern to JSON + */ public toJSON() { return ``; } diff --git a/packages/@aws-cdk/aws-events/lib/rule-ref.ts b/packages/@aws-cdk/aws-events/lib/rule-ref.ts index 4dc3590b38743..0bea16726acf1 100644 --- a/packages/@aws-cdk/aws-events/lib/rule-ref.ts +++ b/packages/@aws-cdk/aws-events/lib/rule-ref.ts @@ -1,5 +1,8 @@ import { IResource } from '@aws-cdk/core'; +/** + * Represents a CloudWatch Event Rule + */ export interface IRule extends IResource { /** * The value of the event rule Amazon Resource Name (ARN), such as diff --git a/packages/@aws-cdk/aws-events/lib/rule.ts b/packages/@aws-cdk/aws-events/lib/rule.ts index 5272350296e1f..e8e7cfcfa3431 100644 --- a/packages/@aws-cdk/aws-events/lib/rule.ts +++ b/packages/@aws-cdk/aws-events/lib/rule.ts @@ -7,6 +7,9 @@ import { Schedule } from './schedule'; import { IRuleTarget } from './target'; import { mergeEventPattern } from './util'; +/** + * Properties for defining a CloudWatch Event Rule + */ export interface RuleProps { /** * A description of the rule's purpose. @@ -85,6 +88,13 @@ export interface RuleProps { */ export class Rule extends Resource implements IRule { + /** + * Import an existing CloudWatch Event Rule provided an ARN + * + * @param scope The parent creating construct (usually `this`). + * @param id The construct's name. + * @param eventRuleArn Event Rule ARN (i.e. arn:aws:events:::rule/MyScheduledRule). + */ public static fromEventRuleArn(scope: Construct, id: string, eventRuleArn: string): IRule { const parts = Stack.of(scope).parseArn(eventRuleArn); diff --git a/packages/@aws-cdk/aws-events/package.json b/packages/@aws-cdk/aws-events/package.json index 7f74f0029daf8..0f573de091e53 100644 --- a/packages/@aws-cdk/aws-events/package.json +++ b/packages/@aws-cdk/aws-events/package.json @@ -88,16 +88,6 @@ "exclude": [ "from-method:@aws-cdk/aws-events.Rule", "no-unused-type:@aws-cdk/aws-events.OnEventOptions", - "docs-public-apis:@aws-cdk/aws-events.RuleProps", - "props-default-doc:@aws-cdk/aws-events.RuleTargetInputProperties.inputTemplate", - "props-default-doc:@aws-cdk/aws-events.RuleTargetInputProperties.inputPathsMap", - "props-default-doc:@aws-cdk/aws-events.RuleTargetInputProperties.inputPath", - "docs-public-apis:@aws-cdk/aws-events.EventField.displayHint", - "docs-public-apis:@aws-cdk/aws-events.EventField.path", - "docs-public-apis:@aws-cdk/aws-events.EventField.toJSON", - "docs-public-apis:@aws-cdk/aws-events.Rule.fromEventRuleArn", - "docs-public-apis:@aws-cdk/aws-events.IRule", - "props-default-doc:@aws-cdk/aws-events.RuleTargetInputProperties.input", "props-default-doc:@aws-cdk/aws-events.RuleTargetConfig.ecsParameters", "props-default-doc:@aws-cdk/aws-events.RuleTargetConfig.kinesisParameters", "props-default-doc:@aws-cdk/aws-events.RuleTargetConfig.role", From 560ae0d88506ce3ac97625dcfe5f3db53667295b Mon Sep 17 00:00:00 2001 From: Shiv Lakshminarayan Date: Tue, 14 Apr 2020 01:33:23 -0700 Subject: [PATCH 04/20] only moving current code in this commit as the `lib` folder is getting a little unwieldy. --- .../lib/{ => batch}/run-batch-job.ts | 2 +- .../lib/{ => dynamodb}/call-dynamodb.ts | 2 +- .../lib/{ => ecs}/run-ecs-ec2-task.ts | 0 .../lib/{ => ecs}/run-ecs-fargate-task.ts | 0 .../lib/{ => ecs}/run-ecs-task-base-types.ts | 0 .../lib/{ => ecs}/run-ecs-task-base.ts | 2 +- .../lib/{ => emr}/emr-add-step.ts | 2 +- .../lib/{ => emr}/emr-cancel-step.ts | 2 +- .../lib/{ => emr}/emr-create-cluster.ts | 2 +- .../emr-modify-instance-fleet-by-name.ts | 2 +- .../emr-modify-instance-group-by-name.ts | 2 +- .../emr-set-cluster-termination-protection.ts | 2 +- .../lib/{ => emr}/emr-terminate-cluster.ts | 2 +- .../lib/{ => glue}/run-glue-job-task.ts | 2 +- .../aws-stepfunctions-tasks/lib/index.ts | 42 +++++++++---------- .../lib/{ => lambda}/invoke-function.ts | 0 .../lib/{ => lambda}/run-lambda-task.ts | 2 +- .../sagemaker-task-base-types.ts | 0 .../{ => sagemaker}/sagemaker-train-task.ts | 2 +- .../sagemaker-transform-task.ts | 2 +- .../lib/{ => sns}/publish-to-topic.ts | 2 +- .../lib/{ => sqs}/send-to-queue.ts | 2 +- .../{ => batch}/batchjob-image/Dockerfile | 0 .../test/{ => batch}/batchjob-image/index.py | 0 .../integ.run-batch-job.expected.json | 0 .../test/{ => batch}/integ.run-batch-job.ts | 2 +- .../test/{ => batch}/run-batch-job.test.ts | 2 +- .../test/{ => dynamodb}/call-dynamodb.test.ts | 2 +- .../integ.call-dynamodb.expected.json | 0 .../{ => dynamodb}/integ.call-dynamodb.ts | 2 +- .../test/{ => ecs}/ecs-tasks.test.ts | 2 +- .../{ => ecs}/eventhandler-image/Dockerfile | 0 .../{ => ecs}/eventhandler-image/index.py | 0 .../{ => ecs}/integ.ec2-task.expected.json | 0 .../test/{ => ecs}/integ.ec2-task.ts | 2 +- .../integ.fargate-task.expected.json | 0 .../test/{ => ecs}/integ.fargate-task.ts | 2 +- .../test/{ => emr}/emr-add-step.test.ts | 2 +- .../test/{ => emr}/emr-cancel-step.test.ts | 2 +- .../test/{ => emr}/emr-create-cluster.test.ts | 2 +- .../emr-modify-instance-fleet-by-name.test.ts | 2 +- .../emr-modify-instance-group-by-name.test.ts | 2 +- ...set-cluster-termination-protection.test.ts | 2 +- .../{ => emr}/emr-terminate-cluster.test.ts | 2 +- .../{ => glue}/integ.glue-task.expected.json | 0 .../test/{ => glue}/integ.glue-task.ts | 2 +- .../test/{ => glue}/my-glue-script/job.py | 0 .../test/{ => glue}/run-glue-job-task.test.ts | 2 +- .../integ.invoke-function.expected.json | 0 .../{ => lambda}/integ.invoke-function.ts | 4 +- .../test/{ => lambda}/invoke-function.test.ts | 2 +- .../{ => lambda}/my-lambda-handler/index.py | 0 .../test/{ => lambda}/run-lambda-task.test.ts | 2 +- .../integ.sagemaker.expected.json | 0 .../test/{ => sagemaker}/integ.sagemaker.ts | 2 +- .../sagemaker-training-job.test.ts | 2 +- .../sagemaker-transform-job.test.ts | 2 +- .../test/{ => sns}/publish-to-topic.test.ts | 2 +- .../test/{ => sqs}/send-to-queue.test.ts | 2 +- 59 files changed, 62 insertions(+), 62 deletions(-) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => batch}/run-batch-job.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => dynamodb}/call-dynamodb.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => ecs}/run-ecs-ec2-task.ts (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => ecs}/run-ecs-fargate-task.ts (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => ecs}/run-ecs-task-base-types.ts (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => ecs}/run-ecs-task-base.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => emr}/emr-add-step.ts (98%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => emr}/emr-cancel-step.ts (95%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => emr}/emr-create-cluster.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => emr}/emr-modify-instance-fleet-by-name.ts (97%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => emr}/emr-modify-instance-group-by-name.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => emr}/emr-set-cluster-termination-protection.ts (95%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => emr}/emr-terminate-cluster.ts (97%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => glue}/run-glue-job-task.ts (98%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => lambda}/invoke-function.ts (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => lambda}/run-lambda-task.ts (98%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => sagemaker}/sagemaker-task-base-types.ts (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => sagemaker}/sagemaker-train-task.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => sagemaker}/sagemaker-transform-task.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => sns}/publish-to-topic.ts (98%) rename packages/@aws-cdk/aws-stepfunctions-tasks/lib/{ => sqs}/send-to-queue.ts (98%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => batch}/batchjob-image/Dockerfile (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => batch}/batchjob-image/index.py (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => batch}/integ.run-batch-job.expected.json (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => batch}/integ.run-batch-job.ts (98%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => batch}/run-batch-job.test.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => dynamodb}/call-dynamodb.test.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => dynamodb}/integ.call-dynamodb.expected.json (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => dynamodb}/integ.call-dynamodb.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => ecs}/ecs-tasks.test.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => ecs}/eventhandler-image/Dockerfile (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => ecs}/eventhandler-image/index.py (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => ecs}/integ.ec2-task.expected.json (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => ecs}/integ.ec2-task.ts (97%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => ecs}/integ.fargate-task.expected.json (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => ecs}/integ.fargate-task.ts (97%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => emr}/emr-add-step.test.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => emr}/emr-cancel-step.test.ts (98%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => emr}/emr-create-cluster.test.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => emr}/emr-modify-instance-fleet-by-name.test.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => emr}/emr-modify-instance-group-by-name.test.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => emr}/emr-set-cluster-termination-protection.test.ts (98%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => emr}/emr-terminate-cluster.test.ts (98%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => glue}/integ.glue-task.expected.json (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => glue}/integ.glue-task.ts (98%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => glue}/my-glue-script/job.py (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => glue}/run-glue-job-task.test.ts (98%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => lambda}/integ.invoke-function.expected.json (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => lambda}/integ.invoke-function.ts (94%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => lambda}/invoke-function.test.ts (97%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => lambda}/my-lambda-handler/index.py (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => lambda}/run-lambda-task.test.ts (98%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => sagemaker}/integ.sagemaker.expected.json (100%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => sagemaker}/integ.sagemaker.ts (94%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => sagemaker}/sagemaker-training-job.test.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => sagemaker}/sagemaker-transform-job.test.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => sns}/publish-to-topic.test.ts (99%) rename packages/@aws-cdk/aws-stepfunctions-tasks/test/{ => sqs}/send-to-queue.test.ts (99%) diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-batch-job.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/batch/run-batch-job.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-batch-job.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/batch/run-batch-job.ts index bafae07d10628..62e5b6a7862a4 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-batch-job.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/batch/run-batch-job.ts @@ -3,7 +3,7 @@ import * as ec2 from '@aws-cdk/aws-ec2'; import * as iam from '@aws-cdk/aws-iam'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import { Duration, Stack, withResolved } from '@aws-cdk/core'; -import { getResourceArn } from './resource-arn-suffix'; +import { getResourceArn } from '../resource-arn-suffix'; /** * The overrides that should be sent to a container. diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/call-dynamodb.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/dynamodb/call-dynamodb.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/call-dynamodb.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/dynamodb/call-dynamodb.ts index 837b6df51b320..7bca4f526c801 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/call-dynamodb.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/dynamodb/call-dynamodb.ts @@ -1,7 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import { Stack, withResolved } from '@aws-cdk/core'; -import { getResourceArn } from './resource-arn-suffix'; +import { getResourceArn } from '../resource-arn-suffix'; /** * Determines the level of detail about provisioned throughput consumption that is returned. diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-ecs-ec2-task.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/ecs/run-ecs-ec2-task.ts similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-ecs-ec2-task.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/ecs/run-ecs-ec2-task.ts diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-ecs-fargate-task.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/ecs/run-ecs-fargate-task.ts similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-ecs-fargate-task.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/ecs/run-ecs-fargate-task.ts diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-ecs-task-base-types.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/ecs/run-ecs-task-base-types.ts similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-ecs-task-base-types.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/ecs/run-ecs-task-base-types.ts diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-ecs-task-base.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/ecs/run-ecs-task-base.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-ecs-task-base.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/ecs/run-ecs-task-base.ts index 028d6e89bb807..0bf318ee04260 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-ecs-task-base.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/ecs/run-ecs-task-base.ts @@ -3,7 +3,7 @@ import * as ecs from '@aws-cdk/aws-ecs'; import * as iam from '@aws-cdk/aws-iam'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; -import { getResourceArn } from './resource-arn-suffix'; +import { getResourceArn } from '../resource-arn-suffix'; import { ContainerOverride } from './run-ecs-task-base-types'; /** diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-add-step.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-add-step.ts similarity index 98% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-add-step.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-add-step.ts index 0685325320cae..8326be5e8e6aa 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-add-step.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-add-step.ts @@ -1,7 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import { Aws, Stack } from '@aws-cdk/core'; -import { getResourceArn } from './resource-arn-suffix'; +import { getResourceArn } from '../resource-arn-suffix'; /** * The action to take when the cluster step fails. diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-cancel-step.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-cancel-step.ts similarity index 95% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-cancel-step.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-cancel-step.ts index ead7af3c684cc..0aae88aafde6e 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-cancel-step.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-cancel-step.ts @@ -1,7 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import { Aws } from '@aws-cdk/core'; -import { getResourceArn } from './resource-arn-suffix'; +import { getResourceArn } from '../resource-arn-suffix'; /** * Properties for EmrCancelStep diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-create-cluster.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-create-cluster.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-create-cluster.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-create-cluster.ts index 0c7e350244d6c..10125b2c4c570 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-create-cluster.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-create-cluster.ts @@ -1,7 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; -import { getResourceArn } from './resource-arn-suffix'; +import { getResourceArn } from '../resource-arn-suffix'; /** * Properties for EmrCreateCluster diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-modify-instance-fleet-by-name.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-modify-instance-fleet-by-name.ts similarity index 97% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-modify-instance-fleet-by-name.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-modify-instance-fleet-by-name.ts index d5712f7de1b8c..4f796e80dcb09 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-modify-instance-fleet-by-name.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-modify-instance-fleet-by-name.ts @@ -1,7 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import { Aws } from '@aws-cdk/core'; -import { getResourceArn } from './resource-arn-suffix'; +import { getResourceArn } from '../resource-arn-suffix'; /** * Properties for EmrModifyInstanceFleetByName diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-modify-instance-group-by-name.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-modify-instance-group-by-name.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-modify-instance-group-by-name.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-modify-instance-group-by-name.ts index 7c4d8e0e47adc..88ab28913ff80 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-modify-instance-group-by-name.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-modify-instance-group-by-name.ts @@ -1,8 +1,8 @@ import * as iam from '@aws-cdk/aws-iam'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; +import { getResourceArn } from '../resource-arn-suffix'; import { EmrCreateCluster } from './emr-create-cluster'; -import { getResourceArn } from './resource-arn-suffix'; /** * Properties for EmrModifyInstanceGroupByName diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-set-cluster-termination-protection.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-set-cluster-termination-protection.ts similarity index 95% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-set-cluster-termination-protection.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-set-cluster-termination-protection.ts index e7e856392c46f..5941641bcabb5 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-set-cluster-termination-protection.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-set-cluster-termination-protection.ts @@ -1,7 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import { Aws } from '@aws-cdk/core'; -import { getResourceArn } from './resource-arn-suffix'; +import { getResourceArn } from '../resource-arn-suffix'; /** * Properties for EmrSetClusterTerminationProtection diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-terminate-cluster.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-terminate-cluster.ts similarity index 97% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-terminate-cluster.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-terminate-cluster.ts index 0529403440250..9f1a6f4fdf3fc 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr-terminate-cluster.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/emr/emr-terminate-cluster.ts @@ -1,7 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import { Aws, Stack } from '@aws-cdk/core'; -import { getResourceArn } from './resource-arn-suffix'; +import { getResourceArn } from '../resource-arn-suffix'; /** * Properties for EmrTerminateCluster diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-glue-job-task.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/glue/run-glue-job-task.ts similarity index 98% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-glue-job-task.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/glue/run-glue-job-task.ts index 91cb712733f58..925139f12a6ce 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-glue-job-task.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/glue/run-glue-job-task.ts @@ -1,7 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import { Duration, Stack } from '@aws-cdk/core'; -import { getResourceArn } from './resource-arn-suffix'; +import { getResourceArn } from '../resource-arn-suffix'; /** * Properties for RunGlueJobTask diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/index.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/index.ts index 7ee9c418a1b89..6c373d8bafad5 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/index.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/index.ts @@ -1,24 +1,24 @@ -export * from './invoke-function'; -export * from './run-lambda-task'; +export * from './lambda/invoke-function'; +export * from './lambda/run-lambda-task'; export * from './invoke-activity'; -export * from './run-ecs-task-base'; // Remove this once we can -export * from './run-ecs-task-base-types'; -export * from './publish-to-topic'; -export * from './send-to-queue'; -export * from './run-ecs-ec2-task'; -export * from './run-ecs-fargate-task'; -export * from './sagemaker-task-base-types'; -export * from './sagemaker-train-task'; -export * from './sagemaker-transform-task'; +export * from './ecs/run-ecs-task-base'; // Remove this once we can +export * from './ecs/run-ecs-task-base-types'; +export * from './sns/publish-to-topic'; +export * from './sqs/send-to-queue'; +export * from './ecs/run-ecs-ec2-task'; +export * from './ecs/run-ecs-fargate-task'; +export * from './sagemaker/sagemaker-task-base-types'; +export * from './sagemaker/sagemaker-train-task'; +export * from './sagemaker/sagemaker-transform-task'; export * from './start-execution'; export * from './evaluate-expression'; -export * from './emr-create-cluster'; -export * from './emr-set-cluster-termination-protection'; -export * from './emr-terminate-cluster'; -export * from './emr-add-step'; -export * from './emr-cancel-step'; -export * from './emr-modify-instance-fleet-by-name'; -export * from './emr-modify-instance-group-by-name'; -export * from './run-glue-job-task'; -export * from './run-batch-job'; -export * from './call-dynamodb'; +export * from './emr/emr-create-cluster'; +export * from './emr/emr-set-cluster-termination-protection'; +export * from './emr/emr-terminate-cluster'; +export * from './emr/emr-add-step'; +export * from './emr/emr-cancel-step'; +export * from './emr/emr-modify-instance-fleet-by-name'; +export * from './emr/emr-modify-instance-group-by-name'; +export * from './glue/run-glue-job-task'; +export * from './batch/run-batch-job'; +export * from './dynamodb/call-dynamodb'; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/invoke-function.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/lambda/invoke-function.ts similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/invoke-function.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/lambda/invoke-function.ts diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-lambda-task.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/lambda/run-lambda-task.ts similarity index 98% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-lambda-task.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/lambda/run-lambda-task.ts index 4cb7f030e2db6..a567a94e52466 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/run-lambda-task.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/lambda/run-lambda-task.ts @@ -1,7 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as lambda from '@aws-cdk/aws-lambda'; import * as sfn from '@aws-cdk/aws-stepfunctions'; -import { getResourceArn } from './resource-arn-suffix'; +import { getResourceArn } from '../resource-arn-suffix'; /** * Properties for RunLambdaTask diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker-task-base-types.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker/sagemaker-task-base-types.ts similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker-task-base-types.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker/sagemaker-task-base-types.ts diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker-train-task.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker/sagemaker-train-task.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker-train-task.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker/sagemaker-train-task.ts index dbb5f1e7bcf90..829d8a789acad 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker-train-task.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker/sagemaker-train-task.ts @@ -2,7 +2,7 @@ import * as ec2 from '@aws-cdk/aws-ec2'; import * as iam from '@aws-cdk/aws-iam'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import { Duration, Lazy, Stack } from '@aws-cdk/core'; -import { getResourceArn } from './resource-arn-suffix'; +import { getResourceArn } from '../resource-arn-suffix'; import { AlgorithmSpecification, Channel, InputMode, OutputDataConfig, ResourceConfig, S3DataType, StoppingCondition, VpcConfig, } from './sagemaker-task-base-types'; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker-transform-task.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker/sagemaker-transform-task.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker-transform-task.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker/sagemaker-transform-task.ts index d5acdd66604fb..dec9dfbe1a2c6 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker-transform-task.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/sagemaker/sagemaker-transform-task.ts @@ -2,7 +2,7 @@ import * as ec2 from '@aws-cdk/aws-ec2'; import * as iam from '@aws-cdk/aws-iam'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import { Stack } from '@aws-cdk/core'; -import { getResourceArn } from './resource-arn-suffix'; +import { getResourceArn } from '../resource-arn-suffix'; import { BatchStrategy, S3DataType, TransformInput, TransformOutput, TransformResources } from './sagemaker-task-base-types'; /** diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/publish-to-topic.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/sns/publish-to-topic.ts similarity index 98% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/publish-to-topic.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/sns/publish-to-topic.ts index 69ff42a87f518..4384ae306a2f4 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/publish-to-topic.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/sns/publish-to-topic.ts @@ -1,7 +1,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as sns from '@aws-cdk/aws-sns'; import * as sfn from '@aws-cdk/aws-stepfunctions'; -import { getResourceArn } from './resource-arn-suffix'; +import { getResourceArn } from '../resource-arn-suffix'; /** * Properties for PublishTask diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/send-to-queue.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/sqs/send-to-queue.ts similarity index 98% rename from packages/@aws-cdk/aws-stepfunctions-tasks/lib/send-to-queue.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/lib/sqs/send-to-queue.ts index 960465927e6f5..b25c920f56910 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/lib/send-to-queue.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/lib/sqs/send-to-queue.ts @@ -2,7 +2,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as sqs from '@aws-cdk/aws-sqs'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import { Duration } from '@aws-cdk/core'; -import { getResourceArn } from './resource-arn-suffix'; +import { getResourceArn } from '../resource-arn-suffix'; /** * Properties for SendMessageTask diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batchjob-image/Dockerfile b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/batchjob-image/Dockerfile similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/batchjob-image/Dockerfile rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/batchjob-image/Dockerfile diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/batchjob-image/index.py b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/batchjob-image/index.py similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/batchjob-image/index.py rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/batchjob-image/index.py diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.run-batch-job.expected.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/integ.run-batch-job.expected.json similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.run-batch-job.expected.json rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/integ.run-batch-job.expected.json diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.run-batch-job.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/integ.run-batch-job.ts similarity index 98% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.run-batch-job.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/integ.run-batch-job.ts index ecffd83190a13..72f37a92e9440 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.run-batch-job.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/integ.run-batch-job.ts @@ -4,7 +4,7 @@ import * as ecs from '@aws-cdk/aws-ecs'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; import * as path from 'path'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; /* * Stack verification steps: diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/run-batch-job.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.test.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/run-batch-job.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.test.ts index afe6f4a11cef6..0d4b3cae26dff 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/run-batch-job.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/batch/run-batch-job.test.ts @@ -4,7 +4,7 @@ import * as ecs from '@aws-cdk/aws-ecs'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; import * as path from 'path'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; let stack: cdk.Stack; let batchJobDefinition: batch.IJobDefinition; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/call-dynamodb.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/dynamodb/call-dynamodb.test.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/call-dynamodb.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/dynamodb/call-dynamodb.test.ts index 3e2dfa56b1ffc..550a2a2aad72f 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/call-dynamodb.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/dynamodb/call-dynamodb.test.ts @@ -1,6 +1,6 @@ import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; let stack: cdk.Stack; const TABLE_NAME = 'SOME_TABLE'; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.call-dynamodb.expected.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/dynamodb/integ.call-dynamodb.expected.json similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.call-dynamodb.expected.json rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/dynamodb/integ.call-dynamodb.expected.json diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.call-dynamodb.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/dynamodb/integ.call-dynamodb.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.call-dynamodb.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/dynamodb/integ.call-dynamodb.ts index 7a288c705bb4f..fec9fa5dde111 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.call-dynamodb.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/dynamodb/integ.call-dynamodb.ts @@ -1,6 +1,6 @@ import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; /** * Pre verification steps: diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs-tasks.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ecs-tasks.test.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs-tasks.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ecs-tasks.test.ts index b435d826a6c1d..81392057adebc 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs-tasks.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/ecs-tasks.test.ts @@ -3,7 +3,7 @@ import * as ec2 from '@aws-cdk/aws-ec2'; import * as ecs from '@aws-cdk/aws-ecs'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import { Stack } from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; let stack: Stack; let vpc: ec2.Vpc; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/eventhandler-image/Dockerfile b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/eventhandler-image/Dockerfile similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/eventhandler-image/Dockerfile rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/eventhandler-image/Dockerfile diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/eventhandler-image/index.py b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/eventhandler-image/index.py similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/eventhandler-image/index.py rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/eventhandler-image/index.py diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.ec2-task.expected.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/integ.ec2-task.expected.json similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.ec2-task.expected.json rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/integ.ec2-task.expected.json diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.ec2-task.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/integ.ec2-task.ts similarity index 97% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.ec2-task.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/integ.ec2-task.ts index 512dd7df4cdca..8bc77f462bdc5 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.ec2-task.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/integ.ec2-task.ts @@ -3,7 +3,7 @@ import * as ecs from '@aws-cdk/aws-ecs'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; import * as path from 'path'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; const app = new cdk.App(); const stack = new cdk.Stack(app, 'aws-ecs-integ2', { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.fargate-task.expected.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/integ.fargate-task.expected.json similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.fargate-task.expected.json rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/integ.fargate-task.expected.json diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.fargate-task.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/integ.fargate-task.ts similarity index 97% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.fargate-task.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/integ.fargate-task.ts index 4b33c69e0be52..cf112836598f4 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.fargate-task.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/ecs/integ.fargate-task.ts @@ -3,7 +3,7 @@ import * as ecs from '@aws-cdk/aws-ecs'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; import * as path from 'path'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; const app = new cdk.App(); const stack = new cdk.Stack(app, 'aws-ecs-integ2', { diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-add-step.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-add-step.test.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-add-step.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-add-step.test.ts index 653e6a68d6b91..a21b65a974ef8 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-add-step.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-add-step.test.ts @@ -1,6 +1,6 @@ import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; let stack: cdk.Stack; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-cancel-step.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-cancel-step.test.ts similarity index 98% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-cancel-step.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-cancel-step.test.ts index 2c193c029d997..e643a6e1d9908 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-cancel-step.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-cancel-step.test.ts @@ -1,6 +1,6 @@ import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; let stack: cdk.Stack; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-create-cluster.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-create-cluster.test.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-create-cluster.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-create-cluster.test.ts index f2222c7affa5d..a3979f46590c0 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-create-cluster.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-create-cluster.test.ts @@ -2,7 +2,7 @@ import '@aws-cdk/assert/jest'; import * as iam from '@aws-cdk/aws-iam'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; let stack: cdk.Stack; let clusterRole: iam.Role; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-modify-instance-fleet-by-name.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-modify-instance-fleet-by-name.test.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-modify-instance-fleet-by-name.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-modify-instance-fleet-by-name.test.ts index a70c57f69575c..21365fb786769 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-modify-instance-fleet-by-name.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-modify-instance-fleet-by-name.test.ts @@ -1,6 +1,6 @@ import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; let stack: cdk.Stack; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-modify-instance-group-by-name.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-modify-instance-group-by-name.test.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-modify-instance-group-by-name.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-modify-instance-group-by-name.test.ts index 9fa4b2ca40371..66ba1fe15eb9f 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-modify-instance-group-by-name.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-modify-instance-group-by-name.test.ts @@ -1,6 +1,6 @@ import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; let stack: cdk.Stack; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-set-cluster-termination-protection.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-set-cluster-termination-protection.test.ts similarity index 98% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-set-cluster-termination-protection.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-set-cluster-termination-protection.test.ts index 6148d472c8e3b..f847bcd51c31b 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-set-cluster-termination-protection.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-set-cluster-termination-protection.test.ts @@ -1,6 +1,6 @@ import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; let stack: cdk.Stack; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-terminate-cluster.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-terminate-cluster.test.ts similarity index 98% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-terminate-cluster.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-terminate-cluster.test.ts index 78b1018b8ee40..4a200e3fe8186 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr-terminate-cluster.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/emr/emr-terminate-cluster.test.ts @@ -1,6 +1,6 @@ import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; let stack: cdk.Stack; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.glue-task.expected.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/integ.glue-task.expected.json similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.glue-task.expected.json rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/integ.glue-task.expected.json diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.glue-task.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/integ.glue-task.ts similarity index 98% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.glue-task.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/integ.glue-task.ts index be9648a5def9e..12dc7b2503476 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.glue-task.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/integ.glue-task.ts @@ -4,7 +4,7 @@ import * as assets from '@aws-cdk/aws-s3-assets'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; import * as path from 'path'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; /* * Stack verification steps: diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/my-glue-script/job.py b/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/my-glue-script/job.py similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/my-glue-script/job.py rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/my-glue-script/job.py diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/run-glue-job-task.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/run-glue-job-task.test.ts similarity index 98% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/run-glue-job-task.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/run-glue-job-task.test.ts index ed1856430f0e9..556708fa343c4 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/run-glue-job-task.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/glue/run-glue-job-task.test.ts @@ -1,7 +1,7 @@ import '@aws-cdk/assert/jest'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import { Duration, Stack } from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; const jobName = 'GlueJob'; let stack: Stack; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.invoke-function.expected.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/integ.invoke-function.expected.json similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.invoke-function.expected.json rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/integ.invoke-function.expected.json diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.invoke-function.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/integ.invoke-function.ts similarity index 94% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.invoke-function.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/integ.invoke-function.ts index 75e1489d67c12..a59e536e83ab9 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.invoke-function.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/integ.invoke-function.ts @@ -1,8 +1,8 @@ +import { Code, Function, Runtime } from '@aws-cdk/aws-lambda'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; import * as path from 'path'; -import { Code, Function, Runtime } from '../../aws-lambda/lib'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; const app = new cdk.App(); const stack = new cdk.Stack(app, 'aws-stepfunctions-integ'); diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/invoke-function.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke-function.test.ts similarity index 97% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/invoke-function.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke-function.test.ts index 2bd60b28050ba..674fdf83d7835 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/invoke-function.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/invoke-function.test.ts @@ -2,7 +2,7 @@ import '@aws-cdk/assert/jest'; import * as lambda from '@aws-cdk/aws-lambda'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import { Stack } from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; let stack: Stack; let fn: lambda.Function; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/my-lambda-handler/index.py b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/my-lambda-handler/index.py similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/my-lambda-handler/index.py rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/my-lambda-handler/index.py diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/run-lambda-task.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/run-lambda-task.test.ts similarity index 98% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/run-lambda-task.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/run-lambda-task.test.ts index 81d3e019aea8f..e3fb64bca8f01 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/run-lambda-task.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/lambda/run-lambda-task.test.ts @@ -2,7 +2,7 @@ import '@aws-cdk/assert/jest'; import * as lambda from '@aws-cdk/aws-lambda'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import { Stack } from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; let stack: Stack; let fn: lambda.Function; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.sagemaker.expected.json b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/integ.sagemaker.expected.json similarity index 100% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.sagemaker.expected.json rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/integ.sagemaker.expected.json diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.sagemaker.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/integ.sagemaker.ts similarity index 94% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.sagemaker.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/integ.sagemaker.ts index 53e39e9a59b2d..03f992d451e57 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/integ.sagemaker.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/integ.sagemaker.ts @@ -2,7 +2,7 @@ import { Key } from '@aws-cdk/aws-kms'; import { Bucket, BucketEncryption } from '@aws-cdk/aws-s3'; import { StateMachine, Task } from '@aws-cdk/aws-stepfunctions'; import { App, RemovalPolicy, Stack } from '@aws-cdk/core'; -import { S3Location, SagemakerTrainTask } from '../lib'; +import { S3Location, SagemakerTrainTask } from '../../lib'; const app = new App(); const stack = new Stack(app, 'integ-stepfunctions-sagemaker'); diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker-training-job.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/sagemaker-training-job.test.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker-training-job.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/sagemaker-training-job.test.ts index 97ef638419c2e..f428a4c11367a 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker-training-job.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/sagemaker-training-job.test.ts @@ -5,7 +5,7 @@ import * as kms from '@aws-cdk/aws-kms'; import * as s3 from '@aws-cdk/aws-s3'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; let stack: cdk.Stack; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker-transform-job.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/sagemaker-transform-job.test.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker-transform-job.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/sagemaker-transform-job.test.ts index 9bb0905de50ee..f13267f174f69 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker-transform-job.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sagemaker/sagemaker-transform-job.test.ts @@ -4,7 +4,7 @@ import * as iam from '@aws-cdk/aws-iam'; import * as kms from '@aws-cdk/aws-kms'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; let stack: cdk.Stack; let role: iam.Role; diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/publish-to-topic.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sns/publish-to-topic.test.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/publish-to-topic.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/sns/publish-to-topic.test.ts index 6d0a1b8874aec..d38571ef484fa 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/publish-to-topic.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sns/publish-to-topic.test.ts @@ -1,7 +1,7 @@ import * as sns from '@aws-cdk/aws-sns'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; test('Publish literal message to SNS topic', () => { // GIVEN diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/test/send-to-queue.test.ts b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sqs/send-to-queue.test.ts similarity index 99% rename from packages/@aws-cdk/aws-stepfunctions-tasks/test/send-to-queue.test.ts rename to packages/@aws-cdk/aws-stepfunctions-tasks/test/sqs/send-to-queue.test.ts index 8a333ce0686a6..ad4f62dfc43f4 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/test/send-to-queue.test.ts +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/test/sqs/send-to-queue.test.ts @@ -1,7 +1,7 @@ import * as sqs from '@aws-cdk/aws-sqs'; import * as sfn from '@aws-cdk/aws-stepfunctions'; import * as cdk from '@aws-cdk/core'; -import * as tasks from '../lib'; +import * as tasks from '../../lib'; let stack: cdk.Stack; let queue: sqs.Queue; From 2d3e61225c7e9d4964e57212c1f6b7e0116717ed Mon Sep 17 00:00:00 2001 From: flemjame-at-amazon <57235867+flemjame-at-amazon@users.noreply.github.com> Date: Tue, 14 Apr 2020 05:07:25 -0400 Subject: [PATCH 05/20] feat(ec2): filtering selected subnets by availability zone This allows a user to specify that their subnet selection should only return subnets that are in the specified availability zones. I added this to provide a native solution to the problem of VPC endpoint services not existing in all AZs. The way CDK currently creates VPC endpoints, it places one in every AZ, which for some services results in this CloudFormation error on deployment: > The VPC endpoint service <-service name-> does not support the availability zone of the subnet CDK cannot currently know the subnets in advance, so I added functionality to SubnetSelection to allow for choosing the availability zones, like so: ```ts new InterfaceVpcEndpoint(stack, "VPC Endpoint", { vpc, service: new InterfaceVpcEndpointService("com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc", 443), subnets: { subnetType: SubnetType.ISOLATED, availabilityZones: ["us-east-1a", "us-east-1c"] } ``` This provides the user a way to solve this problem, because they can get the endpoint service availability zones from the AWS console. --- packages/@aws-cdk/aws-ec2/README.md | 84 ++++++++++++++++++++-- packages/@aws-cdk/aws-ec2/lib/vpc.ts | 59 +++++++++++---- packages/@aws-cdk/aws-ec2/test/test.vpc.ts | 69 +++++++++++++++++- 3 files changed, 192 insertions(+), 20 deletions(-) diff --git a/packages/@aws-cdk/aws-ec2/README.md b/packages/@aws-cdk/aws-ec2/README.md index 99e883ed3f6bf..dfc02f4b3fe28 100644 --- a/packages/@aws-cdk/aws-ec2/README.md +++ b/packages/@aws-cdk/aws-ec2/README.md @@ -88,6 +88,63 @@ itself to 2 Availability Zones. Therefore, to get the VPC to spread over 3 or more availability zones, you must specify the environment where the stack will be deployed. +### Choosing subnets for resources + +When creating resources that create Elastic Network Interfaces (such as +databases or instances), there is an option to choose which subnets to place +them in. For example, a VPC endpoint by default is placed into a subnet in +every availability zone, but you can override which subnets to use. The property +is typically called one of `subnets`, `vpcSubnets` or `subnetSelection`. + +The example below will place the endpoint into two AZs (`us-east-1a` and `us-east-1c`), +in Isolated subnets: + +```ts +new InterfaceVpcEndpoint(stack, 'VPC Endpoint', { + vpc, + service: new InterfaceVpcEndpointService('com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc', 443), + subnets: { + subnetType: SubnetType.ISOLATED, + availabilityZones: ['us-east-1a', 'us-east-1c'] + } +}); +``` + +You can also specify specific subnet objects for granular control: + +```ts +new InterfaceVpcEndpoint(stack, 'VPC Endpoint', { + vpc, + service: new InterfaceVpcEndpointService('com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc', 443), + subnets: { + subnets: [subnet1, subnet2] + } +}); +``` + +Which subnets are selected is evaluated as follows: + +* `subnets`: if specific subnet objects are supplied, these are selected, and no other + logic is used. +* `subnetType`/`subnetGroupName`: otherwise, a set of subnets is selected by + supplying either type or name: + * `subnetType` will select all subnets of the given type. + * `subnetGroupName` should be used to distinguish between multiple groups of subnets of + the same type (for example, you may want to separate your application instances and your + RDS instances into two distinct groups of Isolated subnets). + * If neither are given, the first available subnet group of a given type that + exists in the VPC will be used, in this order: Private, then Isolated, then Public. + In short: by default ENIs will preferentially be placed in subnets not connected to + the Internet. +* `availabilityZones`/`onePerAz`: finally, some availability-zone based filtering may be done. + This filtering by availability zones will only be possible if the VPC has been created or + looked up in a non-environment agnostic stack (so account and region have been set and + availability zones have been looked up). + * `availabilityZones`: only the specific subnets from the selected subnet groups that are + in the given availability zones will be returned. + * `onePerAz`: per availability zone, a maximum of one subnet will be returned (Useful for resource + types that do not allow creating two ENIs in the same availability zone). + ### Using NAT instances By default, the `Vpc` construct will create NAT *gateways* for you, which @@ -293,11 +350,11 @@ There are various classes that implement the connection peer part: ```ts fixture=conns // Simple connection peers -let peer = ec2.Peer.ipv4("10.0.0.0/16"); +let peer = ec2.Peer.ipv4('10.0.0.0/16'); peer = ec2.Peer.anyIpv4(); -peer = ec2.Peer.ipv6("::0/0"); +peer = ec2.Peer.ipv6('::0/0'); peer = ec2.Peer.anyIpv6(); -peer = ec2.Peer.prefixList("pl-12345"); +peer = ec2.Peer.prefixList('pl-12345'); appFleet.connections.allowTo(peer, ec2.Port.tcp(443), 'Allow outbound HTTPS'); ``` @@ -424,6 +481,23 @@ Endpoints are virtual devices. They are horizontally scaled, redundant, and high [example of setting up VPC endpoints](test/integ.vpc-endpoint.lit.ts) +Not all VPC endpoint services are available in all availability zones. By default, +CDK will place a VPC endpoint in one subnet per AZ, because CDK doesn't know about +unavailable AZs. You can determine what the available AZs are from the AWS console. +The AZs CDK places the VPC endpoint in can be configured as follows: + +```ts +new InterfaceVpcEndpoint(stack, 'VPC Endpoint', { + vpc, + service: new InterfaceVpcEndpointService('com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc', 443), + // Choose which availability zones to place the VPC endpoint in, based on + // available AZs + subnets: { + availabilityZones: ['us-east-1a', 'us-east-1c'] + } +}); +``` + ### Security groups for interface VPC endpoints By default, interface VPC endpoints create a new security group and traffic is **not** automatically allowed from the VPC CIDR. @@ -440,10 +514,10 @@ Alternatively, existing security groups can be used by specifying the `securityG A VPC endpoint service enables you to expose a Network Load Balancer(s) as a provider service to consumers, who connect to your service over a VPC endpoint. You can restrict access to your service via whitelisted principals (anything that extends ArnPrincipal), and require that new connections be manually accepted. ```ts -new VpcEndpointService(this, "EndpointService", { +new VpcEndpointService(this, 'EndpointService', { vpcEndpointServiceLoadBalancers: [networkLoadBalancer1, networkLoadBalancer2], acceptanceRequired: true, - whitelistedPrincipals: [new ArnPrincipal("arn:aws:iam::123456789012:root")] + whitelistedPrincipals: [new ArnPrincipal('arn:aws:iam::123456789012:root')] }); ``` diff --git a/packages/@aws-cdk/aws-ec2/lib/vpc.ts b/packages/@aws-cdk/aws-ec2/lib/vpc.ts index e6427b7ec3ecf..65dfc6c206185 100644 --- a/packages/@aws-cdk/aws-ec2/lib/vpc.ts +++ b/packages/@aws-cdk/aws-ec2/lib/vpc.ts @@ -183,6 +183,13 @@ export interface SubnetSelection { */ readonly subnetType?: SubnetType; + /** + * Select subnets only in the given AZs. + * + * @default no filtering on AZs is done + */ + readonly availabilityZones?: string[]; + /** * Select the subnet group with the given name * @@ -384,14 +391,27 @@ abstract class VpcBase extends Resource implements IVpc { if (selection.subnets !== undefined) { return selection.subnets; + } - } else if (selection.subnetGroupName !== undefined) { // Select by name - return this.selectSubnetObjectsByName(selection.subnetGroupName); + let subnets; - } else { + if (selection.subnetGroupName !== undefined) { // Select by name + subnets = this.selectSubnetObjectsByName(selection.subnetGroupName); + + } else { // Or specify by type const type = selection.subnetType || SubnetType.PRIVATE; - return this.selectSubnetObjectsByType(type, !!selection.onePerAz); + subnets = this.selectSubnetObjectsByType(type); + } + + if (selection.availabilityZones !== undefined) { // Filter by AZs, if specified + subnets = retainByAZ(subnets, selection.availabilityZones); + } + + if (!!selection.onePerAz && subnets.length > 0) { // Ensure one per AZ if specified + subnets = retainOnePerAz(subnets); } + + return subnets; } private selectSubnetObjectsByName(groupName: string) { @@ -406,18 +426,14 @@ abstract class VpcBase extends Resource implements IVpc { return subnets; } - private selectSubnetObjectsByType(subnetType: SubnetType, onePerAz: boolean) { + private selectSubnetObjectsByType(subnetType: SubnetType) { const allSubnets = { [SubnetType.ISOLATED]: this.isolatedSubnets, [SubnetType.PRIVATE]: this.privateSubnets, [SubnetType.PUBLIC]: this.publicSubnets, }; - let subnets = allSubnets[subnetType]; - - if (onePerAz && subnets.length > 0) { - subnets = retainOnePerAz(subnets); - } + const subnets = allSubnets[subnetType]; // Force merge conflict here with https://github.com/aws/aws-cdk/pull/4089 // see ImportedVpc @@ -452,15 +468,32 @@ abstract class VpcBase extends Resource implements IVpc { if (placement.subnetType === undefined && placement.subnetGroupName === undefined && placement.subnets === undefined) { // Return default subnet type based on subnets that actually exist - if (this.privateSubnets.length > 0) { return { subnetType: SubnetType.PRIVATE, onePerAz: placement.onePerAz }; } - if (this.isolatedSubnets.length > 0) { return { subnetType: SubnetType.ISOLATED, onePerAz: placement.onePerAz }; } - return { subnetType: SubnetType.PUBLIC, onePerAz: placement.onePerAz }; + if (this.privateSubnets.length > 0) { + return { + subnetType: SubnetType.PRIVATE, + onePerAz: placement.onePerAz, + availabilityZones: placement.availabilityZones}; + } + if (this.isolatedSubnets.length > 0) { + return { + subnetType: SubnetType.ISOLATED, + onePerAz: placement.onePerAz, + availabilityZones: placement.availabilityZones }; + } + return { + subnetType: SubnetType.PUBLIC, + onePerAz: placement.onePerAz, + availabilityZones: placement.availabilityZones }; } return placement; } } +function retainByAZ(subnets: ISubnet[], azs: string[]): ISubnet[] { + return subnets.filter(s => azs.includes(s.availabilityZone)); +} + function retainOnePerAz(subnets: ISubnet[]): ISubnet[] { const azsSeen = new Set(); return subnets.filter(subnet => { diff --git a/packages/@aws-cdk/aws-ec2/test/test.vpc.ts b/packages/@aws-cdk/aws-ec2/test/test.vpc.ts index a92295fc872da..8d9d504bf9282 100644 --- a/packages/@aws-cdk/aws-ec2/test/test.vpc.ts +++ b/packages/@aws-cdk/aws-ec2/test/test.vpc.ts @@ -1,8 +1,9 @@ import { countResources, expect, haveResource, haveResourceLike, isSuperObject, MatchStyle } from '@aws-cdk/assert'; import { CfnOutput, Lazy, Stack, Tag } from '@aws-cdk/core'; import { Test } from 'nodeunit'; -import { AclCidr, AclTraffic, CfnSubnet, CfnVPC, DefaultInstanceTenancy, GenericLinuxImage, InstanceType, - NatProvider, NetworkAcl, NetworkAclEntry, PrivateSubnet, PublicSubnet, RouterType, Subnet, SubnetType, TrafficDirection, Vpc } from '../lib'; +import { AclCidr, AclTraffic, CfnSubnet, CfnVPC, DefaultInstanceTenancy, GenericLinuxImage, InstanceType, InterfaceVpcEndpoint, + InterfaceVpcEndpointService, NatProvider, NetworkAcl, NetworkAclEntry, PrivateSubnet, PublicSubnet, RouterType, Subnet, + SubnetType, TrafficDirection, Vpc } from '../lib'; export = { 'When creating a VPC': { @@ -1119,6 +1120,70 @@ export = { test.deepEqual(subnet.subnetId, 'pub-1'); test.deepEqual(subnet.availabilityZone, 'az-1234'); test.done(); + }, + + 'Can select subnets by type and AZ'(test: Test) { + // GIVEN + const stack = getTestStack(); + const vpc = new Vpc(stack, 'VPC', { + maxAzs: 3 + }); + + // WHEN + new InterfaceVpcEndpoint(stack, 'VPC Endpoint', { + vpc, + privateDnsEnabled: false, + service: new InterfaceVpcEndpointService('com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc', 443), + subnets: { + subnetType: SubnetType.PRIVATE, + availabilityZones: ['dummy1a', 'dummy1c'] + } + }); + + // THEN + expect(stack).to(haveResource('AWS::EC2::VPCEndpoint', { + ServiceName: 'com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc', + SubnetIds: [ + { + Ref: 'VPCPrivateSubnet1Subnet8BCA10E0' + }, + { + Ref: 'VPCPrivateSubnet3Subnet3EDCD457' + } + ] + })); + test.done(); + }, + + 'SubnetSelection filtered on az uses default subnetType when no subnet type specified'(test: Test) { + // GIVEN + const stack = getTestStack(); + const vpc = new Vpc(stack, 'VPC', { + maxAzs: 3 + }); + + // WHEN + new InterfaceVpcEndpoint(stack, 'VPC Endpoint', { + vpc, + service: new InterfaceVpcEndpointService('com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc', 443), + subnets: { + availabilityZones: ['dummy1a', 'dummy1c'] + } + }); + + // THEN + expect(stack).to(haveResource('AWS::EC2::VPCEndpoint', { + ServiceName: 'com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc', + SubnetIds: [ + { + Ref: 'VPCPrivateSubnet1Subnet8BCA10E0' + }, + { + Ref: 'VPCPrivateSubnet3Subnet3EDCD457' + } + ] + })); + test.done(); } }, From 6ec0369636e71533e84d7c4031d93b3bb939ff75 Mon Sep 17 00:00:00 2001 From: Ben Limmer Date: Tue, 14 Apr 2020 03:41:56 -0600 Subject: [PATCH 06/20] This PR adds an example of referencing a metric published by AWS --- packages/@aws-cdk/aws-cloudwatch/README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/@aws-cdk/aws-cloudwatch/README.md b/packages/@aws-cdk/aws-cloudwatch/README.md index 2583f97e5d48e..60da6beb5ee9a 100644 --- a/packages/@aws-cdk/aws-cloudwatch/README.md +++ b/packages/@aws-cdk/aws-cloudwatch/README.md @@ -26,6 +26,22 @@ represents the amount of errors reported by that Lambda function: const errors = fn.metricErrors(); ``` +You can also instantiate `Metric` objects to reference any +[published metric](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) +that's not exposed using a convenience method on the CDK construct. +For example: + +```ts +const hostedZone = new route53.HostedZone(this, 'MyHostedZone', { zoneName: "example.org" }); +const metric = new Metric({ + namespace: 'AWS/Route53', + metricName: 'DNSQueries', + dimensions: { + HostedZoneId: hostedZone.hostedZoneId + } +}) +``` + ### Instantiating a new Metric object If you want to reference a metric that is not yet exposed by an existing construct, From ca2f923e0e3e8bc7643ba148546b7d66f4c5d174 Mon Sep 17 00:00:00 2001 From: Ben Limmer Date: Tue, 14 Apr 2020 04:16:21 -0600 Subject: [PATCH 07/20] fix(cloudwatch): Dashboard Spacer doesn't require empty props object `Spacer` has defaults for both height and width, so allow instantiating without passing any properties. --- packages/@aws-cdk/aws-cloudwatch/lib/layout.ts | 2 +- packages/@aws-cdk/aws-cloudwatch/test/test.layout.ts | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/@aws-cdk/aws-cloudwatch/lib/layout.ts b/packages/@aws-cdk/aws-cloudwatch/lib/layout.ts index 635e7561f9f22..62be662599fc9 100644 --- a/packages/@aws-cdk/aws-cloudwatch/lib/layout.ts +++ b/packages/@aws-cdk/aws-cloudwatch/lib/layout.ts @@ -123,7 +123,7 @@ export class Spacer implements IWidget { public readonly width: number; public readonly height: number; - constructor(props: SpacerProps) { + constructor(props: SpacerProps = {}) { this.width = props.width || 1; this.height = props.height || 1; } diff --git a/packages/@aws-cdk/aws-cloudwatch/test/test.layout.ts b/packages/@aws-cdk/aws-cloudwatch/test/test.layout.ts index 914e7b2496828..1979495f92ff3 100644 --- a/packages/@aws-cdk/aws-cloudwatch/test/test.layout.ts +++ b/packages/@aws-cdk/aws-cloudwatch/test/test.layout.ts @@ -16,6 +16,17 @@ export = { test.done(); }, + 'spacer has default height and width'(test: Test) { + // WHEN + const spacer = new Spacer(); + + // THEN + test.equal(1, spacer.height); + test.equal(1, spacer.width); + + test.done(); + }, + 'column has the width of the tallest element'(test: Test) { // WHEN const col = new Column( From 8ed2e0cb47e084a7dbd32329de472c519ab3ac6d Mon Sep 17 00:00:00 2001 From: Lapderk Date: Tue, 14 Apr 2020 12:50:26 +0200 Subject: [PATCH 08/20] fix(elbv2): imported LoadBalancer ignores pathPatterns prop Fixes #7303 --- .../lib/alb/application-listener.ts | 1 + .../test/alb/test.listener.ts | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener.ts index f292368594fee..fdbc4298f1820 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/lib/alb/application-listener.ts @@ -490,6 +490,7 @@ class ImportedApplicationListener extends Resource implements IApplicationListen listener: this, hostHeader: props.hostHeader, pathPattern: props.pathPattern, + pathPatterns: props.pathPatterns, priority: props.priority, targetGroups: props.targetGroups }); diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/test/alb/test.listener.ts b/packages/@aws-cdk/aws-elasticloadbalancingv2/test/alb/test.listener.ts index 9b27c6dfe0d67..8ba8b142306ef 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/test/alb/test.listener.ts +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/test/alb/test.listener.ts @@ -992,6 +992,38 @@ export = { test.done(); }, + + 'Add path patterns to imported application listener'(test: Test) { + // GIVEN + const stack = new cdk.Stack(); + const vpc = new ec2.Vpc(stack, 'Stack'); + const group = new elbv2.ApplicationTargetGroup(stack, 'TargetGroup', { vpc, port: 80 }); + const listener = elbv2.ApplicationListener.fromApplicationListenerAttributes(stack, 'Listener', { + listenerArn: 'listener-arn', + defaultPort: 443, + securityGroupId: 'security-group-id' + }); + + // WHEN + listener.addTargetGroups('OtherTG', { + targetGroups: [group], + priority: 1, + pathPatterns: ['/path1', '/path2'] + }); + + // THEN + expect(stack).to(haveResource('AWS::ElasticLoadBalancingV2::ListenerRule', { + Priority: 1, + Conditions: [ + { + Field: 'path-pattern', + Values: ['/path1', '/path2'] + } + ] + })); + + test.done(); + }, }; class ResourceWithLBDependency extends cdk.CfnResource { From 2242ba7beba4cd6b5be4ee39a05e98c7e93c67eb Mon Sep 17 00:00:00 2001 From: Jonathan Goldwasser Date: Tue, 14 Apr 2020 13:24:31 +0200 Subject: [PATCH 09/20] The current regex prevents from using `0.0.0` anywhere in the `package.json`. Enclose with quotes to be more specific and correctly escape dots. See https://github.com/aws/aws-cdk/pull/7169#issuecomment-609821470 for a failing build using `0.0.0` in `cdk-build > pre`. --- scripts/align-version.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/align-version.sh b/scripts/align-version.sh index e4a4cc6f6248a..2e6d00798e7f3 100755 --- a/scripts/align-version.sh +++ b/scripts/align-version.sh @@ -13,8 +13,8 @@ files="$(find . -name package.json | grep -v node_modules | xargs)" ${scriptdir}/align-version.js ${files} # validation -marker=$(node -p "require('./scripts/get-version-marker')") -if find . -name package.json | grep -v node_modules | xargs grep "[^0-9]${marker}"; then +marker=$(node -p "require('./scripts/get-version-marker').replace(/\./g, '\\\.')") +if find . -name package.json | grep -v node_modules | xargs grep -E "\"[\^~]?${marker}\""; then echo "ERROR: unexpected version marker ${marker} in a package.json file" exit 1 fi From 3800830609e67d6ffc4e18dd5d61bb67d90a066b Mon Sep 17 00:00:00 2001 From: Rico Huijbers Date: Tue, 14 Apr 2020 13:58:29 +0200 Subject: [PATCH 10/20] chore: introduce new library maturity badges Add a concept of library "maturity" in addition to "stability". **Maturity** is a human concept that communicates how ready we think the package is for public consumption, and is leading. **Stability** is a mechanical concept that affects how `jsii-diff` checks the package, and must follow `maturity`. --- packages/@aws-cdk/alexa-ask/README.md | 16 +- packages/@aws-cdk/alexa-ask/package.json | 1 + packages/@aws-cdk/app-delivery/README.md | 12 +- packages/@aws-cdk/app-delivery/package.json | 1 + packages/@aws-cdk/assert/README.md | 12 +- packages/@aws-cdk/assert/package.json | 3 +- packages/@aws-cdk/assets/README.md | 12 +- packages/@aws-cdk/assets/package.json | 1 + .../@aws-cdk/aws-accessanalyzer/README.md | 12 +- .../@aws-cdk/aws-accessanalyzer/package.json | 1 + packages/@aws-cdk/aws-acmpca/README.md | 12 +- packages/@aws-cdk/aws-acmpca/package.json | 1 + packages/@aws-cdk/aws-amazonmq/README.md | 12 +- packages/@aws-cdk/aws-amazonmq/package.json | 1 + packages/@aws-cdk/aws-amplify/README.md | 16 +- packages/@aws-cdk/aws-amplify/package.json | 1 + packages/@aws-cdk/aws-apigateway/README.md | 4 +- packages/@aws-cdk/aws-apigateway/package.json | 3 +- packages/@aws-cdk/aws-apigatewayv2/README.md | 12 +- .../@aws-cdk/aws-apigatewayv2/package.json | 1 + packages/@aws-cdk/aws-appconfig/README.md | 12 +- packages/@aws-cdk/aws-appconfig/package.json | 1 + .../aws-applicationautoscaling/README.md | 4 +- .../aws-applicationautoscaling/package.json | 3 +- packages/@aws-cdk/aws-appmesh/README.md | 16 +- packages/@aws-cdk/aws-appmesh/package.json | 1 + packages/@aws-cdk/aws-appstream/README.md | 12 +- packages/@aws-cdk/aws-appstream/package.json | 1 + packages/@aws-cdk/aws-appsync/README.md | 16 +- packages/@aws-cdk/aws-appsync/package.json | 1 + packages/@aws-cdk/aws-athena/README.md | 12 +- packages/@aws-cdk/aws-athena/package.json | 1 + .../@aws-cdk/aws-autoscaling-common/README.md | 12 +- .../aws-autoscaling-common/package.json | 1 + .../aws-autoscaling-hooktargets/README.md | 4 +- .../aws-autoscaling-hooktargets/package.json | 3 +- packages/@aws-cdk/aws-autoscaling/README.md | 4 +- .../@aws-cdk/aws-autoscaling/package.json | 3 +- .../@aws-cdk/aws-autoscalingplans/README.md | 12 +- .../aws-autoscalingplans/package.json | 1 + packages/@aws-cdk/aws-backup/README.md | 12 +- packages/@aws-cdk/aws-backup/package.json | 1 + packages/@aws-cdk/aws-batch/README.md | 16 +- packages/@aws-cdk/aws-batch/package.json | 1 + packages/@aws-cdk/aws-budgets/README.md | 12 +- packages/@aws-cdk/aws-budgets/package.json | 1 + packages/@aws-cdk/aws-cassandra/README.md | 12 +- packages/@aws-cdk/aws-cassandra/package.json | 1 + .../@aws-cdk/aws-certificatemanager/README.md | 4 +- .../aws-certificatemanager/package.json | 3 +- packages/@aws-cdk/aws-chatbot/README.md | 12 +- packages/@aws-cdk/aws-chatbot/package.json | 1 + packages/@aws-cdk/aws-cloud9/README.md | 16 +- packages/@aws-cdk/aws-cloud9/package.json | 1 + .../@aws-cdk/aws-cloudformation/README.md | 4 +- .../@aws-cdk/aws-cloudformation/package.json | 3 +- packages/@aws-cdk/aws-cloudfront/README.md | 16 +- packages/@aws-cdk/aws-cloudfront/package.json | 1 + packages/@aws-cdk/aws-cloudtrail/README.md | 16 +- .../@aws-cdk/aws-cloudtrail/lib/cloudtrail.ts | 296 +++++++++++++++++ packages/@aws-cdk/aws-cloudtrail/lib/index.ts | 297 +----------------- packages/@aws-cdk/aws-cloudtrail/package.json | 1 + .../@aws-cdk/aws-cloudwatch-actions/README.md | 4 +- .../aws-cloudwatch-actions/package.json | 3 +- packages/@aws-cdk/aws-cloudwatch/README.md | 4 +- packages/@aws-cdk/aws-cloudwatch/package.json | 3 +- packages/@aws-cdk/aws-codebuild/README.md | 4 +- packages/@aws-cdk/aws-codebuild/package.json | 3 +- packages/@aws-cdk/aws-codecommit/README.md | 4 +- packages/@aws-cdk/aws-codecommit/package.json | 3 +- packages/@aws-cdk/aws-codedeploy/README.md | 4 +- packages/@aws-cdk/aws-codedeploy/package.json | 3 +- .../@aws-cdk/aws-codeguruprofiler/README.md | 12 +- .../aws-codeguruprofiler/package.json | 1 + .../aws-codepipeline-actions/README.md | 4 +- .../aws-codepipeline-actions/package.json | 3 +- packages/@aws-cdk/aws-codepipeline/README.md | 4 +- .../@aws-cdk/aws-codepipeline/package.json | 3 +- packages/@aws-cdk/aws-codestar/README.md | 12 +- packages/@aws-cdk/aws-codestar/package.json | 1 + .../aws-codestarconnections/README.md | 12 +- .../aws-codestarconnections/package.json | 1 + .../aws-codestarnotifications/README.md | 12 +- .../aws-codestarnotifications/package.json | 1 + packages/@aws-cdk/aws-cognito/README.md | 16 +- packages/@aws-cdk/aws-cognito/package.json | 1 + packages/@aws-cdk/aws-config/README.md | 16 +- packages/@aws-cdk/aws-config/package.json | 1 + packages/@aws-cdk/aws-datapipeline/README.md | 12 +- .../@aws-cdk/aws-datapipeline/package.json | 1 + packages/@aws-cdk/aws-dax/README.md | 12 +- packages/@aws-cdk/aws-dax/package.json | 1 + packages/@aws-cdk/aws-detective/README.md | 12 +- packages/@aws-cdk/aws-detective/package.json | 3 +- .../@aws-cdk/aws-directoryservice/README.md | 12 +- .../aws-directoryservice/package.json | 1 + packages/@aws-cdk/aws-dlm/README.md | 12 +- packages/@aws-cdk/aws-dlm/package.json | 1 + packages/@aws-cdk/aws-dms/README.md | 12 +- packages/@aws-cdk/aws-dms/package.json | 1 + packages/@aws-cdk/aws-docdb/README.md | 12 +- packages/@aws-cdk/aws-docdb/package.json | 1 + .../@aws-cdk/aws-dynamodb-global/README.md | 3 +- .../@aws-cdk/aws-dynamodb-global/package.json | 3 +- packages/@aws-cdk/aws-dynamodb/README.md | 4 +- packages/@aws-cdk/aws-dynamodb/package.json | 3 +- packages/@aws-cdk/aws-ec2/README.md | 4 +- packages/@aws-cdk/aws-ec2/package.json | 3 +- packages/@aws-cdk/aws-ecr-assets/README.md | 12 +- packages/@aws-cdk/aws-ecr-assets/package.json | 1 + packages/@aws-cdk/aws-ecr/README.md | 4 +- packages/@aws-cdk/aws-ecr/package.json | 3 +- packages/@aws-cdk/aws-ecs-patterns/README.md | 4 +- .../@aws-cdk/aws-ecs-patterns/package.json | 3 +- packages/@aws-cdk/aws-ecs/README.md | 4 +- packages/@aws-cdk/aws-ecs/package.json | 3 +- packages/@aws-cdk/aws-efs/README.md | 16 +- packages/@aws-cdk/aws-efs/package.json | 1 + packages/@aws-cdk/aws-eks-legacy/README.md | 4 +- packages/@aws-cdk/aws-eks-legacy/package.json | 3 +- packages/@aws-cdk/aws-eks/README.md | 16 +- packages/@aws-cdk/aws-eks/package.json | 3 +- packages/@aws-cdk/aws-elasticache/README.md | 12 +- .../@aws-cdk/aws-elasticache/package.json | 1 + .../@aws-cdk/aws-elasticbeanstalk/README.md | 12 +- .../aws-elasticbeanstalk/package.json | 1 + .../aws-elasticloadbalancing/README.md | 4 +- .../aws-elasticloadbalancing/package.json | 3 +- .../README.md | 12 +- .../package.json | 1 + .../aws-elasticloadbalancingv2/README.md | 4 +- .../aws-elasticloadbalancingv2/package.json | 3 +- packages/@aws-cdk/aws-elasticsearch/README.md | 12 +- .../@aws-cdk/aws-elasticsearch/package.json | 1 + packages/@aws-cdk/aws-emr/README.md | 12 +- packages/@aws-cdk/aws-emr/package.json | 1 + .../@aws-cdk/aws-events-targets/README.md | 4 +- .../@aws-cdk/aws-events-targets/package.json | 3 +- packages/@aws-cdk/aws-events/README.md | 4 +- packages/@aws-cdk/aws-events/package.json | 3 +- packages/@aws-cdk/aws-eventschemas/README.md | 12 +- .../@aws-cdk/aws-eventschemas/package.json | 1 + packages/@aws-cdk/aws-fms/README.md | 12 +- packages/@aws-cdk/aws-fms/package.json | 1 + packages/@aws-cdk/aws-fsx/README.md | 16 +- packages/@aws-cdk/aws-fsx/package.json | 1 + packages/@aws-cdk/aws-gamelift/README.md | 12 +- packages/@aws-cdk/aws-gamelift/package.json | 1 + packages/@aws-cdk/aws-glue/README.md | 16 +- packages/@aws-cdk/aws-glue/package.json | 1 + packages/@aws-cdk/aws-greengrass/README.md | 12 +- packages/@aws-cdk/aws-greengrass/package.json | 1 + packages/@aws-cdk/aws-guardduty/README.md | 12 +- packages/@aws-cdk/aws-guardduty/package.json | 1 + packages/@aws-cdk/aws-iam/README.md | 4 +- packages/@aws-cdk/aws-iam/package.json | 3 +- packages/@aws-cdk/aws-inspector/README.md | 12 +- packages/@aws-cdk/aws-inspector/package.json | 1 + packages/@aws-cdk/aws-iot/README.md | 12 +- packages/@aws-cdk/aws-iot/package.json | 1 + packages/@aws-cdk/aws-iot1click/README.md | 12 +- packages/@aws-cdk/aws-iot1click/package.json | 1 + packages/@aws-cdk/aws-iotanalytics/README.md | 12 +- .../@aws-cdk/aws-iotanalytics/package.json | 1 + packages/@aws-cdk/aws-iotevents/README.md | 12 +- packages/@aws-cdk/aws-iotevents/package.json | 1 + .../@aws-cdk/aws-iotthingsgraph/README.md | 12 +- .../@aws-cdk/aws-iotthingsgraph/package.json | 1 + packages/@aws-cdk/aws-kinesis/README.md | 16 +- packages/@aws-cdk/aws-kinesis/package.json | 1 + .../@aws-cdk/aws-kinesisanalytics/README.md | 12 +- .../aws-kinesisanalytics/package.json | 1 + .../@aws-cdk/aws-kinesisfirehose/README.md | 12 +- .../@aws-cdk/aws-kinesisfirehose/package.json | 1 + packages/@aws-cdk/aws-kms/README.md | 4 +- packages/@aws-cdk/aws-kms/package.json | 3 +- packages/@aws-cdk/aws-lakeformation/README.md | 12 +- .../@aws-cdk/aws-lakeformation/package.json | 1 + .../aws-lambda-destinations/README.md | 4 +- .../aws-lambda-destinations/package.json | 3 +- .../aws-lambda-event-sources/README.md | 4 +- .../aws-lambda-event-sources/package.json | 3 +- packages/@aws-cdk/aws-lambda-nodejs/README.md | 12 +- .../@aws-cdk/aws-lambda-nodejs/package.json | 1 + packages/@aws-cdk/aws-lambda/README.md | 4 +- packages/@aws-cdk/aws-lambda/package.json | 3 +- .../@aws-cdk/aws-logs-destinations/README.md | 4 +- .../aws-logs-destinations/package.json | 3 +- packages/@aws-cdk/aws-logs/README.md | 4 +- packages/@aws-cdk/aws-logs/package.json | 3 +- .../@aws-cdk/aws-managedblockchain/README.md | 12 +- .../aws-managedblockchain/package.json | 1 + packages/@aws-cdk/aws-mediaconvert/README.md | 12 +- .../@aws-cdk/aws-mediaconvert/package.json | 1 + packages/@aws-cdk/aws-medialive/README.md | 12 +- packages/@aws-cdk/aws-medialive/package.json | 1 + packages/@aws-cdk/aws-mediastore/README.md | 12 +- packages/@aws-cdk/aws-mediastore/package.json | 1 + packages/@aws-cdk/aws-msk/README.md | 12 +- packages/@aws-cdk/aws-msk/package.json | 1 + packages/@aws-cdk/aws-neptune/README.md | 12 +- packages/@aws-cdk/aws-neptune/package.json | 1 + .../@aws-cdk/aws-networkmanager/README.md | 12 +- .../@aws-cdk/aws-networkmanager/package.json | 1 + packages/@aws-cdk/aws-opsworks/README.md | 12 +- packages/@aws-cdk/aws-opsworks/package.json | 1 + packages/@aws-cdk/aws-opsworkscm/README.md | 12 +- packages/@aws-cdk/aws-opsworkscm/package.json | 1 + packages/@aws-cdk/aws-pinpoint/README.md | 12 +- packages/@aws-cdk/aws-pinpoint/package.json | 1 + packages/@aws-cdk/aws-pinpointemail/README.md | 12 +- .../@aws-cdk/aws-pinpointemail/package.json | 1 + packages/@aws-cdk/aws-qldb/README.md | 12 +- packages/@aws-cdk/aws-qldb/package.json | 1 + packages/@aws-cdk/aws-ram/README.md | 12 +- packages/@aws-cdk/aws-ram/package.json | 1 + packages/@aws-cdk/aws-rds/README.md | 16 +- packages/@aws-cdk/aws-rds/package.json | 1 + packages/@aws-cdk/aws-redshift/README.md | 12 +- packages/@aws-cdk/aws-redshift/package.json | 1 + .../@aws-cdk/aws-resourcegroups/README.md | 12 +- .../@aws-cdk/aws-resourcegroups/package.json | 1 + packages/@aws-cdk/aws-robomaker/README.md | 12 +- packages/@aws-cdk/aws-robomaker/package.json | 1 + .../@aws-cdk/aws-route53-patterns/README.md | 12 +- .../aws-route53-patterns/package.json | 1 + .../@aws-cdk/aws-route53-targets/README.md | 4 +- .../@aws-cdk/aws-route53-targets/package.json | 3 +- packages/@aws-cdk/aws-route53/README.md | 4 +- packages/@aws-cdk/aws-route53/package.json | 3 +- .../@aws-cdk/aws-route53resolver/README.md | 16 +- .../@aws-cdk/aws-route53resolver/package.json | 1 + packages/@aws-cdk/aws-s3-assets/README.md | 12 +- packages/@aws-cdk/aws-s3-assets/package.json | 1 + packages/@aws-cdk/aws-s3-deployment/README.md | 12 +- .../@aws-cdk/aws-s3-deployment/package.json | 1 + .../@aws-cdk/aws-s3-notifications/README.md | 4 +- .../aws-s3-notifications/package.json | 3 +- packages/@aws-cdk/aws-s3/README.md | 4 +- packages/@aws-cdk/aws-s3/package.json | 3 +- packages/@aws-cdk/aws-sagemaker/README.md | 12 +- packages/@aws-cdk/aws-sagemaker/package.json | 1 + packages/@aws-cdk/aws-sam/README.md | 12 +- packages/@aws-cdk/aws-sam/package.json | 1 + packages/@aws-cdk/aws-sdb/README.md | 12 +- packages/@aws-cdk/aws-sdb/package.json | 1 + .../@aws-cdk/aws-secretsmanager/README.md | 4 +- .../@aws-cdk/aws-secretsmanager/package.json | 3 +- packages/@aws-cdk/aws-securityhub/README.md | 12 +- .../@aws-cdk/aws-securityhub/package.json | 1 + .../@aws-cdk/aws-servicecatalog/README.md | 12 +- .../@aws-cdk/aws-servicecatalog/package.json | 1 + .../@aws-cdk/aws-servicediscovery/README.md | 4 +- .../aws-servicediscovery/package.json | 3 +- packages/@aws-cdk/aws-ses-actions/README.md | 12 +- .../@aws-cdk/aws-ses-actions/package.json | 1 + packages/@aws-cdk/aws-ses/README.md | 16 +- packages/@aws-cdk/aws-ses/package.json | 1 + .../@aws-cdk/aws-sns-subscriptions/README.md | 4 +- .../aws-sns-subscriptions/package.json | 3 +- packages/@aws-cdk/aws-sns/README.md | 4 +- packages/@aws-cdk/aws-sns/package.json | 3 +- packages/@aws-cdk/aws-sqs/README.md | 4 +- packages/@aws-cdk/aws-sqs/package.json | 3 +- packages/@aws-cdk/aws-ssm/README.md | 4 +- packages/@aws-cdk/aws-ssm/package.json | 3 +- .../aws-stepfunctions-tasks/README.md | 12 +- .../aws-stepfunctions-tasks/package.json | 1 + packages/@aws-cdk/aws-stepfunctions/README.md | 16 +- .../@aws-cdk/aws-stepfunctions/package.json | 1 + packages/@aws-cdk/aws-transfer/README.md | 12 +- packages/@aws-cdk/aws-transfer/package.json | 1 + packages/@aws-cdk/aws-waf/README.md | 12 +- packages/@aws-cdk/aws-waf/package.json | 1 + packages/@aws-cdk/aws-wafregional/README.md | 12 +- .../@aws-cdk/aws-wafregional/package.json | 1 + packages/@aws-cdk/aws-wafv2/README.md | 12 +- packages/@aws-cdk/aws-wafv2/package.json | 1 + packages/@aws-cdk/aws-workspaces/README.md | 12 +- packages/@aws-cdk/aws-workspaces/package.json | 1 + packages/@aws-cdk/cdk-assets-schema/README.md | 4 +- .../@aws-cdk/cdk-assets-schema/package.json | 3 +- .../build-tools/create-missing-libraries.ts | 12 +- .../@aws-cdk/cloud-assembly-schema/README.md | 4 +- .../cloud-assembly-schema/package.json | 5 +- .../@aws-cdk/cloudformation-diff/README.md | 12 +- .../@aws-cdk/cloudformation-diff/package.json | 3 +- packages/@aws-cdk/core/README.md | 4 +- packages/@aws-cdk/core/package.json | 3 +- packages/@aws-cdk/custom-resources/README.md | 4 +- .../@aws-cdk/custom-resources/package.json | 3 +- packages/@aws-cdk/cx-api/README.md | 12 +- packages/@aws-cdk/cx-api/package.json | 1 + packages/@aws-cdk/region-info/README.md | 12 +- packages/@aws-cdk/region-info/package.json | 1 + .../@monocdk-experiment/assert/package.json | 3 +- .../rewrite-imports/README.md | 12 +- .../rewrite-imports/package.json | 1 + packages/aws-cdk/README.md | 4 +- packages/aws-cdk/package.json | 3 +- packages/cdk-assets/README.md | 13 +- packages/cdk-assets/package.json | 1 + packages/monocdk-experiment/package.json | 1 + tools/pkglint/lib/banners/README.md | 10 + tools/pkglint/lib/banners/l1.cfn-only.md | 3 + tools/pkglint/lib/banners/l1.deprecated.md | 0 .../lib/banners/l1.developer-preview.md | 3 + tools/pkglint/lib/banners/l1.experimental.md | 3 + tools/pkglint/lib/banners/l1.stable.md | 1 + tools/pkglint/lib/banners/l2.cfn-only.md | 0 tools/pkglint/lib/banners/l2.deprecated.md | 3 + .../lib/banners/l2.developer-preview.md | 5 + tools/pkglint/lib/banners/l2.experimental.md | 3 + tools/pkglint/lib/banners/l2.stable.md | 1 + tools/pkglint/lib/rules.ts | 179 +++++++---- 315 files changed, 1002 insertions(+), 1565 deletions(-) create mode 100644 packages/@aws-cdk/aws-cloudtrail/lib/cloudtrail.ts create mode 100644 tools/pkglint/lib/banners/README.md create mode 100644 tools/pkglint/lib/banners/l1.cfn-only.md create mode 100644 tools/pkglint/lib/banners/l1.deprecated.md create mode 100644 tools/pkglint/lib/banners/l1.developer-preview.md create mode 100644 tools/pkglint/lib/banners/l1.experimental.md create mode 100644 tools/pkglint/lib/banners/l1.stable.md create mode 100644 tools/pkglint/lib/banners/l2.cfn-only.md create mode 100644 tools/pkglint/lib/banners/l2.deprecated.md create mode 100644 tools/pkglint/lib/banners/l2.developer-preview.md create mode 100644 tools/pkglint/lib/banners/l2.experimental.md create mode 100644 tools/pkglint/lib/banners/l2.stable.md diff --git a/packages/@aws-cdk/alexa-ask/README.md b/packages/@aws-cdk/alexa-ask/README.md index 84745f20d8f9f..f98124e40de1c 100644 --- a/packages/@aws-cdk/alexa-ask/README.md +++ b/packages/@aws-cdk/alexa-ask/README.md @@ -1,18 +1,14 @@ ## Alexa Skills Kit Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/alexa-ask/package.json b/packages/@aws-cdk/alexa-ask/package.json index cf987bb9ddbe8..dcf2528ab9982 100644 --- a/packages/@aws-cdk/alexa-ask/package.json +++ b/packages/@aws-cdk/alexa-ask/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/app-delivery/README.md b/packages/@aws-cdk/app-delivery/README.md index 74464e1ea932c..61de861a904bd 100644 --- a/packages/@aws-cdk/app-delivery/README.md +++ b/packages/@aws-cdk/app-delivery/README.md @@ -1,18 +1,10 @@ ## Continuous Integration / Continuous Delivery for CDK Applications - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/app-delivery/package.json b/packages/@aws-cdk/app-delivery/package.json index 156f4572f54cf..9320673902f3f 100644 --- a/packages/@aws-cdk/app-delivery/package.json +++ b/packages/@aws-cdk/app-delivery/package.json @@ -93,6 +93,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awslint": { "exclude": [ "docs-public-apis:@aws-cdk/app-delivery.PipelineDeployStackAction.actionProperties", diff --git a/packages/@aws-cdk/assert/README.md b/packages/@aws-cdk/assert/README.md index cc68f8b0e911c..71c19f3652a51 100644 --- a/packages/@aws-cdk/assert/README.md +++ b/packages/@aws-cdk/assert/README.md @@ -1,18 +1,10 @@ ## Testing utilities and assertions for CDK libraries - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/assert/package.json b/packages/@aws-cdk/assert/package.json index c763ffc2d6d56..787944ad117f2 100644 --- a/packages/@aws-cdk/assert/package.json +++ b/packages/@aws-cdk/assert/package.json @@ -60,5 +60,6 @@ "engines": { "node": ">= 10.12.0" }, - "stability": "experimental" + "stability": "experimental", + "maturity": "experimental" } diff --git a/packages/@aws-cdk/assets/README.md b/packages/@aws-cdk/assets/README.md index 9529902ff33cc..c7d1ae9654b5c 100644 --- a/packages/@aws-cdk/assets/README.md +++ b/packages/@aws-cdk/assets/README.md @@ -1,18 +1,10 @@ ## AWS CDK Assets - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/assets/package.json b/packages/@aws-cdk/assets/package.json index e8bfa7f2e9611..5eda2f9117921 100644 --- a/packages/@aws-cdk/assets/package.json +++ b/packages/@aws-cdk/assets/package.json @@ -94,6 +94,7 @@ "minimatch" ], "stability": "experimental", + "maturity": "experimental", "awslint": { "exclude": [ "docs-public-apis:@aws-cdk/assets.StagingProps", diff --git a/packages/@aws-cdk/aws-accessanalyzer/README.md b/packages/@aws-cdk/aws-accessanalyzer/README.md index 9efcec03993f5..b4a48f403be66 100644 --- a/packages/@aws-cdk/aws-accessanalyzer/README.md +++ b/packages/@aws-cdk/aws-accessanalyzer/README.md @@ -1,18 +1,10 @@ ## AWS::AccessAnalyzer Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-accessanalyzer/package.json b/packages/@aws-cdk/aws-accessanalyzer/package.json index 7c8a42cf32061..c7ff811691e1d 100644 --- a/packages/@aws-cdk/aws-accessanalyzer/package.json +++ b/packages/@aws-cdk/aws-accessanalyzer/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-acmpca/README.md b/packages/@aws-cdk/aws-acmpca/README.md index 5992805a4a72d..aee97e845111b 100644 --- a/packages/@aws-cdk/aws-acmpca/README.md +++ b/packages/@aws-cdk/aws-acmpca/README.md @@ -1,18 +1,10 @@ ## AWS::ACMPCA Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-acmpca/package.json b/packages/@aws-cdk/aws-acmpca/package.json index c88f03b25b48b..702a625916b22 100644 --- a/packages/@aws-cdk/aws-acmpca/package.json +++ b/packages/@aws-cdk/aws-acmpca/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-amazonmq/README.md b/packages/@aws-cdk/aws-amazonmq/README.md index 350bc8e4870ba..5c2cb618d2feb 100644 --- a/packages/@aws-cdk/aws-amazonmq/README.md +++ b/packages/@aws-cdk/aws-amazonmq/README.md @@ -1,18 +1,10 @@ ## Amazon MQ Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-amazonmq/package.json b/packages/@aws-cdk/aws-amazonmq/package.json index 4cfcbe9179367..db31a31253e88 100644 --- a/packages/@aws-cdk/aws-amazonmq/package.json +++ b/packages/@aws-cdk/aws-amazonmq/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-amplify/README.md b/packages/@aws-cdk/aws-amplify/README.md index f72790e1dba58..04ebdc6efd422 100644 --- a/packages/@aws-cdk/aws-amplify/README.md +++ b/packages/@aws-cdk/aws-amplify/README.md @@ -1,18 +1,14 @@ ## AWS Amplify Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-amplify/package.json b/packages/@aws-cdk/aws-amplify/package.json index f80161376ccac..0f9d360877ea7 100644 --- a/packages/@aws-cdk/aws-amplify/package.json +++ b/packages/@aws-cdk/aws-amplify/package.json @@ -109,6 +109,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awslint": { "exclude": [ "construct-ctor-props-optional:@aws-cdk/aws-amplify.App" diff --git a/packages/@aws-cdk/aws-apigateway/README.md b/packages/@aws-cdk/aws-apigateway/README.md index 41f1a2e8aaef3..26adb2e467b0c 100644 --- a/packages/@aws-cdk/aws-apigateway/README.md +++ b/packages/@aws-cdk/aws-apigateway/README.md @@ -1,10 +1,10 @@ ## Amazon API Gateway Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-apigateway/package.json b/packages/@aws-cdk/aws-apigateway/package.json index 00a94d1449ee4..50183164c918f 100644 --- a/packages/@aws-cdk/aws-apigateway/package.json +++ b/packages/@aws-cdk/aws-apigateway/package.json @@ -305,5 +305,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-apigatewayv2/README.md b/packages/@aws-cdk/aws-apigatewayv2/README.md index 6b7dbb4c56f69..7ea559194efd2 100644 --- a/packages/@aws-cdk/aws-apigatewayv2/README.md +++ b/packages/@aws-cdk/aws-apigatewayv2/README.md @@ -1,18 +1,10 @@ ## AWS::APIGatewayv2 Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-apigatewayv2/package.json b/packages/@aws-cdk/aws-apigatewayv2/package.json index c233bbe0ceca4..e8de09929bd70 100644 --- a/packages/@aws-cdk/aws-apigatewayv2/package.json +++ b/packages/@aws-cdk/aws-apigatewayv2/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-appconfig/README.md b/packages/@aws-cdk/aws-appconfig/README.md index f3e0b06fa555d..20ae10e1b022b 100644 --- a/packages/@aws-cdk/aws-appconfig/README.md +++ b/packages/@aws-cdk/aws-appconfig/README.md @@ -1,18 +1,10 @@ ## AWS::AppConfig Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-appconfig/package.json b/packages/@aws-cdk/aws-appconfig/package.json index 59e3ed3d42f01..89e7d630ea87b 100644 --- a/packages/@aws-cdk/aws-appconfig/package.json +++ b/packages/@aws-cdk/aws-appconfig/package.json @@ -82,6 +82,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-applicationautoscaling/README.md b/packages/@aws-cdk/aws-applicationautoscaling/README.md index 899c8e8832666..9f7d979a9fa86 100644 --- a/packages/@aws-cdk/aws-applicationautoscaling/README.md +++ b/packages/@aws-cdk/aws-applicationautoscaling/README.md @@ -1,10 +1,10 @@ ## AWS Auto Scaling Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-applicationautoscaling/package.json b/packages/@aws-cdk/aws-applicationautoscaling/package.json index ca1f082c3edf9..b16fe34fb3481 100644 --- a/packages/@aws-cdk/aws-applicationautoscaling/package.json +++ b/packages/@aws-cdk/aws-applicationautoscaling/package.json @@ -122,5 +122,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-appmesh/README.md b/packages/@aws-cdk/aws-appmesh/README.md index ac48f189141d5..e7478ed75438f 100644 --- a/packages/@aws-cdk/aws-appmesh/README.md +++ b/packages/@aws-cdk/aws-appmesh/README.md @@ -1,18 +1,14 @@ ## AWS App Mesh Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Developer Preview](https://img.shields.io/badge/cdk--constructs-developer--preview-informational.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are in **developer preview** before they become stable. We will only make breaking changes to address unforeseen API issues. Therefore, these APIs are not subject to [Semantic Versioning](https://semver.org/), and breaking changes will be announced in release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-appmesh/package.json b/packages/@aws-cdk/aws-appmesh/package.json index 5a3f2d3cc03cf..81087ac619a89 100644 --- a/packages/@aws-cdk/aws-appmesh/package.json +++ b/packages/@aws-cdk/aws-appmesh/package.json @@ -135,6 +135,7 @@ ] }, "stability": "experimental", + "maturity": "developer-preview", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-appstream/README.md b/packages/@aws-cdk/aws-appstream/README.md index d9db3b8ef89ce..bd68d55c22d3b 100644 --- a/packages/@aws-cdk/aws-appstream/README.md +++ b/packages/@aws-cdk/aws-appstream/README.md @@ -1,18 +1,10 @@ ## Amazon AppStream 2.0 Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-appstream/package.json b/packages/@aws-cdk/aws-appstream/package.json index 3a469c349167a..a9bcc0bb7b8d2 100644 --- a/packages/@aws-cdk/aws-appstream/package.json +++ b/packages/@aws-cdk/aws-appstream/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-appsync/README.md b/packages/@aws-cdk/aws-appsync/README.md index c60dcf103d32e..b7077d668bf76 100644 --- a/packages/@aws-cdk/aws-appsync/README.md +++ b/packages/@aws-cdk/aws-appsync/README.md @@ -1,18 +1,14 @@ ## AWS AppSync Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-appsync/package.json b/packages/@aws-cdk/aws-appsync/package.json index b95c88d426e8c..b391a617d2fe5 100644 --- a/packages/@aws-cdk/aws-appsync/package.json +++ b/packages/@aws-cdk/aws-appsync/package.json @@ -113,6 +113,7 @@ ] }, "stability": "experimental", + "maturity": "experimental", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-athena/README.md b/packages/@aws-cdk/aws-athena/README.md index 243cb2920971f..0bda8c19ea85e 100644 --- a/packages/@aws-cdk/aws-athena/README.md +++ b/packages/@aws-cdk/aws-athena/README.md @@ -1,18 +1,10 @@ ## Amazon Athena Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-athena/package.json b/packages/@aws-cdk/aws-athena/package.json index 45119ec7d83dc..6a48b5a5ec2b9 100644 --- a/packages/@aws-cdk/aws-athena/package.json +++ b/packages/@aws-cdk/aws-athena/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-autoscaling-common/README.md b/packages/@aws-cdk/aws-autoscaling-common/README.md index 1daa0bebb88b8..a9e20cab39d00 100644 --- a/packages/@aws-cdk/aws-autoscaling-common/README.md +++ b/packages/@aws-cdk/aws-autoscaling-common/README.md @@ -1,18 +1,10 @@ ## AWS AutoScaling Common Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-autoscaling-common/package.json b/packages/@aws-cdk/aws-autoscaling-common/package.json index b01ba0b77acac..2a92106539672 100644 --- a/packages/@aws-cdk/aws-autoscaling-common/package.json +++ b/packages/@aws-cdk/aws-autoscaling-common/package.json @@ -102,6 +102,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-autoscaling-hooktargets/README.md b/packages/@aws-cdk/aws-autoscaling-hooktargets/README.md index a9d762fe78196..b4e70cd38f6e4 100644 --- a/packages/@aws-cdk/aws-autoscaling-hooktargets/README.md +++ b/packages/@aws-cdk/aws-autoscaling-hooktargets/README.md @@ -1,10 +1,8 @@ # Lifecycle Hook for the CDK AWS AutoScaling Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-autoscaling-hooktargets/package.json b/packages/@aws-cdk/aws-autoscaling-hooktargets/package.json index 8c459020625d3..27f6f3a53311a 100644 --- a/packages/@aws-cdk/aws-autoscaling-hooktargets/package.json +++ b/packages/@aws-cdk/aws-autoscaling-hooktargets/package.json @@ -111,5 +111,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-autoscaling/README.md b/packages/@aws-cdk/aws-autoscaling/README.md index 85a149615ccf5..437019832fcf7 100644 --- a/packages/@aws-cdk/aws-autoscaling/README.md +++ b/packages/@aws-cdk/aws-autoscaling/README.md @@ -1,10 +1,10 @@ ## Amazon EC2 Auto Scaling Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-autoscaling/package.json b/packages/@aws-cdk/aws-autoscaling/package.json index f850f70c28ead..33fe4c70c49a7 100644 --- a/packages/@aws-cdk/aws-autoscaling/package.json +++ b/packages/@aws-cdk/aws-autoscaling/package.json @@ -143,5 +143,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-autoscalingplans/README.md b/packages/@aws-cdk/aws-autoscalingplans/README.md index 230de221fb31e..7b55756246b51 100644 --- a/packages/@aws-cdk/aws-autoscalingplans/README.md +++ b/packages/@aws-cdk/aws-autoscalingplans/README.md @@ -1,18 +1,10 @@ ## AWS Auto Scaling Plans Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-autoscalingplans/package.json b/packages/@aws-cdk/aws-autoscalingplans/package.json index c7cfe3af83a31..19173d8cef4fc 100644 --- a/packages/@aws-cdk/aws-autoscalingplans/package.json +++ b/packages/@aws-cdk/aws-autoscalingplans/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-backup/README.md b/packages/@aws-cdk/aws-backup/README.md index ba562183d63a4..23e6d35b92f84 100644 --- a/packages/@aws-cdk/aws-backup/README.md +++ b/packages/@aws-cdk/aws-backup/README.md @@ -1,18 +1,10 @@ ## AWS Backup Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-backup/package.json b/packages/@aws-cdk/aws-backup/package.json index 8bc51981cb8e4..a0913e3f49684 100644 --- a/packages/@aws-cdk/aws-backup/package.json +++ b/packages/@aws-cdk/aws-backup/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-batch/README.md b/packages/@aws-cdk/aws-batch/README.md index 0945b8bea050c..a1ad987fd09bd 100644 --- a/packages/@aws-cdk/aws-batch/README.md +++ b/packages/@aws-cdk/aws-batch/README.md @@ -1,18 +1,14 @@ ## AWS Batch Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-batch/package.json b/packages/@aws-cdk/aws-batch/package.json index aa279c3f754e1..b6accb9e98900 100644 --- a/packages/@aws-cdk/aws-batch/package.json +++ b/packages/@aws-cdk/aws-batch/package.json @@ -107,6 +107,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-budgets/README.md b/packages/@aws-cdk/aws-budgets/README.md index 6cb1e1dfdbd52..8458bff0dea78 100644 --- a/packages/@aws-cdk/aws-budgets/README.md +++ b/packages/@aws-cdk/aws-budgets/README.md @@ -1,18 +1,10 @@ ## AWS Budgets Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-budgets/package.json b/packages/@aws-cdk/aws-budgets/package.json index 43a7d742da484..ff5e3e21369fc 100644 --- a/packages/@aws-cdk/aws-budgets/package.json +++ b/packages/@aws-cdk/aws-budgets/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-cassandra/README.md b/packages/@aws-cdk/aws-cassandra/README.md index 9db2b132c3b83..9693a007f3e0c 100644 --- a/packages/@aws-cdk/aws-cassandra/README.md +++ b/packages/@aws-cdk/aws-cassandra/README.md @@ -1,18 +1,10 @@ ## AWS::Cassandra Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-cassandra/package.json b/packages/@aws-cdk/aws-cassandra/package.json index 6fcc88d37e4e0..006ab850deaf0 100644 --- a/packages/@aws-cdk/aws-cassandra/package.json +++ b/packages/@aws-cdk/aws-cassandra/package.json @@ -80,6 +80,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-certificatemanager/README.md b/packages/@aws-cdk/aws-certificatemanager/README.md index 93bdc0e4fe5c6..9545a7bf21224 100644 --- a/packages/@aws-cdk/aws-certificatemanager/README.md +++ b/packages/@aws-cdk/aws-certificatemanager/README.md @@ -1,10 +1,10 @@ ## Amazon Certificate Manager Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-certificatemanager/package.json b/packages/@aws-cdk/aws-certificatemanager/package.json index 7145d67555409..665f334aada48 100644 --- a/packages/@aws-cdk/aws-certificatemanager/package.json +++ b/packages/@aws-cdk/aws-certificatemanager/package.json @@ -100,5 +100,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-chatbot/README.md b/packages/@aws-cdk/aws-chatbot/README.md index b21ff5215f528..b033453a90d72 100644 --- a/packages/@aws-cdk/aws-chatbot/README.md +++ b/packages/@aws-cdk/aws-chatbot/README.md @@ -1,18 +1,10 @@ ## AWS::Chatbot Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-chatbot/package.json b/packages/@aws-cdk/aws-chatbot/package.json index 70b605857185a..9e862827404ec 100644 --- a/packages/@aws-cdk/aws-chatbot/package.json +++ b/packages/@aws-cdk/aws-chatbot/package.json @@ -80,6 +80,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-cloud9/README.md b/packages/@aws-cdk/aws-cloud9/README.md index a7b371bcd836d..5f46fa558e85c 100644 --- a/packages/@aws-cdk/aws-cloud9/README.md +++ b/packages/@aws-cdk/aws-cloud9/README.md @@ -1,18 +1,14 @@ ## AWS Cloud9 Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-cloud9/package.json b/packages/@aws-cdk/aws-cloud9/package.json index 9af4bc3e35c3c..9aa79a4a8c233 100644 --- a/packages/@aws-cdk/aws-cloud9/package.json +++ b/packages/@aws-cdk/aws-cloud9/package.json @@ -107,6 +107,7 @@ ] }, "stability": "experimental", + "maturity": "experimental", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-cloudformation/README.md b/packages/@aws-cdk/aws-cloudformation/README.md index 192b788edae9f..ece84239769a4 100644 --- a/packages/@aws-cdk/aws-cloudformation/README.md +++ b/packages/@aws-cdk/aws-cloudformation/README.md @@ -1,10 +1,10 @@ ## AWS CloudFormation Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-cloudformation/package.json b/packages/@aws-cdk/aws-cloudformation/package.json index 2806975b755e4..bc74e679ea98e 100644 --- a/packages/@aws-cdk/aws-cloudformation/package.json +++ b/packages/@aws-cdk/aws-cloudformation/package.json @@ -110,5 +110,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-cloudfront/README.md b/packages/@aws-cdk/aws-cloudfront/README.md index a030028dadf10..ad3ec2df4301c 100644 --- a/packages/@aws-cdk/aws-cloudfront/README.md +++ b/packages/@aws-cdk/aws-cloudfront/README.md @@ -1,18 +1,14 @@ ## Amazon CloudFront Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-cloudfront/package.json b/packages/@aws-cdk/aws-cloudfront/package.json index 7c32e0cff2d16..f9a8b8447eccf 100644 --- a/packages/@aws-cdk/aws-cloudfront/package.json +++ b/packages/@aws-cdk/aws-cloudfront/package.json @@ -94,6 +94,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awslint": { "exclude": [ "props-physical-name:@aws-cdk/aws-cloudfront.OriginAccessIdentityProps", diff --git a/packages/@aws-cdk/aws-cloudtrail/README.md b/packages/@aws-cdk/aws-cloudtrail/README.md index cba9161163d77..e96ebebc78451 100644 --- a/packages/@aws-cdk/aws-cloudtrail/README.md +++ b/packages/@aws-cdk/aws-cloudtrail/README.md @@ -1,18 +1,14 @@ ## AWS CloudTrail Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-cloudtrail/lib/cloudtrail.ts b/packages/@aws-cdk/aws-cloudtrail/lib/cloudtrail.ts new file mode 100644 index 0000000000000..8fb4fcacd8c71 --- /dev/null +++ b/packages/@aws-cdk/aws-cloudtrail/lib/cloudtrail.ts @@ -0,0 +1,296 @@ +import * as events from '@aws-cdk/aws-events'; +import * as iam from '@aws-cdk/aws-iam'; +import * as kms from '@aws-cdk/aws-kms'; +import * as logs from '@aws-cdk/aws-logs'; +import * as s3 from '@aws-cdk/aws-s3'; +import { Construct, Resource, Stack } from '@aws-cdk/core'; +import { CfnTrail } from './cloudtrail.generated'; + +export interface TrailProps { + /** + * For most services, events are recorded in the region where the action occurred. + * For global services such as AWS Identity and Access Management (IAM), AWS STS, Amazon CloudFront, and Route 53, + * events are delivered to any trail that includes global services, and are logged as occurring in US East (N. Virginia) Region. + * + * @default true + */ + readonly includeGlobalServiceEvents?: boolean; + + /** + * Whether or not this trail delivers log files from multiple regions to a single S3 bucket for a single account. + * + * @default true + */ + readonly isMultiRegionTrail?: boolean; + + /** + * When an event occurs in your account, CloudTrail evaluates whether the event matches the settings for your trails. + * Only events that match your trail settings are delivered to your Amazon S3 bucket and Amazon CloudWatch Logs log group. + * + * This method sets the management configuration for this trail. + * + * Management events provide insight into management operations that are performed on resources in your AWS account. + * These are also known as control plane operations. + * Management events can also include non-API events that occur in your account. + * For example, when a user logs in to your account, CloudTrail logs the ConsoleLogin event. + * + * @param managementEvents the management configuration type to log + * + * @default - Management events will not be logged. + */ + readonly managementEvents?: ReadWriteType; + + /** + * To determine whether a log file was modified, deleted, or unchanged after CloudTrail delivered it, + * you can use CloudTrail log file integrity validation. + * This feature is built using industry standard algorithms: SHA-256 for hashing and SHA-256 with RSA for digital signing. + * This makes it computationally infeasible to modify, delete or forge CloudTrail log files without detection. + * You can use the AWS CLI to validate the files in the location where CloudTrail delivered them. + * + * @default true + */ + readonly enableFileValidation?: boolean; + + /** + * If CloudTrail pushes logs to CloudWatch Logs in addition to S3. + * Disabled for cost out of the box. + * + * @default false + */ + readonly sendToCloudWatchLogs?: boolean; + + /** + * How long to retain logs in CloudWatchLogs. Ignored if sendToCloudWatchLogs is false + * + * @default logs.RetentionDays.OneYear + */ + readonly cloudWatchLogsRetention?: logs.RetentionDays; + + /** The AWS Key Management Service (AWS KMS) key ID that you want to use to encrypt CloudTrail logs. + * + * @default - No encryption. + */ + readonly kmsKey?: kms.IKey; + + /** The name of an Amazon SNS topic that is notified when new log files are published. + * + * @default - No notifications. + */ + readonly snsTopic?: string; // TODO: fix to use L2 SNS + + /** + * The name of the trail. We recoomend customers do not set an explicit name. + * + * @default - AWS CloudFormation generated name. + */ + readonly trailName?: string; + + /** An Amazon S3 object key prefix that precedes the name of all log files. + * + * @default - No prefix. + */ + readonly s3KeyPrefix?: string; + + /** The Amazon S3 bucket + * + * @default - if not supplied a bucket will be created with all the correct permisions + */ + readonly bucket?: s3.IBucket +} + +export enum ReadWriteType { + READ_ONLY = 'ReadOnly', + WRITE_ONLY = 'WriteOnly', + ALL = 'All' +} + +/** + * Cloud trail allows you to log events that happen in your AWS account + * For example: + * + * import { CloudTrail } from '@aws-cdk/aws-cloudtrail' + * + * const cloudTrail = new CloudTrail(this, 'MyTrail'); + * + * NOTE the above example creates an UNENCRYPTED bucket by default, + * If you are required to use an Encrypted bucket you can supply a preconfigured bucket + * via TrailProps + * + */ +export class Trail extends Resource { + + /** + * @attribute + */ + public readonly trailArn: string; + + /** + * @attribute + */ + public readonly trailSnsTopicArn: string; + + private s3bucket: s3.IBucket; + private eventSelectors: EventSelector[] = []; + + constructor(scope: Construct, id: string, props: TrailProps = {}) { + super(scope, id, { + physicalName: props.trailName, + }); + + const cloudTrailPrincipal = new iam.ServicePrincipal('cloudtrail.amazonaws.com'); + + this.s3bucket = props.bucket || new s3.Bucket(this, 'S3', { encryption: s3.BucketEncryption.UNENCRYPTED }); + + this.s3bucket.addToResourcePolicy(new iam.PolicyStatement({ + resources: [this.s3bucket.bucketArn], + actions: ['s3:GetBucketAcl'], + principals: [cloudTrailPrincipal], + })); + + this.s3bucket.addToResourcePolicy(new iam.PolicyStatement({ + resources: [this.s3bucket.arnForObjects( + `${props.s3KeyPrefix ? `${props.s3KeyPrefix}/` : ''}AWSLogs/${Stack.of(this).account}/*` + )], + actions: ['s3:PutObject'], + principals: [cloudTrailPrincipal], + conditions: { + StringEquals: { 's3:x-amz-acl': 'bucket-owner-full-control' } + } + })); + + let logGroup: logs.CfnLogGroup | undefined; + let logsRole: iam.IRole | undefined; + + if (props.sendToCloudWatchLogs) { + logGroup = new logs.CfnLogGroup(this, 'LogGroup', { + retentionInDays: props.cloudWatchLogsRetention || logs.RetentionDays.ONE_YEAR + }); + + logsRole = new iam.Role(this, 'LogsRole', { assumedBy: cloudTrailPrincipal }); + + logsRole.addToPolicy(new iam.PolicyStatement({ + actions: ['logs:PutLogEvents', 'logs:CreateLogStream'], + resources: [logGroup.attrArn], + })); + } + + if (props.managementEvents) { + const managementEvent = { + includeManagementEvents: true, + readWriteType: props.managementEvents + }; + this.eventSelectors.push(managementEvent); + } + + // TODO: not all regions support validation. Use service configuration data to fail gracefully + const trail = new CfnTrail(this, 'Resource', { + isLogging: true, + enableLogFileValidation: props.enableFileValidation == null ? true : props.enableFileValidation, + isMultiRegionTrail: props.isMultiRegionTrail == null ? true : props.isMultiRegionTrail, + includeGlobalServiceEvents: props.includeGlobalServiceEvents == null ? true : props.includeGlobalServiceEvents, + trailName: this.physicalName, + kmsKeyId: props.kmsKey && props.kmsKey.keyArn, + s3BucketName: this.s3bucket.bucketName, + s3KeyPrefix: props.s3KeyPrefix, + cloudWatchLogsLogGroupArn: logGroup && logGroup.attrArn, + cloudWatchLogsRoleArn: logsRole && logsRole.roleArn, + snsTopicName: props.snsTopic, + eventSelectors: this.eventSelectors + }); + + this.trailArn = this.getResourceArnAttribute(trail.attrArn, { + service: 'cloudtrail', + resource: 'trail', + resourceName: this.physicalName, + }); + this.trailSnsTopicArn = trail.attrSnsTopicArn; + + // Add a dependency on the bucket policy being updated, CloudTrail will test this upon creation. + if (this.s3bucket.policy) { + trail.node.addDependency(this.s3bucket.policy); + } + + // If props.sendToCloudWatchLogs is set to true then the trail needs to depend on the created logsRole + // so that it can create the log stream for the log group. This ensures the logsRole is created and propagated + // before the trail tries to create the log stream. + if (logsRole !== undefined) { + trail.node.addDependency(logsRole); + } + } + + /** + * When an event occurs in your account, CloudTrail evaluates whether the event matches the settings for your trails. + * Only events that match your trail settings are delivered to your Amazon S3 bucket and Amazon CloudWatch Logs log group. + * + * This method adds an S3 Data Event Selector for filtering events that match S3 operations. + * + * Data events: These events provide insight into the resource operations performed on or within a resource. + * These are also known as data plane operations. + * + * @param prefixes the list of object ARN prefixes to include in logging (maximum 250 entries). + * @param options the options to configure logging of management and data events. + */ + public addS3EventSelector(prefixes: string[], options: AddS3EventSelectorOptions = {}) { + if (prefixes.length > 250) { + throw new Error('A maximum of 250 data elements can be in one event selector'); + } + if (this.eventSelectors.length > 5) { + throw new Error('A maximum of 5 event selectors are supported per trail.'); + } + this.eventSelectors.push({ + includeManagementEvents: options.includeManagementEvents, + readWriteType: options.readWriteType, + dataResources: [{ + type: 'AWS::S3::Object', + values: prefixes + }] + }); + } + + /** + * Create an event rule for when an event is recorded by any Trail in the account. + * + * Note that the event doesn't necessarily have to come from this Trail, it can + * be captured from any one. + * + * Be sure to filter the event further down using an event pattern. + */ + public onCloudTrailEvent(id: string, options: events.OnEventOptions = {}): events.Rule { + const rule = new events.Rule(this, id, options); + rule.addTarget(options.target); + rule.addEventPattern({ + detailType: ['AWS API Call via CloudTrail'] + }); + return rule; + } +} + +/** + * Options for adding an S3 event selector. + */ +export interface AddS3EventSelectorOptions { + /** + * Specifies whether to log read-only events, write-only events, or all events. + * + * @default ReadWriteType.All + */ + readonly readWriteType?: ReadWriteType; + + /** + * Specifies whether the event selector includes management events for the trail. + * + * @default true + */ + readonly includeManagementEvents?: boolean; +} + +interface EventSelector { + readonly includeManagementEvents?: boolean; + readonly readWriteType?: ReadWriteType; + readonly dataResources?: EventSelectorData[]; +} + +interface EventSelectorData { + readonly type: string; + readonly values: string[]; +} diff --git a/packages/@aws-cdk/aws-cloudtrail/lib/index.ts b/packages/@aws-cdk/aws-cloudtrail/lib/index.ts index af3accb8c7d72..41ac10d9ee6ec 100644 --- a/packages/@aws-cdk/aws-cloudtrail/lib/index.ts +++ b/packages/@aws-cdk/aws-cloudtrail/lib/index.ts @@ -1,299 +1,4 @@ -import * as events from '@aws-cdk/aws-events'; -import * as iam from '@aws-cdk/aws-iam'; -import * as kms from '@aws-cdk/aws-kms'; -import * as logs from '@aws-cdk/aws-logs'; -import * as s3 from '@aws-cdk/aws-s3'; -import { Construct, Resource, Stack } from '@aws-cdk/core'; -import { CfnTrail } from './cloudtrail.generated'; +export * from './cloudtrail'; // AWS::CloudTrail CloudFormation Resources: export * from './cloudtrail.generated'; - -export interface TrailProps { - /** - * For most services, events are recorded in the region where the action occurred. - * For global services such as AWS Identity and Access Management (IAM), AWS STS, Amazon CloudFront, and Route 53, - * events are delivered to any trail that includes global services, and are logged as occurring in US East (N. Virginia) Region. - * - * @default true - */ - readonly includeGlobalServiceEvents?: boolean; - - /** - * Whether or not this trail delivers log files from multiple regions to a single S3 bucket for a single account. - * - * @default true - */ - readonly isMultiRegionTrail?: boolean; - - /** - * When an event occurs in your account, CloudTrail evaluates whether the event matches the settings for your trails. - * Only events that match your trail settings are delivered to your Amazon S3 bucket and Amazon CloudWatch Logs log group. - * - * This method sets the management configuration for this trail. - * - * Management events provide insight into management operations that are performed on resources in your AWS account. - * These are also known as control plane operations. - * Management events can also include non-API events that occur in your account. - * For example, when a user logs in to your account, CloudTrail logs the ConsoleLogin event. - * - * @param managementEvents the management configuration type to log - * - * @default - Management events will not be logged. - */ - readonly managementEvents?: ReadWriteType; - - /** - * To determine whether a log file was modified, deleted, or unchanged after CloudTrail delivered it, - * you can use CloudTrail log file integrity validation. - * This feature is built using industry standard algorithms: SHA-256 for hashing and SHA-256 with RSA for digital signing. - * This makes it computationally infeasible to modify, delete or forge CloudTrail log files without detection. - * You can use the AWS CLI to validate the files in the location where CloudTrail delivered them. - * - * @default true - */ - readonly enableFileValidation?: boolean; - - /** - * If CloudTrail pushes logs to CloudWatch Logs in addition to S3. - * Disabled for cost out of the box. - * - * @default false - */ - readonly sendToCloudWatchLogs?: boolean; - - /** - * How long to retain logs in CloudWatchLogs. Ignored if sendToCloudWatchLogs is false - * - * @default logs.RetentionDays.OneYear - */ - readonly cloudWatchLogsRetention?: logs.RetentionDays; - - /** The AWS Key Management Service (AWS KMS) key ID that you want to use to encrypt CloudTrail logs. - * - * @default - No encryption. - */ - readonly kmsKey?: kms.IKey; - - /** The name of an Amazon SNS topic that is notified when new log files are published. - * - * @default - No notifications. - */ - readonly snsTopic?: string; // TODO: fix to use L2 SNS - - /** - * The name of the trail. We recoomend customers do not set an explicit name. - * - * @default - AWS CloudFormation generated name. - */ - readonly trailName?: string; - - /** An Amazon S3 object key prefix that precedes the name of all log files. - * - * @default - No prefix. - */ - readonly s3KeyPrefix?: string; - - /** The Amazon S3 bucket - * - * @default - if not supplied a bucket will be created with all the correct permisions - */ - readonly bucket?: s3.IBucket -} - -export enum ReadWriteType { - READ_ONLY = 'ReadOnly', - WRITE_ONLY = 'WriteOnly', - ALL = 'All' -} - -/** - * Cloud trail allows you to log events that happen in your AWS account - * For example: - * - * import { CloudTrail } from '@aws-cdk/aws-cloudtrail' - * - * const cloudTrail = new CloudTrail(this, 'MyTrail'); - * - * NOTE the above example creates an UNENCRYPTED bucket by default, - * If you are required to use an Encrypted bucket you can supply a preconfigured bucket - * via TrailProps - * - */ -export class Trail extends Resource { - - /** - * @attribute - */ - public readonly trailArn: string; - - /** - * @attribute - */ - public readonly trailSnsTopicArn: string; - - private s3bucket: s3.IBucket; - private eventSelectors: EventSelector[] = []; - - constructor(scope: Construct, id: string, props: TrailProps = {}) { - super(scope, id, { - physicalName: props.trailName, - }); - - const cloudTrailPrincipal = new iam.ServicePrincipal('cloudtrail.amazonaws.com'); - - this.s3bucket = props.bucket || new s3.Bucket(this, 'S3', { encryption: s3.BucketEncryption.UNENCRYPTED }); - - this.s3bucket.addToResourcePolicy(new iam.PolicyStatement({ - resources: [this.s3bucket.bucketArn], - actions: ['s3:GetBucketAcl'], - principals: [cloudTrailPrincipal], - })); - - this.s3bucket.addToResourcePolicy(new iam.PolicyStatement({ - resources: [this.s3bucket.arnForObjects( - `${props.s3KeyPrefix ? `${props.s3KeyPrefix}/` : ''}AWSLogs/${Stack.of(this).account}/*` - )], - actions: ['s3:PutObject'], - principals: [cloudTrailPrincipal], - conditions: { - StringEquals: { 's3:x-amz-acl': 'bucket-owner-full-control' } - } - })); - - let logGroup: logs.CfnLogGroup | undefined; - let logsRole: iam.IRole | undefined; - - if (props.sendToCloudWatchLogs) { - logGroup = new logs.CfnLogGroup(this, 'LogGroup', { - retentionInDays: props.cloudWatchLogsRetention || logs.RetentionDays.ONE_YEAR - }); - - logsRole = new iam.Role(this, 'LogsRole', { assumedBy: cloudTrailPrincipal }); - - logsRole.addToPolicy(new iam.PolicyStatement({ - actions: ['logs:PutLogEvents', 'logs:CreateLogStream'], - resources: [logGroup.attrArn], - })); - } - - if (props.managementEvents) { - const managementEvent = { - includeManagementEvents: true, - readWriteType: props.managementEvents - }; - this.eventSelectors.push(managementEvent); - } - - // TODO: not all regions support validation. Use service configuration data to fail gracefully - const trail = new CfnTrail(this, 'Resource', { - isLogging: true, - enableLogFileValidation: props.enableFileValidation == null ? true : props.enableFileValidation, - isMultiRegionTrail: props.isMultiRegionTrail == null ? true : props.isMultiRegionTrail, - includeGlobalServiceEvents: props.includeGlobalServiceEvents == null ? true : props.includeGlobalServiceEvents, - trailName: this.physicalName, - kmsKeyId: props.kmsKey && props.kmsKey.keyArn, - s3BucketName: this.s3bucket.bucketName, - s3KeyPrefix: props.s3KeyPrefix, - cloudWatchLogsLogGroupArn: logGroup && logGroup.attrArn, - cloudWatchLogsRoleArn: logsRole && logsRole.roleArn, - snsTopicName: props.snsTopic, - eventSelectors: this.eventSelectors - }); - - this.trailArn = this.getResourceArnAttribute(trail.attrArn, { - service: 'cloudtrail', - resource: 'trail', - resourceName: this.physicalName, - }); - this.trailSnsTopicArn = trail.attrSnsTopicArn; - - // Add a dependency on the bucket policy being updated, CloudTrail will test this upon creation. - if (this.s3bucket.policy) { - trail.node.addDependency(this.s3bucket.policy); - } - - // If props.sendToCloudWatchLogs is set to true then the trail needs to depend on the created logsRole - // so that it can create the log stream for the log group. This ensures the logsRole is created and propagated - // before the trail tries to create the log stream. - if (logsRole !== undefined) { - trail.node.addDependency(logsRole); - } - } - - /** - * When an event occurs in your account, CloudTrail evaluates whether the event matches the settings for your trails. - * Only events that match your trail settings are delivered to your Amazon S3 bucket and Amazon CloudWatch Logs log group. - * - * This method adds an S3 Data Event Selector for filtering events that match S3 operations. - * - * Data events: These events provide insight into the resource operations performed on or within a resource. - * These are also known as data plane operations. - * - * @param prefixes the list of object ARN prefixes to include in logging (maximum 250 entries). - * @param options the options to configure logging of management and data events. - */ - public addS3EventSelector(prefixes: string[], options: AddS3EventSelectorOptions = {}) { - if (prefixes.length > 250) { - throw new Error('A maximum of 250 data elements can be in one event selector'); - } - if (this.eventSelectors.length > 5) { - throw new Error('A maximum of 5 event selectors are supported per trail.'); - } - this.eventSelectors.push({ - includeManagementEvents: options.includeManagementEvents, - readWriteType: options.readWriteType, - dataResources: [{ - type: 'AWS::S3::Object', - values: prefixes - }] - }); - } - - /** - * Create an event rule for when an event is recorded by any Trail in the account. - * - * Note that the event doesn't necessarily have to come from this Trail, it can - * be captured from any one. - * - * Be sure to filter the event further down using an event pattern. - */ - public onCloudTrailEvent(id: string, options: events.OnEventOptions = {}): events.Rule { - const rule = new events.Rule(this, id, options); - rule.addTarget(options.target); - rule.addEventPattern({ - detailType: ['AWS API Call via CloudTrail'] - }); - return rule; - } -} - -/** - * Options for adding an S3 event selector. - */ -export interface AddS3EventSelectorOptions { - /** - * Specifies whether to log read-only events, write-only events, or all events. - * - * @default ReadWriteType.All - */ - readonly readWriteType?: ReadWriteType; - - /** - * Specifies whether the event selector includes management events for the trail. - * - * @default true - */ - readonly includeManagementEvents?: boolean; -} - -interface EventSelector { - readonly includeManagementEvents?: boolean; - readonly readWriteType?: ReadWriteType; - readonly dataResources?: EventSelectorData[]; -} - -interface EventSelectorData { - readonly type: string; - readonly values: string[]; -} diff --git a/packages/@aws-cdk/aws-cloudtrail/package.json b/packages/@aws-cdk/aws-cloudtrail/package.json index b63357c3761a1..821d22806f4f5 100644 --- a/packages/@aws-cdk/aws-cloudtrail/package.json +++ b/packages/@aws-cdk/aws-cloudtrail/package.json @@ -95,6 +95,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awslint": { "exclude": [ "docs-public-apis:@aws-cdk/aws-cloudtrail.Trail.trailArn", diff --git a/packages/@aws-cdk/aws-cloudwatch-actions/README.md b/packages/@aws-cdk/aws-cloudwatch-actions/README.md index c0b014c89014a..73f541d4a47b9 100644 --- a/packages/@aws-cdk/aws-cloudwatch-actions/README.md +++ b/packages/@aws-cdk/aws-cloudwatch-actions/README.md @@ -1,10 +1,8 @@ # CloudWatch Alarm Actions library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-cloudwatch-actions/package.json b/packages/@aws-cdk/aws-cloudwatch-actions/package.json index 9f9e3cf877517..3823910dd4286 100644 --- a/packages/@aws-cdk/aws-cloudwatch-actions/package.json +++ b/packages/@aws-cdk/aws-cloudwatch-actions/package.json @@ -116,5 +116,6 @@ }, "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-cloudwatch/README.md b/packages/@aws-cdk/aws-cloudwatch/README.md index 60da6beb5ee9a..37644683be50e 100644 --- a/packages/@aws-cdk/aws-cloudwatch/README.md +++ b/packages/@aws-cdk/aws-cloudwatch/README.md @@ -1,10 +1,10 @@ ## Amazon CloudWatch Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-cloudwatch/package.json b/packages/@aws-cdk/aws-cloudwatch/package.json index 223109fe3d2c7..35efb5aae1e06 100644 --- a/packages/@aws-cdk/aws-cloudwatch/package.json +++ b/packages/@aws-cdk/aws-cloudwatch/package.json @@ -107,5 +107,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-codebuild/README.md b/packages/@aws-cdk/aws-codebuild/README.md index 720c9981cbcce..0b28d65d992e8 100644 --- a/packages/@aws-cdk/aws-codebuild/README.md +++ b/packages/@aws-cdk/aws-codebuild/README.md @@ -1,10 +1,10 @@ ## AWS CodeBuild Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-codebuild/package.json b/packages/@aws-cdk/aws-codebuild/package.json index 699ae7bfa6008..ad59853e1cd8d 100644 --- a/packages/@aws-cdk/aws-codebuild/package.json +++ b/packages/@aws-cdk/aws-codebuild/package.json @@ -213,5 +213,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-codecommit/README.md b/packages/@aws-cdk/aws-codecommit/README.md index d10f4b26fc386..c3aaec8bd88a4 100644 --- a/packages/@aws-cdk/aws-codecommit/README.md +++ b/packages/@aws-cdk/aws-codecommit/README.md @@ -1,10 +1,10 @@ ## AWS CodeCommit Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-codecommit/package.json b/packages/@aws-cdk/aws-codecommit/package.json index 4214e6f3ccc05..fb7447af2acc1 100644 --- a/packages/@aws-cdk/aws-codecommit/package.json +++ b/packages/@aws-cdk/aws-codecommit/package.json @@ -111,5 +111,6 @@ }, "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-codedeploy/README.md b/packages/@aws-cdk/aws-codedeploy/README.md index aff148bd80f08..6b57fbaaf5562 100644 --- a/packages/@aws-cdk/aws-codedeploy/README.md +++ b/packages/@aws-cdk/aws-codedeploy/README.md @@ -1,10 +1,10 @@ ## AWS CodeDeploy Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-codedeploy/package.json b/packages/@aws-cdk/aws-codedeploy/package.json index 5aa50e102fbe3..14cb83c427c71 100644 --- a/packages/@aws-cdk/aws-codedeploy/package.json +++ b/packages/@aws-cdk/aws-codedeploy/package.json @@ -161,5 +161,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-codeguruprofiler/README.md b/packages/@aws-cdk/aws-codeguruprofiler/README.md index e127d53b204f0..5967f9482ef32 100644 --- a/packages/@aws-cdk/aws-codeguruprofiler/README.md +++ b/packages/@aws-cdk/aws-codeguruprofiler/README.md @@ -1,18 +1,10 @@ ## AWS::CodeGuruProfiler Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-codeguruprofiler/package.json b/packages/@aws-cdk/aws-codeguruprofiler/package.json index 8f63c6619b42a..7b42aafa2672c 100644 --- a/packages/@aws-cdk/aws-codeguruprofiler/package.json +++ b/packages/@aws-cdk/aws-codeguruprofiler/package.json @@ -80,6 +80,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-codepipeline-actions/README.md b/packages/@aws-cdk/aws-codepipeline-actions/README.md index db844f3ec8d18..e7388752d17fb 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/README.md +++ b/packages/@aws-cdk/aws-codepipeline-actions/README.md @@ -1,10 +1,8 @@ ## AWS CodePipeline Actions - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-codepipeline-actions/package.json b/packages/@aws-cdk/aws-codepipeline-actions/package.json index c45160474e5eb..eb601d3c019b8 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/package.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/package.json @@ -168,5 +168,6 @@ }, "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-codepipeline/README.md b/packages/@aws-cdk/aws-codepipeline/README.md index 5e77c98e492bb..eddc5ca501404 100644 --- a/packages/@aws-cdk/aws-codepipeline/README.md +++ b/packages/@aws-cdk/aws-codepipeline/README.md @@ -1,10 +1,10 @@ ## AWS CodePipeline Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-codepipeline/package.json b/packages/@aws-cdk/aws-codepipeline/package.json index 2e9dcd4e2d746..f5bfc3541734e 100644 --- a/packages/@aws-cdk/aws-codepipeline/package.json +++ b/packages/@aws-cdk/aws-codepipeline/package.json @@ -166,5 +166,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-codestar/README.md b/packages/@aws-cdk/aws-codestar/README.md index 45cd7815e756c..6c1685a412ad3 100644 --- a/packages/@aws-cdk/aws-codestar/README.md +++ b/packages/@aws-cdk/aws-codestar/README.md @@ -1,18 +1,10 @@ ## AWS::CodeStar Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-codestar/package.json b/packages/@aws-cdk/aws-codestar/package.json index 2a969b0f701d0..0f4a05f4c4431 100644 --- a/packages/@aws-cdk/aws-codestar/package.json +++ b/packages/@aws-cdk/aws-codestar/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-codestarconnections/README.md b/packages/@aws-cdk/aws-codestarconnections/README.md index be2486e5366c6..ae7c4764bbee6 100644 --- a/packages/@aws-cdk/aws-codestarconnections/README.md +++ b/packages/@aws-cdk/aws-codestarconnections/README.md @@ -1,18 +1,10 @@ ## AWS::CodeStarConnections Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-codestarconnections/package.json b/packages/@aws-cdk/aws-codestarconnections/package.json index fc9327955847c..1b5c617a82cea 100644 --- a/packages/@aws-cdk/aws-codestarconnections/package.json +++ b/packages/@aws-cdk/aws-codestarconnections/package.json @@ -80,6 +80,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-codestarnotifications/README.md b/packages/@aws-cdk/aws-codestarnotifications/README.md index b826fa1ef2ac5..dfd7e05d83d07 100644 --- a/packages/@aws-cdk/aws-codestarnotifications/README.md +++ b/packages/@aws-cdk/aws-codestarnotifications/README.md @@ -1,18 +1,10 @@ ## AWS::CodeStarNotifications Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-codestarnotifications/package.json b/packages/@aws-cdk/aws-codestarnotifications/package.json index 960da2eb6ab79..14c65c6c49914 100644 --- a/packages/@aws-cdk/aws-codestarnotifications/package.json +++ b/packages/@aws-cdk/aws-codestarnotifications/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-cognito/README.md b/packages/@aws-cdk/aws-cognito/README.md index 6c85ce75396ce..e40b2cfd1a384 100644 --- a/packages/@aws-cdk/aws-cognito/README.md +++ b/packages/@aws-cdk/aws-cognito/README.md @@ -1,18 +1,14 @@ ## Amazon Cognito Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-cognito/package.json b/packages/@aws-cdk/aws-cognito/package.json index 05354a1114a8f..ce41fbd6aa706 100644 --- a/packages/@aws-cdk/aws-cognito/package.json +++ b/packages/@aws-cdk/aws-cognito/package.json @@ -95,6 +95,7 @@ ] }, "stability": "experimental", + "maturity": "experimental", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-config/README.md b/packages/@aws-cdk/aws-config/README.md index 5f7a09515feb1..0a84724e4e39d 100644 --- a/packages/@aws-cdk/aws-config/README.md +++ b/packages/@aws-cdk/aws-config/README.md @@ -1,18 +1,14 @@ ## AWS Config Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Developer Preview](https://img.shields.io/badge/cdk--constructs-developer--preview-informational.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are in **developer preview** before they become stable. We will only make breaking changes to address unforeseen API issues. Therefore, these APIs are not subject to [Semantic Versioning](https://semver.org/), and breaking changes will be announced in release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-config/package.json b/packages/@aws-cdk/aws-config/package.json index 525d5f55da180..714e476ca1a42 100644 --- a/packages/@aws-cdk/aws-config/package.json +++ b/packages/@aws-cdk/aws-config/package.json @@ -92,6 +92,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "developer-preview", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-datapipeline/README.md b/packages/@aws-cdk/aws-datapipeline/README.md index a7eddc7f0d21c..e0dfce4b998fd 100644 --- a/packages/@aws-cdk/aws-datapipeline/README.md +++ b/packages/@aws-cdk/aws-datapipeline/README.md @@ -1,18 +1,10 @@ ## AWS Data Pipeline Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-datapipeline/package.json b/packages/@aws-cdk/aws-datapipeline/package.json index 43fa4eaed2c8d..3c1f49a823a79 100644 --- a/packages/@aws-cdk/aws-datapipeline/package.json +++ b/packages/@aws-cdk/aws-datapipeline/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-dax/README.md b/packages/@aws-cdk/aws-dax/README.md index 05f54c720ebb4..9bb7cb14d9e86 100644 --- a/packages/@aws-cdk/aws-dax/README.md +++ b/packages/@aws-cdk/aws-dax/README.md @@ -1,18 +1,10 @@ ## Amazon DynamoDB Accelerator Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-dax/package.json b/packages/@aws-cdk/aws-dax/package.json index 02adc480e9e1e..99162530918fc 100644 --- a/packages/@aws-cdk/aws-dax/package.json +++ b/packages/@aws-cdk/aws-dax/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-detective/README.md b/packages/@aws-cdk/aws-detective/README.md index 43b9ab1cd04b5..3f8796c65076f 100644 --- a/packages/@aws-cdk/aws-detective/README.md +++ b/packages/@aws-cdk/aws-detective/README.md @@ -1,18 +1,10 @@ ## AWS::Detective Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-detective/package.json b/packages/@aws-cdk/aws-detective/package.json index 310fd7342ab2a..b6f221ecfdda6 100644 --- a/packages/@aws-cdk/aws-detective/package.json +++ b/packages/@aws-cdk/aws-detective/package.json @@ -82,5 +82,6 @@ "stability": "experimental", "awscdkio": { "announce": false - } + }, + "maturity": "cfn-only" } diff --git a/packages/@aws-cdk/aws-directoryservice/README.md b/packages/@aws-cdk/aws-directoryservice/README.md index 5daacfdb45e43..7375c912fc652 100644 --- a/packages/@aws-cdk/aws-directoryservice/README.md +++ b/packages/@aws-cdk/aws-directoryservice/README.md @@ -1,18 +1,10 @@ ## AWS Directory Service Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-directoryservice/package.json b/packages/@aws-cdk/aws-directoryservice/package.json index 54b35d4e30059..007e869825dd8 100644 --- a/packages/@aws-cdk/aws-directoryservice/package.json +++ b/packages/@aws-cdk/aws-directoryservice/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-dlm/README.md b/packages/@aws-cdk/aws-dlm/README.md index fca2acb6d66e7..2f20af98fe9c0 100644 --- a/packages/@aws-cdk/aws-dlm/README.md +++ b/packages/@aws-cdk/aws-dlm/README.md @@ -1,18 +1,10 @@ ## Amazon Data Lifecycle Manager Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-dlm/package.json b/packages/@aws-cdk/aws-dlm/package.json index e3b094324b6b9..285a8eafce221 100644 --- a/packages/@aws-cdk/aws-dlm/package.json +++ b/packages/@aws-cdk/aws-dlm/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-dms/README.md b/packages/@aws-cdk/aws-dms/README.md index ec048fef319eb..97b6e6567f363 100644 --- a/packages/@aws-cdk/aws-dms/README.md +++ b/packages/@aws-cdk/aws-dms/README.md @@ -1,18 +1,10 @@ ## AWS Database Migration Service Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-dms/package.json b/packages/@aws-cdk/aws-dms/package.json index 81d1c6ff91717..6ff1609bf5c5a 100644 --- a/packages/@aws-cdk/aws-dms/package.json +++ b/packages/@aws-cdk/aws-dms/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-docdb/README.md b/packages/@aws-cdk/aws-docdb/README.md index 98c12f21624aa..8bddab3cc1b4a 100644 --- a/packages/@aws-cdk/aws-docdb/README.md +++ b/packages/@aws-cdk/aws-docdb/README.md @@ -1,18 +1,10 @@ ## Amazon DocumentDB Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-docdb/package.json b/packages/@aws-cdk/aws-docdb/package.json index dfd279108f1f8..c04ddfbce84d5 100644 --- a/packages/@aws-cdk/aws-docdb/package.json +++ b/packages/@aws-cdk/aws-docdb/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-dynamodb-global/README.md b/packages/@aws-cdk/aws-dynamodb-global/README.md index 291b4f61f2111..5883da00b0423 100644 --- a/packages/@aws-cdk/aws-dynamodb-global/README.md +++ b/packages/@aws-cdk/aws-dynamodb-global/README.md @@ -1,9 +1,8 @@ ## @aws-cdk/aws-dynamodb-global - --- -![Stability: Deprecated](https://img.shields.io/badge/stability-Deprecated-critical.svg?style=for-the-badge) +![Deprecated](https://img.shields.io/badge/deprecated-critical.svg?style=for-the-badge) > This API may emit warnings. Backward compatibility is not guaranteed. diff --git a/packages/@aws-cdk/aws-dynamodb-global/package.json b/packages/@aws-cdk/aws-dynamodb-global/package.json index d0e37afeec6ce..77d68f0ae0dc9 100644 --- a/packages/@aws-cdk/aws-dynamodb-global/package.json +++ b/packages/@aws-cdk/aws-dynamodb-global/package.json @@ -92,5 +92,6 @@ "stability": "deprecated", "awscdkio": { "announce": false - } + }, + "maturity": "deprecated" } diff --git a/packages/@aws-cdk/aws-dynamodb/README.md b/packages/@aws-cdk/aws-dynamodb/README.md index bc2caca00e931..239444d9dce6c 100644 --- a/packages/@aws-cdk/aws-dynamodb/README.md +++ b/packages/@aws-cdk/aws-dynamodb/README.md @@ -1,10 +1,10 @@ ## Amazon DynamoDB Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-dynamodb/package.json b/packages/@aws-cdk/aws-dynamodb/package.json index 7ed50ab720aab..6306466cfe959 100644 --- a/packages/@aws-cdk/aws-dynamodb/package.json +++ b/packages/@aws-cdk/aws-dynamodb/package.json @@ -117,5 +117,6 @@ "awscdkio": { "announce": false }, - "jest": {} + "jest": {}, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-ec2/README.md b/packages/@aws-cdk/aws-ec2/README.md index dfc02f4b3fe28..9bc89671f6c9a 100644 --- a/packages/@aws-cdk/aws-ec2/README.md +++ b/packages/@aws-cdk/aws-ec2/README.md @@ -1,10 +1,10 @@ ## Amazon EC2 Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-ec2/package.json b/packages/@aws-cdk/aws-ec2/package.json index 6ad5a8a9e7e5e..9d2abfc8fcaa4 100644 --- a/packages/@aws-cdk/aws-ec2/package.json +++ b/packages/@aws-cdk/aws-ec2/package.json @@ -477,5 +477,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-ecr-assets/README.md b/packages/@aws-cdk/aws-ecr-assets/README.md index 75cfcab499c16..c120353a933ca 100644 --- a/packages/@aws-cdk/aws-ecr-assets/README.md +++ b/packages/@aws-cdk/aws-ecr-assets/README.md @@ -1,18 +1,10 @@ # AWS CDK Docker Image Assets - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-ecr-assets/package.json b/packages/@aws-cdk/aws-ecr-assets/package.json index 4d8169f5b36af..34f80cc8d88fd 100644 --- a/packages/@aws-cdk/aws-ecr-assets/package.json +++ b/packages/@aws-cdk/aws-ecr-assets/package.json @@ -104,6 +104,7 @@ "minimatch" ], "stability": "experimental", + "maturity": "experimental", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-ecr/README.md b/packages/@aws-cdk/aws-ecr/README.md index 9cdb07602e3fb..d3522e4a8d1d9 100644 --- a/packages/@aws-cdk/aws-ecr/README.md +++ b/packages/@aws-cdk/aws-ecr/README.md @@ -1,10 +1,10 @@ ## Amazon ECR Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-ecr/package.json b/packages/@aws-cdk/aws-ecr/package.json index 73ed3c63cbcce..5bbd9f0e4c179 100644 --- a/packages/@aws-cdk/aws-ecr/package.json +++ b/packages/@aws-cdk/aws-ecr/package.json @@ -108,5 +108,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-ecs-patterns/README.md b/packages/@aws-cdk/aws-ecs-patterns/README.md index e3f1f95984ed4..f8d9200d58b30 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/README.md +++ b/packages/@aws-cdk/aws-ecs-patterns/README.md @@ -1,10 +1,8 @@ # CDK Construct library for higher-level ECS Constructs - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-ecs-patterns/package.json b/packages/@aws-cdk/aws-ecs-patterns/package.json index b6cc17eba4575..f6ed8501adb82 100644 --- a/packages/@aws-cdk/aws-ecs-patterns/package.json +++ b/packages/@aws-cdk/aws-ecs-patterns/package.json @@ -116,5 +116,6 @@ }, "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-ecs/README.md b/packages/@aws-cdk/aws-ecs/README.md index 738187aa31731..388e3239568a2 100644 --- a/packages/@aws-cdk/aws-ecs/README.md +++ b/packages/@aws-cdk/aws-ecs/README.md @@ -1,10 +1,10 @@ ## Amazon ECS Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-ecs/package.json b/packages/@aws-cdk/aws-ecs/package.json index 7fd8d3bb13b82..774f8696778e2 100644 --- a/packages/@aws-cdk/aws-ecs/package.json +++ b/packages/@aws-cdk/aws-ecs/package.json @@ -259,5 +259,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-efs/README.md b/packages/@aws-cdk/aws-efs/README.md index c743f78786eee..f01df18a7a121 100644 --- a/packages/@aws-cdk/aws-efs/README.md +++ b/packages/@aws-cdk/aws-efs/README.md @@ -1,18 +1,14 @@ ## Amazon Elastic File System Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-efs/package.json b/packages/@aws-cdk/aws-efs/package.json index faebde4028261..df36a16c9dbcd 100644 --- a/packages/@aws-cdk/aws-efs/package.json +++ b/packages/@aws-cdk/aws-efs/package.json @@ -113,6 +113,7 @@ ] }, "stability": "experimental", + "maturity": "experimental", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-eks-legacy/README.md b/packages/@aws-cdk/aws-eks-legacy/README.md index 33aa05557a731..bb839de949c7e 100644 --- a/packages/@aws-cdk/aws-eks-legacy/README.md +++ b/packages/@aws-cdk/aws-eks-legacy/README.md @@ -1,10 +1,8 @@ ## Amazon EKS Construct Library - - --- -![Stability: Deprecated](https://img.shields.io/badge/stability-Deprecated-critical.svg?style=for-the-badge) +![Deprecated](https://img.shields.io/badge/deprecated-critical.svg?style=for-the-badge) > This API may emit warnings. Backward compatibility is not guaranteed. diff --git a/packages/@aws-cdk/aws-eks-legacy/package.json b/packages/@aws-cdk/aws-eks-legacy/package.json index 8dbd6d8913665..c305ee48e5a8e 100644 --- a/packages/@aws-cdk/aws-eks-legacy/package.json +++ b/packages/@aws-cdk/aws-eks-legacy/package.json @@ -120,5 +120,6 @@ "stability": "deprecated", "awscdkio": { "announce": false - } + }, + "maturity": "deprecated" } diff --git a/packages/@aws-cdk/aws-eks/README.md b/packages/@aws-cdk/aws-eks/README.md index 4930cd1e1cda7..84367ed81229f 100644 --- a/packages/@aws-cdk/aws-eks/README.md +++ b/packages/@aws-cdk/aws-eks/README.md @@ -1,18 +1,14 @@ ## Amazon EKS Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-eks/package.json b/packages/@aws-cdk/aws-eks/package.json index 5dce1a8f42897..85b1c3ef74f4e 100644 --- a/packages/@aws-cdk/aws-eks/package.json +++ b/packages/@aws-cdk/aws-eks/package.json @@ -110,7 +110,8 @@ ] }, "stability": "experimental", + "maturity": "experimental", "awscdkio": { "announce": false } -} \ No newline at end of file +} diff --git a/packages/@aws-cdk/aws-elasticache/README.md b/packages/@aws-cdk/aws-elasticache/README.md index a288bc6567227..90826ef92f1c1 100644 --- a/packages/@aws-cdk/aws-elasticache/README.md +++ b/packages/@aws-cdk/aws-elasticache/README.md @@ -1,18 +1,10 @@ ## Amazon ElastiCache Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-elasticache/package.json b/packages/@aws-cdk/aws-elasticache/package.json index ae6c891870dd0..4627b1d64cd14 100644 --- a/packages/@aws-cdk/aws-elasticache/package.json +++ b/packages/@aws-cdk/aws-elasticache/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-elasticbeanstalk/README.md b/packages/@aws-cdk/aws-elasticbeanstalk/README.md index dbbeacf35b427..5131196b64725 100644 --- a/packages/@aws-cdk/aws-elasticbeanstalk/README.md +++ b/packages/@aws-cdk/aws-elasticbeanstalk/README.md @@ -1,18 +1,10 @@ ## AWS Elastic Beanstalk Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-elasticbeanstalk/package.json b/packages/@aws-cdk/aws-elasticbeanstalk/package.json index c21c3c5d6ccd8..ccc6bfac6ca79 100644 --- a/packages/@aws-cdk/aws-elasticbeanstalk/package.json +++ b/packages/@aws-cdk/aws-elasticbeanstalk/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-elasticloadbalancing/README.md b/packages/@aws-cdk/aws-elasticloadbalancing/README.md index ed3dd23af6282..8188658ccdb0d 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancing/README.md +++ b/packages/@aws-cdk/aws-elasticloadbalancing/README.md @@ -1,10 +1,10 @@ ## Amazon Elastic Load Balancing Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-elasticloadbalancing/package.json b/packages/@aws-cdk/aws-elasticloadbalancing/package.json index b2de54b8386c9..aee227f64edfb 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancing/package.json +++ b/packages/@aws-cdk/aws-elasticloadbalancing/package.json @@ -112,5 +112,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/README.md b/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/README.md index 04c170b26c5d9..9e64b505478aa 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/README.md +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/README.md @@ -1,18 +1,10 @@ # Targets for AWS Elastic Load Balancing V2 - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/package.json b/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/package.json index e60171f151f75..6d36351fa76bb 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/package.json +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2-targets/package.json @@ -106,6 +106,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awslint": { "exclude": [ "docs-public-apis:@aws-cdk/aws-elasticloadbalancingv2-targets.InstanceTarget", diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/README.md b/packages/@aws-cdk/aws-elasticloadbalancingv2/README.md index 761be94dccfbe..29f52953dedd9 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/README.md +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/README.md @@ -1,10 +1,10 @@ ## Amazon Elastic Load Balancing V2 Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json b/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json index aeaf422bf4449..1f408e0080b50 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json @@ -128,5 +128,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-elasticsearch/README.md b/packages/@aws-cdk/aws-elasticsearch/README.md index 9f03c028f6144..bba696bd2a6c0 100644 --- a/packages/@aws-cdk/aws-elasticsearch/README.md +++ b/packages/@aws-cdk/aws-elasticsearch/README.md @@ -1,18 +1,10 @@ ## Amazon Elasticsearch Service Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-elasticsearch/package.json b/packages/@aws-cdk/aws-elasticsearch/package.json index ffdb579448414..c21d020f8e542 100644 --- a/packages/@aws-cdk/aws-elasticsearch/package.json +++ b/packages/@aws-cdk/aws-elasticsearch/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-emr/README.md b/packages/@aws-cdk/aws-emr/README.md index 7fb56846e5344..eb97e0086c75a 100644 --- a/packages/@aws-cdk/aws-emr/README.md +++ b/packages/@aws-cdk/aws-emr/README.md @@ -1,18 +1,10 @@ ## Amazon EMR Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-emr/package.json b/packages/@aws-cdk/aws-emr/package.json index e366eb9c73d76..6428798d68ad9 100644 --- a/packages/@aws-cdk/aws-emr/package.json +++ b/packages/@aws-cdk/aws-emr/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-events-targets/README.md b/packages/@aws-cdk/aws-events-targets/README.md index 30a04ee733c98..e599a7c067f4f 100644 --- a/packages/@aws-cdk/aws-events-targets/README.md +++ b/packages/@aws-cdk/aws-events-targets/README.md @@ -1,10 +1,8 @@ # Event Targets for AWS CloudWatch Events - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-events-targets/package.json b/packages/@aws-cdk/aws-events-targets/package.json index 63bc0e54d57cd..247ef2bfcbf02 100644 --- a/packages/@aws-cdk/aws-events-targets/package.json +++ b/packages/@aws-cdk/aws-events-targets/package.json @@ -145,5 +145,6 @@ }, "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-events/README.md b/packages/@aws-cdk/aws-events/README.md index 3feeaba0a3b68..3349d15055084 100644 --- a/packages/@aws-cdk/aws-events/README.md +++ b/packages/@aws-cdk/aws-events/README.md @@ -1,10 +1,10 @@ ## Amazon CloudWatch Events Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-events/package.json b/packages/@aws-cdk/aws-events/package.json index 0f573de091e53..d2712c88c6a33 100644 --- a/packages/@aws-cdk/aws-events/package.json +++ b/packages/@aws-cdk/aws-events/package.json @@ -98,5 +98,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-eventschemas/README.md b/packages/@aws-cdk/aws-eventschemas/README.md index 38871ab3d4833..7171e3fd8b7d5 100644 --- a/packages/@aws-cdk/aws-eventschemas/README.md +++ b/packages/@aws-cdk/aws-eventschemas/README.md @@ -1,18 +1,10 @@ ## AWS::EventSchemas Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-eventschemas/package.json b/packages/@aws-cdk/aws-eventschemas/package.json index 31ba9e634f5ba..c78dc12fa7f2c 100644 --- a/packages/@aws-cdk/aws-eventschemas/package.json +++ b/packages/@aws-cdk/aws-eventschemas/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-fms/README.md b/packages/@aws-cdk/aws-fms/README.md index 4e4b3f55c723d..9596583dee2c3 100644 --- a/packages/@aws-cdk/aws-fms/README.md +++ b/packages/@aws-cdk/aws-fms/README.md @@ -1,18 +1,10 @@ ## AWS::FMS Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-fms/package.json b/packages/@aws-cdk/aws-fms/package.json index 9aac84da1e5fd..dcffe9f844769 100644 --- a/packages/@aws-cdk/aws-fms/package.json +++ b/packages/@aws-cdk/aws-fms/package.json @@ -82,6 +82,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-fsx/README.md b/packages/@aws-cdk/aws-fsx/README.md index f34ef3c5ee49a..19ed962298de2 100644 --- a/packages/@aws-cdk/aws-fsx/README.md +++ b/packages/@aws-cdk/aws-fsx/README.md @@ -1,18 +1,14 @@ ## Amazon FSx Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-fsx/package.json b/packages/@aws-cdk/aws-fsx/package.json index 5208283d277bd..0ffdfd9b04c25 100644 --- a/packages/@aws-cdk/aws-fsx/package.json +++ b/packages/@aws-cdk/aws-fsx/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-gamelift/README.md b/packages/@aws-cdk/aws-gamelift/README.md index 37f24d2146a34..1f4430ef14d1d 100644 --- a/packages/@aws-cdk/aws-gamelift/README.md +++ b/packages/@aws-cdk/aws-gamelift/README.md @@ -1,18 +1,10 @@ ## Amazon GameLift Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-gamelift/package.json b/packages/@aws-cdk/aws-gamelift/package.json index 10da0ec607e5c..560af206a13d0 100644 --- a/packages/@aws-cdk/aws-gamelift/package.json +++ b/packages/@aws-cdk/aws-gamelift/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-glue/README.md b/packages/@aws-cdk/aws-glue/README.md index 30cf04ecb43ac..0b7c308aa7e97 100644 --- a/packages/@aws-cdk/aws-glue/README.md +++ b/packages/@aws-cdk/aws-glue/README.md @@ -1,18 +1,14 @@ ## AWS Glue Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-glue/package.json b/packages/@aws-cdk/aws-glue/package.json index 02e43baf5b1be..6bbffbace49b3 100644 --- a/packages/@aws-cdk/aws-glue/package.json +++ b/packages/@aws-cdk/aws-glue/package.json @@ -89,6 +89,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awslint": { "exclude": [ "docs-public-apis:@aws-cdk/aws-glue.Schema.BOOLEAN", diff --git a/packages/@aws-cdk/aws-greengrass/README.md b/packages/@aws-cdk/aws-greengrass/README.md index a8ba3a683d2d4..8d13d16570214 100644 --- a/packages/@aws-cdk/aws-greengrass/README.md +++ b/packages/@aws-cdk/aws-greengrass/README.md @@ -1,18 +1,10 @@ ## AWS IoT Greengrass Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-greengrass/package.json b/packages/@aws-cdk/aws-greengrass/package.json index 61ab5dc9ae6d9..665256a6c2b6b 100644 --- a/packages/@aws-cdk/aws-greengrass/package.json +++ b/packages/@aws-cdk/aws-greengrass/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-guardduty/README.md b/packages/@aws-cdk/aws-guardduty/README.md index 4f99f910d30a6..09b39f85698d4 100644 --- a/packages/@aws-cdk/aws-guardduty/README.md +++ b/packages/@aws-cdk/aws-guardduty/README.md @@ -1,18 +1,10 @@ ## Amazon GuardDuty Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-guardduty/package.json b/packages/@aws-cdk/aws-guardduty/package.json index 4f83a8db70fdb..231b853c1576d 100644 --- a/packages/@aws-cdk/aws-guardduty/package.json +++ b/packages/@aws-cdk/aws-guardduty/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-iam/README.md b/packages/@aws-cdk/aws-iam/README.md index 346971f5eb1d1..acc92ebfcb3a8 100644 --- a/packages/@aws-cdk/aws-iam/README.md +++ b/packages/@aws-cdk/aws-iam/README.md @@ -1,10 +1,10 @@ ## AWS Identity and Access Management Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-iam/package.json b/packages/@aws-cdk/aws-iam/package.json index 2212e979c0c18..d57dd5482d9ea 100644 --- a/packages/@aws-cdk/aws-iam/package.json +++ b/packages/@aws-cdk/aws-iam/package.json @@ -113,5 +113,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-inspector/README.md b/packages/@aws-cdk/aws-inspector/README.md index 1102d165cf67a..ac5d983c2ce08 100644 --- a/packages/@aws-cdk/aws-inspector/README.md +++ b/packages/@aws-cdk/aws-inspector/README.md @@ -1,18 +1,10 @@ ## Amazon Inspector Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-inspector/package.json b/packages/@aws-cdk/aws-inspector/package.json index e88c6e4567328..74249d7a08431 100644 --- a/packages/@aws-cdk/aws-inspector/package.json +++ b/packages/@aws-cdk/aws-inspector/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-iot/README.md b/packages/@aws-cdk/aws-iot/README.md index 965c89005f244..14195b08d2692 100644 --- a/packages/@aws-cdk/aws-iot/README.md +++ b/packages/@aws-cdk/aws-iot/README.md @@ -1,18 +1,10 @@ ## AWS IoT Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-iot/package.json b/packages/@aws-cdk/aws-iot/package.json index cc5734e39fd9b..6b3e44d8a7688 100644 --- a/packages/@aws-cdk/aws-iot/package.json +++ b/packages/@aws-cdk/aws-iot/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-iot1click/README.md b/packages/@aws-cdk/aws-iot1click/README.md index f6f8764eec883..a3dcc3f787961 100644 --- a/packages/@aws-cdk/aws-iot1click/README.md +++ b/packages/@aws-cdk/aws-iot1click/README.md @@ -1,18 +1,10 @@ ## AWS IoT 1-Click Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-iot1click/package.json b/packages/@aws-cdk/aws-iot1click/package.json index f16bc31c637af..c8c1a99c2abca 100644 --- a/packages/@aws-cdk/aws-iot1click/package.json +++ b/packages/@aws-cdk/aws-iot1click/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-iotanalytics/README.md b/packages/@aws-cdk/aws-iotanalytics/README.md index 2cf74817d757d..48147ffc3067e 100644 --- a/packages/@aws-cdk/aws-iotanalytics/README.md +++ b/packages/@aws-cdk/aws-iotanalytics/README.md @@ -1,18 +1,10 @@ ## AWS IoT Analytics Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-iotanalytics/package.json b/packages/@aws-cdk/aws-iotanalytics/package.json index 3e7d1e3236e9b..d32535a2eda27 100644 --- a/packages/@aws-cdk/aws-iotanalytics/package.json +++ b/packages/@aws-cdk/aws-iotanalytics/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-iotevents/README.md b/packages/@aws-cdk/aws-iotevents/README.md index 2843d490c8e56..245f287fc25d2 100644 --- a/packages/@aws-cdk/aws-iotevents/README.md +++ b/packages/@aws-cdk/aws-iotevents/README.md @@ -1,18 +1,10 @@ ## AWS::IoTEvents Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-iotevents/package.json b/packages/@aws-cdk/aws-iotevents/package.json index 35796c3705bba..9033cf99cbe13 100644 --- a/packages/@aws-cdk/aws-iotevents/package.json +++ b/packages/@aws-cdk/aws-iotevents/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-iotthingsgraph/README.md b/packages/@aws-cdk/aws-iotthingsgraph/README.md index 2d5cce30bc31f..07403d2ec149d 100644 --- a/packages/@aws-cdk/aws-iotthingsgraph/README.md +++ b/packages/@aws-cdk/aws-iotthingsgraph/README.md @@ -1,18 +1,10 @@ ## AWS IoT Things Graph Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-iotthingsgraph/package.json b/packages/@aws-cdk/aws-iotthingsgraph/package.json index 836c6f29296cc..f748b6c9cbedb 100644 --- a/packages/@aws-cdk/aws-iotthingsgraph/package.json +++ b/packages/@aws-cdk/aws-iotthingsgraph/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-kinesis/README.md b/packages/@aws-cdk/aws-kinesis/README.md index 7b3c36bacfa7a..4f6f121ee7186 100644 --- a/packages/@aws-cdk/aws-kinesis/README.md +++ b/packages/@aws-cdk/aws-kinesis/README.md @@ -1,18 +1,14 @@ ## Amazon Kinesis Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Developer Preview](https://img.shields.io/badge/cdk--constructs-developer--preview-informational.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are in **developer preview** before they become stable. We will only make breaking changes to address unforeseen API issues. Therefore, these APIs are not subject to [Semantic Versioning](https://semver.org/), and breaking changes will be announced in release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-kinesis/package.json b/packages/@aws-cdk/aws-kinesis/package.json index 9675d3b935ea3..8149ee2b133e3 100644 --- a/packages/@aws-cdk/aws-kinesis/package.json +++ b/packages/@aws-cdk/aws-kinesis/package.json @@ -88,6 +88,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "developer-preview", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-kinesisanalytics/README.md b/packages/@aws-cdk/aws-kinesisanalytics/README.md index 04aafec075083..53c28c92ab5d9 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics/README.md +++ b/packages/@aws-cdk/aws-kinesisanalytics/README.md @@ -1,18 +1,10 @@ ## Amazon Kinesis Data Analytics Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-kinesisanalytics/package.json b/packages/@aws-cdk/aws-kinesisanalytics/package.json index df17c0adb3650..2a53eae89cc0c 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics/package.json +++ b/packages/@aws-cdk/aws-kinesisanalytics/package.json @@ -100,6 +100,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-kinesisfirehose/README.md b/packages/@aws-cdk/aws-kinesisfirehose/README.md index a6b49cafada7c..a9ff58880ad98 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose/README.md +++ b/packages/@aws-cdk/aws-kinesisfirehose/README.md @@ -1,18 +1,10 @@ ## Amazon Kinesis Data Firehose Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-kinesisfirehose/package.json b/packages/@aws-cdk/aws-kinesisfirehose/package.json index 6b84648158dab..53bdf59ee24a6 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose/package.json +++ b/packages/@aws-cdk/aws-kinesisfirehose/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-kms/README.md b/packages/@aws-cdk/aws-kms/README.md index c03f4e40a7032..7b95348a312fa 100644 --- a/packages/@aws-cdk/aws-kms/README.md +++ b/packages/@aws-cdk/aws-kms/README.md @@ -1,10 +1,10 @@ ## AWS Key Management Service Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-kms/package.json b/packages/@aws-cdk/aws-kms/package.json index a9fd710cc1019..d71bfef0a8fce 100644 --- a/packages/@aws-cdk/aws-kms/package.json +++ b/packages/@aws-cdk/aws-kms/package.json @@ -92,5 +92,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-lakeformation/README.md b/packages/@aws-cdk/aws-lakeformation/README.md index 82b1fbb1a3556..25ee56d26f59f 100644 --- a/packages/@aws-cdk/aws-lakeformation/README.md +++ b/packages/@aws-cdk/aws-lakeformation/README.md @@ -1,18 +1,10 @@ ## AWS::LakeFormation Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-lakeformation/package.json b/packages/@aws-cdk/aws-lakeformation/package.json index adf0992f1b448..5d819ef752e5a 100644 --- a/packages/@aws-cdk/aws-lakeformation/package.json +++ b/packages/@aws-cdk/aws-lakeformation/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-lambda-destinations/README.md b/packages/@aws-cdk/aws-lambda-destinations/README.md index afa17586243fb..342174350a88e 100644 --- a/packages/@aws-cdk/aws-lambda-destinations/README.md +++ b/packages/@aws-cdk/aws-lambda-destinations/README.md @@ -1,10 +1,8 @@ ## Amazon Lambda Destinations Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-lambda-destinations/package.json b/packages/@aws-cdk/aws-lambda-destinations/package.json index d6a05072da862..a5c6a22575a2f 100644 --- a/packages/@aws-cdk/aws-lambda-destinations/package.json +++ b/packages/@aws-cdk/aws-lambda-destinations/package.json @@ -111,5 +111,6 @@ }, "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-lambda-event-sources/README.md b/packages/@aws-cdk/aws-lambda-event-sources/README.md index 47d2a7edeb736..f6328f0aa3b17 100644 --- a/packages/@aws-cdk/aws-lambda-event-sources/README.md +++ b/packages/@aws-cdk/aws-lambda-event-sources/README.md @@ -1,10 +1,8 @@ ## AWS Lambda Event Sources - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-lambda-event-sources/package.json b/packages/@aws-cdk/aws-lambda-event-sources/package.json index 16adf48a4150c..d24441a0fbd7c 100644 --- a/packages/@aws-cdk/aws-lambda-event-sources/package.json +++ b/packages/@aws-cdk/aws-lambda-event-sources/package.json @@ -116,5 +116,6 @@ }, "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-lambda-nodejs/README.md b/packages/@aws-cdk/aws-lambda-nodejs/README.md index 6887c6dba826f..1d0406e045a0a 100644 --- a/packages/@aws-cdk/aws-lambda-nodejs/README.md +++ b/packages/@aws-cdk/aws-lambda-nodejs/README.md @@ -1,18 +1,10 @@ ## Amazon Lambda Node.js Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-lambda-nodejs/package.json b/packages/@aws-cdk/aws-lambda-nodejs/package.json index 0d89cf13719f5..ab2719bdab767 100644 --- a/packages/@aws-cdk/aws-lambda-nodejs/package.json +++ b/packages/@aws-cdk/aws-lambda-nodejs/package.json @@ -106,6 +106,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-lambda/README.md b/packages/@aws-cdk/aws-lambda/README.md index fca28128ca6f5..63a5bde78ee7d 100644 --- a/packages/@aws-cdk/aws-lambda/README.md +++ b/packages/@aws-cdk/aws-lambda/README.md @@ -1,10 +1,10 @@ ## AWS Lambda Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-lambda/package.json b/packages/@aws-cdk/aws-lambda/package.json index 7273fd4bafcae..183406b452946 100644 --- a/packages/@aws-cdk/aws-lambda/package.json +++ b/packages/@aws-cdk/aws-lambda/package.json @@ -171,5 +171,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-logs-destinations/README.md b/packages/@aws-cdk/aws-logs-destinations/README.md index 1eb92fd89dad1..ea1c68ca1c0e2 100644 --- a/packages/@aws-cdk/aws-logs-destinations/README.md +++ b/packages/@aws-cdk/aws-logs-destinations/README.md @@ -1,10 +1,8 @@ # CDK Construct Libray for AWS XXX - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-logs-destinations/package.json b/packages/@aws-cdk/aws-logs-destinations/package.json index 67676234ce269..c5478bd1961ff 100644 --- a/packages/@aws-cdk/aws-logs-destinations/package.json +++ b/packages/@aws-cdk/aws-logs-destinations/package.json @@ -106,5 +106,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-logs/README.md b/packages/@aws-cdk/aws-logs/README.md index e502aa4452dbe..a38a753ba9698 100644 --- a/packages/@aws-cdk/aws-logs/README.md +++ b/packages/@aws-cdk/aws-logs/README.md @@ -1,10 +1,10 @@ ## Amazon CloudWatch Logs Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-logs/package.json b/packages/@aws-cdk/aws-logs/package.json index a82fc847abbe2..9435e72078bef 100644 --- a/packages/@aws-cdk/aws-logs/package.json +++ b/packages/@aws-cdk/aws-logs/package.json @@ -106,5 +106,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-managedblockchain/README.md b/packages/@aws-cdk/aws-managedblockchain/README.md index fc55068c09ad7..96fadeed56273 100644 --- a/packages/@aws-cdk/aws-managedblockchain/README.md +++ b/packages/@aws-cdk/aws-managedblockchain/README.md @@ -1,18 +1,10 @@ ## AWS::ManagedBlockchain Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-managedblockchain/package.json b/packages/@aws-cdk/aws-managedblockchain/package.json index 1167823dd6bfb..d6de6f26b0823 100644 --- a/packages/@aws-cdk/aws-managedblockchain/package.json +++ b/packages/@aws-cdk/aws-managedblockchain/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-mediaconvert/README.md b/packages/@aws-cdk/aws-mediaconvert/README.md index 89ebcb597e8f5..3904dd6cb6c74 100644 --- a/packages/@aws-cdk/aws-mediaconvert/README.md +++ b/packages/@aws-cdk/aws-mediaconvert/README.md @@ -1,18 +1,10 @@ ## AWS::MediaConvert Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-mediaconvert/package.json b/packages/@aws-cdk/aws-mediaconvert/package.json index b26f179bb00f3..6496299de149a 100644 --- a/packages/@aws-cdk/aws-mediaconvert/package.json +++ b/packages/@aws-cdk/aws-mediaconvert/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-medialive/README.md b/packages/@aws-cdk/aws-medialive/README.md index ea2c1e255888b..93f73c71bc2a2 100644 --- a/packages/@aws-cdk/aws-medialive/README.md +++ b/packages/@aws-cdk/aws-medialive/README.md @@ -1,18 +1,10 @@ ## AWS Elemental MediaLive Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-medialive/package.json b/packages/@aws-cdk/aws-medialive/package.json index 7728a065ffcb6..6fd8dded784f4 100644 --- a/packages/@aws-cdk/aws-medialive/package.json +++ b/packages/@aws-cdk/aws-medialive/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-mediastore/README.md b/packages/@aws-cdk/aws-mediastore/README.md index 143b632ab2d0e..859fb45fa2032 100644 --- a/packages/@aws-cdk/aws-mediastore/README.md +++ b/packages/@aws-cdk/aws-mediastore/README.md @@ -1,18 +1,10 @@ ## AWS Elemental MediaStore Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-mediastore/package.json b/packages/@aws-cdk/aws-mediastore/package.json index 352e6621d78d2..abe645b66ed50 100644 --- a/packages/@aws-cdk/aws-mediastore/package.json +++ b/packages/@aws-cdk/aws-mediastore/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-msk/README.md b/packages/@aws-cdk/aws-msk/README.md index 3af1535eb8f6d..4ae2bea6cb781 100644 --- a/packages/@aws-cdk/aws-msk/README.md +++ b/packages/@aws-cdk/aws-msk/README.md @@ -1,18 +1,10 @@ ## Amazon Managed Streaming for Apache Kafka Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-msk/package.json b/packages/@aws-cdk/aws-msk/package.json index 713d2823d2e02..f2f7718faa5f2 100644 --- a/packages/@aws-cdk/aws-msk/package.json +++ b/packages/@aws-cdk/aws-msk/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-neptune/README.md b/packages/@aws-cdk/aws-neptune/README.md index 53dbbff0ac84f..2ca141e21da32 100644 --- a/packages/@aws-cdk/aws-neptune/README.md +++ b/packages/@aws-cdk/aws-neptune/README.md @@ -1,18 +1,10 @@ ## Amazon Neptune Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-neptune/package.json b/packages/@aws-cdk/aws-neptune/package.json index 4493801bff1c3..2abed7996a1fc 100644 --- a/packages/@aws-cdk/aws-neptune/package.json +++ b/packages/@aws-cdk/aws-neptune/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-networkmanager/README.md b/packages/@aws-cdk/aws-networkmanager/README.md index 08f8673704d89..0fb5ef0f5e06a 100644 --- a/packages/@aws-cdk/aws-networkmanager/README.md +++ b/packages/@aws-cdk/aws-networkmanager/README.md @@ -1,18 +1,10 @@ ## AWS::NetworkManager Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-networkmanager/package.json b/packages/@aws-cdk/aws-networkmanager/package.json index 0a69bc5273367..a7b61b986c190 100644 --- a/packages/@aws-cdk/aws-networkmanager/package.json +++ b/packages/@aws-cdk/aws-networkmanager/package.json @@ -80,6 +80,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-opsworks/README.md b/packages/@aws-cdk/aws-opsworks/README.md index 53b1d0e80db02..228ba9a58e9d1 100644 --- a/packages/@aws-cdk/aws-opsworks/README.md +++ b/packages/@aws-cdk/aws-opsworks/README.md @@ -1,18 +1,10 @@ ## AWS OpsWorks Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-opsworks/package.json b/packages/@aws-cdk/aws-opsworks/package.json index 751680e9d12b7..0bf835f5300e4 100644 --- a/packages/@aws-cdk/aws-opsworks/package.json +++ b/packages/@aws-cdk/aws-opsworks/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-opsworkscm/README.md b/packages/@aws-cdk/aws-opsworkscm/README.md index fc90356dee167..bed67cdfade99 100644 --- a/packages/@aws-cdk/aws-opsworkscm/README.md +++ b/packages/@aws-cdk/aws-opsworkscm/README.md @@ -1,18 +1,10 @@ ## AWS OpsWorks CM Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-opsworkscm/package.json b/packages/@aws-cdk/aws-opsworkscm/package.json index adbdbbaa3c1e6..ed2986944fa8c 100644 --- a/packages/@aws-cdk/aws-opsworkscm/package.json +++ b/packages/@aws-cdk/aws-opsworkscm/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-pinpoint/README.md b/packages/@aws-cdk/aws-pinpoint/README.md index 489a975fdcc61..bc73bf9066d2a 100644 --- a/packages/@aws-cdk/aws-pinpoint/README.md +++ b/packages/@aws-cdk/aws-pinpoint/README.md @@ -1,18 +1,10 @@ ## Amazon Pinpoint Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-pinpoint/package.json b/packages/@aws-cdk/aws-pinpoint/package.json index 8567dd70f75b9..01b7a841d51a6 100644 --- a/packages/@aws-cdk/aws-pinpoint/package.json +++ b/packages/@aws-cdk/aws-pinpoint/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-pinpointemail/README.md b/packages/@aws-cdk/aws-pinpointemail/README.md index e5dc2323f0ab0..b425f8bfa09a0 100644 --- a/packages/@aws-cdk/aws-pinpointemail/README.md +++ b/packages/@aws-cdk/aws-pinpointemail/README.md @@ -1,18 +1,10 @@ ## Amazon Pinpoint Email Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-pinpointemail/package.json b/packages/@aws-cdk/aws-pinpointemail/package.json index 53255dd0ea02c..33fec35545a87 100644 --- a/packages/@aws-cdk/aws-pinpointemail/package.json +++ b/packages/@aws-cdk/aws-pinpointemail/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-qldb/README.md b/packages/@aws-cdk/aws-qldb/README.md index f7c6d658d572c..56e78723b71db 100644 --- a/packages/@aws-cdk/aws-qldb/README.md +++ b/packages/@aws-cdk/aws-qldb/README.md @@ -1,18 +1,10 @@ ## AWS::QLDB Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-qldb/package.json b/packages/@aws-cdk/aws-qldb/package.json index 2ae7da126c9ad..136ac74f32f10 100644 --- a/packages/@aws-cdk/aws-qldb/package.json +++ b/packages/@aws-cdk/aws-qldb/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-ram/README.md b/packages/@aws-cdk/aws-ram/README.md index b7047c782dd70..ec14e48d25f43 100644 --- a/packages/@aws-cdk/aws-ram/README.md +++ b/packages/@aws-cdk/aws-ram/README.md @@ -1,18 +1,10 @@ ## AWS Resource Access Manager Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-ram/package.json b/packages/@aws-cdk/aws-ram/package.json index 1f981e06fd978..47bb9a05c2667 100644 --- a/packages/@aws-cdk/aws-ram/package.json +++ b/packages/@aws-cdk/aws-ram/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-rds/README.md b/packages/@aws-cdk/aws-rds/README.md index 10ec97869b1d3..7a6e8e8ca9597 100644 --- a/packages/@aws-cdk/aws-rds/README.md +++ b/packages/@aws-cdk/aws-rds/README.md @@ -1,18 +1,14 @@ ## Amazon Relational Database Service Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-rds/package.json b/packages/@aws-cdk/aws-rds/package.json index 3f06609e211de..87165b299bbb7 100644 --- a/packages/@aws-cdk/aws-rds/package.json +++ b/packages/@aws-cdk/aws-rds/package.json @@ -140,6 +140,7 @@ ] }, "stability": "experimental", + "maturity": "experimental", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-redshift/README.md b/packages/@aws-cdk/aws-redshift/README.md index 3e8b889716d62..2bf53e2033f34 100644 --- a/packages/@aws-cdk/aws-redshift/README.md +++ b/packages/@aws-cdk/aws-redshift/README.md @@ -1,18 +1,10 @@ ## Amazon Redshift Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-redshift/package.json b/packages/@aws-cdk/aws-redshift/package.json index 5c96b9a3c23d3..c714e27be1a52 100644 --- a/packages/@aws-cdk/aws-redshift/package.json +++ b/packages/@aws-cdk/aws-redshift/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-resourcegroups/README.md b/packages/@aws-cdk/aws-resourcegroups/README.md index 60b9785675394..44af5cbcd1673 100644 --- a/packages/@aws-cdk/aws-resourcegroups/README.md +++ b/packages/@aws-cdk/aws-resourcegroups/README.md @@ -1,18 +1,10 @@ ## AWS::ResourceGroups Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-resourcegroups/package.json b/packages/@aws-cdk/aws-resourcegroups/package.json index 10703fe447fd7..8afc137f4484b 100644 --- a/packages/@aws-cdk/aws-resourcegroups/package.json +++ b/packages/@aws-cdk/aws-resourcegroups/package.json @@ -80,6 +80,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-robomaker/README.md b/packages/@aws-cdk/aws-robomaker/README.md index 4fa43920c0173..edd6a1e55f19d 100644 --- a/packages/@aws-cdk/aws-robomaker/README.md +++ b/packages/@aws-cdk/aws-robomaker/README.md @@ -1,18 +1,10 @@ ## AWS RoboMaker Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-robomaker/package.json b/packages/@aws-cdk/aws-robomaker/package.json index 172e389f52f05..915b1519c1b2c 100644 --- a/packages/@aws-cdk/aws-robomaker/package.json +++ b/packages/@aws-cdk/aws-robomaker/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-route53-patterns/README.md b/packages/@aws-cdk/aws-route53-patterns/README.md index 5c332115ab7fe..187c96389f4fd 100644 --- a/packages/@aws-cdk/aws-route53-patterns/README.md +++ b/packages/@aws-cdk/aws-route53-patterns/README.md @@ -1,18 +1,10 @@ # Route53 Patterns for the CDK Route53 Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Developer Preview](https://img.shields.io/badge/cdk--constructs-developer--preview-informational.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are in **developer preview** before they become stable. We will only make breaking changes to address unforeseen API issues. Therefore, these APIs are not subject to [Semantic Versioning](https://semver.org/), and breaking changes will be announced in release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-route53-patterns/package.json b/packages/@aws-cdk/aws-route53-patterns/package.json index f10cfe5265f48..a3f44a6e77914 100644 --- a/packages/@aws-cdk/aws-route53-patterns/package.json +++ b/packages/@aws-cdk/aws-route53-patterns/package.json @@ -110,6 +110,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "developer-preview", "awslint": { "exclude": [ "docs-public-apis:@aws-cdk/aws-route53-patterns.HttpsRedirect", diff --git a/packages/@aws-cdk/aws-route53-targets/README.md b/packages/@aws-cdk/aws-route53-targets/README.md index 11a374a883a17..a3679ddfc8bff 100644 --- a/packages/@aws-cdk/aws-route53-targets/README.md +++ b/packages/@aws-cdk/aws-route53-targets/README.md @@ -1,10 +1,8 @@ # Route53 Alias Record Targets for the CDK Route53 Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-route53-targets/package.json b/packages/@aws-cdk/aws-route53-targets/package.json index 8935aa4be5627..5e1e14909a354 100644 --- a/packages/@aws-cdk/aws-route53-targets/package.json +++ b/packages/@aws-cdk/aws-route53-targets/package.json @@ -118,5 +118,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-route53/README.md b/packages/@aws-cdk/aws-route53/README.md index 101ac318c798c..a3eec5f9f4977 100644 --- a/packages/@aws-cdk/aws-route53/README.md +++ b/packages/@aws-cdk/aws-route53/README.md @@ -1,10 +1,10 @@ ## Amazon Route53 Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-route53/package.json b/packages/@aws-cdk/aws-route53/package.json index bffbbcb01261f..eb33e3b677880 100644 --- a/packages/@aws-cdk/aws-route53/package.json +++ b/packages/@aws-cdk/aws-route53/package.json @@ -114,5 +114,6 @@ }, "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-route53resolver/README.md b/packages/@aws-cdk/aws-route53resolver/README.md index 7cae7ab057ea0..6c97d5c7a7863 100644 --- a/packages/@aws-cdk/aws-route53resolver/README.md +++ b/packages/@aws-cdk/aws-route53resolver/README.md @@ -1,18 +1,14 @@ ## Amazon Route53 Resolver Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-route53resolver/package.json b/packages/@aws-cdk/aws-route53resolver/package.json index ee859ee17c82a..4b532652a1abf 100644 --- a/packages/@aws-cdk/aws-route53resolver/package.json +++ b/packages/@aws-cdk/aws-route53resolver/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-s3-assets/README.md b/packages/@aws-cdk/aws-s3-assets/README.md index 44d054c962eab..1aaecc1f9f806 100644 --- a/packages/@aws-cdk/aws-s3-assets/README.md +++ b/packages/@aws-cdk/aws-s3-assets/README.md @@ -1,18 +1,10 @@ ## AWS CDK Assets - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-s3-assets/package.json b/packages/@aws-cdk/aws-s3-assets/package.json index 9cf786fa4215a..9634d1c697b4b 100644 --- a/packages/@aws-cdk/aws-s3-assets/package.json +++ b/packages/@aws-cdk/aws-s3-assets/package.json @@ -92,6 +92,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awslint": { "exclude": [ "docs-public-apis:@aws-cdk/aws-s3-assets.AssetOptions", diff --git a/packages/@aws-cdk/aws-s3-deployment/README.md b/packages/@aws-cdk/aws-s3-deployment/README.md index 7e13e466e51e5..80bd7a4e9e515 100644 --- a/packages/@aws-cdk/aws-s3-deployment/README.md +++ b/packages/@aws-cdk/aws-s3-deployment/README.md @@ -1,18 +1,10 @@ ## AWS S3 Deployment Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-s3-deployment/package.json b/packages/@aws-cdk/aws-s3-deployment/package.json index 90fb680edb05b..d525370331d33 100644 --- a/packages/@aws-cdk/aws-s3-deployment/package.json +++ b/packages/@aws-cdk/aws-s3-deployment/package.json @@ -109,6 +109,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awslint": { "exclude": [ "docs-public-apis:@aws-cdk/aws-s3-deployment.Expires.fromString", diff --git a/packages/@aws-cdk/aws-s3-notifications/README.md b/packages/@aws-cdk/aws-s3-notifications/README.md index fb2375e4e9a50..c0eb0eabd35c1 100644 --- a/packages/@aws-cdk/aws-s3-notifications/README.md +++ b/packages/@aws-cdk/aws-s3-notifications/README.md @@ -1,10 +1,8 @@ ## S3 Bucket Notifications Destinations - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-s3-notifications/package.json b/packages/@aws-cdk/aws-s3-notifications/package.json index de97953a2d6ce..bbfca79b290b2 100644 --- a/packages/@aws-cdk/aws-s3-notifications/package.json +++ b/packages/@aws-cdk/aws-s3-notifications/package.json @@ -106,5 +106,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-s3/README.md b/packages/@aws-cdk/aws-s3/README.md index ecf645d4c55cd..22e538c794f4c 100644 --- a/packages/@aws-cdk/aws-s3/README.md +++ b/packages/@aws-cdk/aws-s3/README.md @@ -1,10 +1,10 @@ ## Amazon S3 Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-s3/package.json b/packages/@aws-cdk/aws-s3/package.json index 17f956421c36a..e59de5d1f5880 100644 --- a/packages/@aws-cdk/aws-s3/package.json +++ b/packages/@aws-cdk/aws-s3/package.json @@ -140,5 +140,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-sagemaker/README.md b/packages/@aws-cdk/aws-sagemaker/README.md index ca404babbb155..4b3e8cff9b8cf 100644 --- a/packages/@aws-cdk/aws-sagemaker/README.md +++ b/packages/@aws-cdk/aws-sagemaker/README.md @@ -1,18 +1,10 @@ ## Amazon SageMaker Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-sagemaker/package.json b/packages/@aws-cdk/aws-sagemaker/package.json index ec17411d5f868..9e74f3f765e1e 100644 --- a/packages/@aws-cdk/aws-sagemaker/package.json +++ b/packages/@aws-cdk/aws-sagemaker/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-sam/README.md b/packages/@aws-cdk/aws-sam/README.md index 41e61dc6b31b3..b0d20abd32020 100644 --- a/packages/@aws-cdk/aws-sam/README.md +++ b/packages/@aws-cdk/aws-sam/README.md @@ -1,18 +1,10 @@ ## AWS Serverless Application Model Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-sam/package.json b/packages/@aws-cdk/aws-sam/package.json index 6b50de8b2ab7c..a34c607571648 100644 --- a/packages/@aws-cdk/aws-sam/package.json +++ b/packages/@aws-cdk/aws-sam/package.json @@ -84,6 +84,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-sdb/README.md b/packages/@aws-cdk/aws-sdb/README.md index 4191264da6994..89ea4107fec62 100644 --- a/packages/@aws-cdk/aws-sdb/README.md +++ b/packages/@aws-cdk/aws-sdb/README.md @@ -1,18 +1,10 @@ ## Amazon SimpleDB Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-sdb/package.json b/packages/@aws-cdk/aws-sdb/package.json index 5f21c96ea7b21..36d88fb4ae590 100644 --- a/packages/@aws-cdk/aws-sdb/package.json +++ b/packages/@aws-cdk/aws-sdb/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-secretsmanager/README.md b/packages/@aws-cdk/aws-secretsmanager/README.md index e1736482b0127..6f0d5244d8d16 100644 --- a/packages/@aws-cdk/aws-secretsmanager/README.md +++ b/packages/@aws-cdk/aws-secretsmanager/README.md @@ -1,10 +1,10 @@ ## AWS Secrets Manager Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-secretsmanager/package.json b/packages/@aws-cdk/aws-secretsmanager/package.json index 14c1b8b621fe8..5b39150a9d547 100644 --- a/packages/@aws-cdk/aws-secretsmanager/package.json +++ b/packages/@aws-cdk/aws-secretsmanager/package.json @@ -110,5 +110,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-securityhub/README.md b/packages/@aws-cdk/aws-securityhub/README.md index 892ef4a260eac..8f3287526d1bb 100644 --- a/packages/@aws-cdk/aws-securityhub/README.md +++ b/packages/@aws-cdk/aws-securityhub/README.md @@ -1,18 +1,10 @@ ## AWS Security Hub Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-securityhub/package.json b/packages/@aws-cdk/aws-securityhub/package.json index 675c8b27391aa..7846275dea1e5 100644 --- a/packages/@aws-cdk/aws-securityhub/package.json +++ b/packages/@aws-cdk/aws-securityhub/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-servicecatalog/README.md b/packages/@aws-cdk/aws-servicecatalog/README.md index f9f4bde73a2e0..c3ca1c57aeeb9 100644 --- a/packages/@aws-cdk/aws-servicecatalog/README.md +++ b/packages/@aws-cdk/aws-servicecatalog/README.md @@ -1,18 +1,10 @@ ## AWS Service Catalog Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-servicecatalog/package.json b/packages/@aws-cdk/aws-servicecatalog/package.json index 7bfe4b22696c1..91751cdee39bc 100644 --- a/packages/@aws-cdk/aws-servicecatalog/package.json +++ b/packages/@aws-cdk/aws-servicecatalog/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-servicediscovery/README.md b/packages/@aws-cdk/aws-servicediscovery/README.md index 82d65d4a35ac1..64d767620f329 100644 --- a/packages/@aws-cdk/aws-servicediscovery/README.md +++ b/packages/@aws-cdk/aws-servicediscovery/README.md @@ -1,10 +1,10 @@ ## Amazon ECS Service Discovery Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-servicediscovery/package.json b/packages/@aws-cdk/aws-servicediscovery/package.json index 5e4fe127912f0..53e5960111e06 100644 --- a/packages/@aws-cdk/aws-servicediscovery/package.json +++ b/packages/@aws-cdk/aws-servicediscovery/package.json @@ -149,5 +149,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-ses-actions/README.md b/packages/@aws-cdk/aws-ses-actions/README.md index b6fa3f584563f..4c17690062751 100644 --- a/packages/@aws-cdk/aws-ses-actions/README.md +++ b/packages/@aws-cdk/aws-ses-actions/README.md @@ -1,18 +1,10 @@ ## Amazon Simple Email Service Actions Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-ses-actions/package.json b/packages/@aws-cdk/aws-ses-actions/package.json index 7a7e2aa1c7265..b19867bc060f0 100644 --- a/packages/@aws-cdk/aws-ses-actions/package.json +++ b/packages/@aws-cdk/aws-ses-actions/package.json @@ -109,6 +109,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awslint": { "exclude": [ "docs-public-apis:@aws-cdk/aws-ses-actions.BounceTemplate.MAILBOX_DOES_NOT_EXIST", diff --git a/packages/@aws-cdk/aws-ses/README.md b/packages/@aws-cdk/aws-ses/README.md index 5bbc41e88a8ee..991ab7a001aef 100644 --- a/packages/@aws-cdk/aws-ses/README.md +++ b/packages/@aws-cdk/aws-ses/README.md @@ -1,18 +1,14 @@ ## Amazon Simple Email Service Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-ses/package.json b/packages/@aws-cdk/aws-ses/package.json index c315897cb5827..3dd48e992cf65 100644 --- a/packages/@aws-cdk/aws-ses/package.json +++ b/packages/@aws-cdk/aws-ses/package.json @@ -87,6 +87,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awslint": { "exclude": [ "props-default-doc:@aws-cdk/aws-ses.ReceiptRuleActionConfig.addHeaderAction", diff --git a/packages/@aws-cdk/aws-sns-subscriptions/README.md b/packages/@aws-cdk/aws-sns-subscriptions/README.md index 1956484a309ee..8f9c04bdb8274 100644 --- a/packages/@aws-cdk/aws-sns-subscriptions/README.md +++ b/packages/@aws-cdk/aws-sns-subscriptions/README.md @@ -1,10 +1,8 @@ # CDK Construct Library for Amazon Simple Notification Service Subscriptions - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-sns-subscriptions/package.json b/packages/@aws-cdk/aws-sns-subscriptions/package.json index 7c8b1bd797282..404710112c1e7 100644 --- a/packages/@aws-cdk/aws-sns-subscriptions/package.json +++ b/packages/@aws-cdk/aws-sns-subscriptions/package.json @@ -115,5 +115,6 @@ }, "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-sns/README.md b/packages/@aws-cdk/aws-sns/README.md index 9ac77a3116755..43a4ffbb5a7b5 100644 --- a/packages/@aws-cdk/aws-sns/README.md +++ b/packages/@aws-cdk/aws-sns/README.md @@ -1,10 +1,10 @@ ## Amazon Simple Notification Service Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-sns/package.json b/packages/@aws-cdk/aws-sns/package.json index b1f3408c75f2c..91924541837f5 100644 --- a/packages/@aws-cdk/aws-sns/package.json +++ b/packages/@aws-cdk/aws-sns/package.json @@ -125,5 +125,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-sqs/README.md b/packages/@aws-cdk/aws-sqs/README.md index 449c048b9ff3b..ff592873107ab 100644 --- a/packages/@aws-cdk/aws-sqs/README.md +++ b/packages/@aws-cdk/aws-sqs/README.md @@ -1,10 +1,10 @@ ## Amazon Simple Queue Service Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-sqs/package.json b/packages/@aws-cdk/aws-sqs/package.json index 6915088588d47..b6caf81b5844c 100644 --- a/packages/@aws-cdk/aws-sqs/package.json +++ b/packages/@aws-cdk/aws-sqs/package.json @@ -104,5 +104,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-ssm/README.md b/packages/@aws-cdk/aws-ssm/README.md index f88685084a592..aeb24017554f5 100644 --- a/packages/@aws-cdk/aws-ssm/README.md +++ b/packages/@aws-cdk/aws-ssm/README.md @@ -1,10 +1,10 @@ ## AWS Systems Manager Construct Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/aws-ssm/package.json b/packages/@aws-cdk/aws-ssm/package.json index 4e3126901ced0..dc9f6a805214d 100644 --- a/packages/@aws-cdk/aws-ssm/package.json +++ b/packages/@aws-cdk/aws-ssm/package.json @@ -91,5 +91,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/README.md b/packages/@aws-cdk/aws-stepfunctions-tasks/README.md index 6805cc1ceaa44..27519b0753cec 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/README.md +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/README.md @@ -1,18 +1,10 @@ # Tasks for AWS CloudWatch StepFunctions - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-stepfunctions-tasks/package.json b/packages/@aws-cdk/aws-stepfunctions-tasks/package.json index 1ea53ae7f9c60..4d35133db0f57 100644 --- a/packages/@aws-cdk/aws-stepfunctions-tasks/package.json +++ b/packages/@aws-cdk/aws-stepfunctions-tasks/package.json @@ -129,6 +129,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awslint": { "exclude": [] }, diff --git a/packages/@aws-cdk/aws-stepfunctions/README.md b/packages/@aws-cdk/aws-stepfunctions/README.md index 939af450d7f87..6f92f68646923 100644 --- a/packages/@aws-cdk/aws-stepfunctions/README.md +++ b/packages/@aws-cdk/aws-stepfunctions/README.md @@ -1,18 +1,14 @@ ## AWS Step Functions Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. + +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/aws-stepfunctions/package.json b/packages/@aws-cdk/aws-stepfunctions/package.json index bda2b9fcfec1a..4bbead1ec9e84 100644 --- a/packages/@aws-cdk/aws-stepfunctions/package.json +++ b/packages/@aws-cdk/aws-stepfunctions/package.json @@ -97,6 +97,7 @@ ] }, "stability": "experimental", + "maturity": "experimental", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-transfer/README.md b/packages/@aws-cdk/aws-transfer/README.md index 08884fc3c8efa..40deee914834f 100644 --- a/packages/@aws-cdk/aws-transfer/README.md +++ b/packages/@aws-cdk/aws-transfer/README.md @@ -1,18 +1,10 @@ ## AWS Transfer for SFTP Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-transfer/package.json b/packages/@aws-cdk/aws-transfer/package.json index 4d4fb1b9ae4ee..fb821a7e7762b 100644 --- a/packages/@aws-cdk/aws-transfer/package.json +++ b/packages/@aws-cdk/aws-transfer/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-waf/README.md b/packages/@aws-cdk/aws-waf/README.md index 8cbd4d4309110..e5d4abb34fc26 100644 --- a/packages/@aws-cdk/aws-waf/README.md +++ b/packages/@aws-cdk/aws-waf/README.md @@ -1,18 +1,10 @@ ## AWS Web Application Firewall Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-waf/package.json b/packages/@aws-cdk/aws-waf/package.json index 94bfd1d9e1991..2024e3deb39fe 100644 --- a/packages/@aws-cdk/aws-waf/package.json +++ b/packages/@aws-cdk/aws-waf/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-wafregional/README.md b/packages/@aws-cdk/aws-wafregional/README.md index 7bea67ecaaca9..d1846dff252c2 100644 --- a/packages/@aws-cdk/aws-wafregional/README.md +++ b/packages/@aws-cdk/aws-wafregional/README.md @@ -1,18 +1,10 @@ ## AWS WAF Regional Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-wafregional/package.json b/packages/@aws-cdk/aws-wafregional/package.json index 3d85560deec3b..ef0f9d4bb30d6 100644 --- a/packages/@aws-cdk/aws-wafregional/package.json +++ b/packages/@aws-cdk/aws-wafregional/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-wafv2/README.md b/packages/@aws-cdk/aws-wafv2/README.md index 76809df8263a6..2832c4ad56dd1 100644 --- a/packages/@aws-cdk/aws-wafv2/README.md +++ b/packages/@aws-cdk/aws-wafv2/README.md @@ -1,18 +1,10 @@ ## AWS::WAFv2 Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-wafv2/package.json b/packages/@aws-cdk/aws-wafv2/package.json index 4411d4e7fd461..4c3e40a679479 100644 --- a/packages/@aws-cdk/aws-wafv2/package.json +++ b/packages/@aws-cdk/aws-wafv2/package.json @@ -98,6 +98,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/aws-workspaces/README.md b/packages/@aws-cdk/aws-workspaces/README.md index b1fa97bdc0f4f..86e1e38788829 100644 --- a/packages/@aws-cdk/aws-workspaces/README.md +++ b/packages/@aws-cdk/aws-workspaces/README.md @@ -1,18 +1,10 @@ ## Amazon WorkSpaces Construct Library - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. --- diff --git a/packages/@aws-cdk/aws-workspaces/package.json b/packages/@aws-cdk/aws-workspaces/package.json index 9ea7ce57e31c5..611c4c97f0177 100644 --- a/packages/@aws-cdk/aws-workspaces/package.json +++ b/packages/@aws-cdk/aws-workspaces/package.json @@ -97,6 +97,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "cfn-only", "awscdkio": { "announce": false } diff --git a/packages/@aws-cdk/cdk-assets-schema/README.md b/packages/@aws-cdk/cdk-assets-schema/README.md index 80db1a478bfc7..5e7f95245d74d 100644 --- a/packages/@aws-cdk/cdk-assets-schema/README.md +++ b/packages/@aws-cdk/cdk-assets-schema/README.md @@ -1,10 +1,8 @@ # cdk-assets-schema - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/cdk-assets-schema/package.json b/packages/@aws-cdk/cdk-assets-schema/package.json index d8b53b5856465..6dbfddc469548 100644 --- a/packages/@aws-cdk/cdk-assets-schema/package.json +++ b/packages/@aws-cdk/cdk-assets-schema/package.json @@ -90,5 +90,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/cfnspec/build-tools/create-missing-libraries.ts b/packages/@aws-cdk/cfnspec/build-tools/create-missing-libraries.ts index a3f434e68294f..420743eff04a9 100644 --- a/packages/@aws-cdk/cfnspec/build-tools/create-missing-libraries.ts +++ b/packages/@aws-cdk/cfnspec/build-tools/create-missing-libraries.ts @@ -181,6 +181,7 @@ async function main() { node: '>= 10.12.0' }, stability: 'experimental', + maturity: 'cfn-only', awscdkio: { announce: false } @@ -249,16 +250,9 @@ async function main() { '', '---', '', - '![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge)', + '![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)', '', - '> **This is a _developer preview_ (public beta) module.**', - '>', - '> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib))', - '> are auto-generated from CloudFormation. They are stable and safe to use.', - '>', - '> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward', - '> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model.', - '> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.', + '> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use.', '', '---', '', diff --git a/packages/@aws-cdk/cloud-assembly-schema/README.md b/packages/@aws-cdk/cloud-assembly-schema/README.md index 74f693b450d4f..8429cfc5d880b 100644 --- a/packages/@aws-cdk/cloud-assembly-schema/README.md +++ b/packages/@aws-cdk/cloud-assembly-schema/README.md @@ -1,10 +1,8 @@ ## Cloud Assembly Schema - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/cloud-assembly-schema/package.json b/packages/@aws-cdk/cloud-assembly-schema/package.json index a1fafa77d91b7..90bb9d2b6ed65 100644 --- a/packages/@aws-cdk/cloud-assembly-schema/package.json +++ b/packages/@aws-cdk/cloud-assembly-schema/package.json @@ -61,7 +61,7 @@ "jest": "^25.3.0", "mock-fs": "^4.11.0", "pkglint": "0.0.0", - "typescript-json-schema": "^0.42.0" + "typescript-json-schema": "^0.42.0" }, "repository": { "url": "https://github.com/aws/aws-cdk.git", @@ -90,5 +90,6 @@ }, "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/cloudformation-diff/README.md b/packages/@aws-cdk/cloudformation-diff/README.md index 1f22e567b4477..ff8c570eb00e8 100644 --- a/packages/@aws-cdk/cloudformation-diff/README.md +++ b/packages/@aws-cdk/cloudformation-diff/README.md @@ -1,18 +1,10 @@ ## Utilities to diff AWS CDK stacks against CloudFormation templates - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/cloudformation-diff/package.json b/packages/@aws-cdk/cloudformation-diff/package.json index 0c2f6351465ec..cb2a8b6010331 100644 --- a/packages/@aws-cdk/cloudformation-diff/package.json +++ b/packages/@aws-cdk/cloudformation-diff/package.json @@ -60,5 +60,6 @@ "engines": { "node": ">= 10.12.0" }, - "stability": "experimental" + "stability": "experimental", + "maturity": "experimental" } diff --git a/packages/@aws-cdk/core/README.md b/packages/@aws-cdk/core/README.md index 443d7990533b8..ec6779da434b3 100644 --- a/packages/@aws-cdk/core/README.md +++ b/packages/@aws-cdk/core/README.md @@ -1,10 +1,8 @@ ## AWS Cloud Development Kit Core Library - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/core/package.json b/packages/@aws-cdk/core/package.json index c5edd311bf5f1..4d479ed728eeb 100644 --- a/packages/@aws-cdk/core/package.json +++ b/packages/@aws-cdk/core/package.json @@ -162,5 +162,6 @@ "stability": "stable", "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/custom-resources/README.md b/packages/@aws-cdk/custom-resources/README.md index e75d619a7875e..d30028903575d 100644 --- a/packages/@aws-cdk/custom-resources/README.md +++ b/packages/@aws-cdk/custom-resources/README.md @@ -1,10 +1,8 @@ # AWS CDK Custom Resources - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/@aws-cdk/custom-resources/package.json b/packages/@aws-cdk/custom-resources/package.json index 2146ce5770807..e259afab4d3ea 100644 --- a/packages/@aws-cdk/custom-resources/package.json +++ b/packages/@aws-cdk/custom-resources/package.json @@ -134,5 +134,6 @@ }, "awscdkio": { "announce": false - } + }, + "maturity": "stable" } diff --git a/packages/@aws-cdk/cx-api/README.md b/packages/@aws-cdk/cx-api/README.md index 2c3f3af56fdd5..989733d31bfeb 100644 --- a/packages/@aws-cdk/cx-api/README.md +++ b/packages/@aws-cdk/cx-api/README.md @@ -1,18 +1,10 @@ ## Cloud Executable API - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/cx-api/package.json b/packages/@aws-cdk/cx-api/package.json index d54dd5fbef8aa..693ce42aacb26 100644 --- a/packages/@aws-cdk/cx-api/package.json +++ b/packages/@aws-cdk/cx-api/package.json @@ -95,6 +95,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awslint": { "exclude": [ "props-default-doc:@aws-cdk/cx-api.MetadataEntry.data", diff --git a/packages/@aws-cdk/region-info/README.md b/packages/@aws-cdk/region-info/README.md index 21d1c107f3447..72aeb65d21a1a 100644 --- a/packages/@aws-cdk/region-info/README.md +++ b/packages/@aws-cdk/region-info/README.md @@ -1,18 +1,10 @@ # AWS Region-Specific Information Directory - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@aws-cdk/region-info/package.json b/packages/@aws-cdk/region-info/package.json index 844ab462f8d13..2eca62b42ef38 100644 --- a/packages/@aws-cdk/region-info/package.json +++ b/packages/@aws-cdk/region-info/package.json @@ -87,6 +87,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "awslint": { "exclude": [ "docs-public-apis:@aws-cdk/region-info.Fact.regions", diff --git a/packages/@monocdk-experiment/assert/package.json b/packages/@monocdk-experiment/assert/package.json index fa4c23ae2aee8..166988cc65242 100644 --- a/packages/@monocdk-experiment/assert/package.json +++ b/packages/@monocdk-experiment/assert/package.json @@ -73,5 +73,6 @@ "engines": { "node": ">= 10.12.0" }, - "stability": "experimental" + "stability": "experimental", + "maturity": "developer-preview" } diff --git a/packages/@monocdk-experiment/rewrite-imports/README.md b/packages/@monocdk-experiment/rewrite-imports/README.md index 0f11b94ea7f5a..d4dd324816fac 100644 --- a/packages/@monocdk-experiment/rewrite-imports/README.md +++ b/packages/@monocdk-experiment/rewrite-imports/README.md @@ -1,18 +1,10 @@ # @monocdk-experiment/rewrite-imports - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Developer Preview](https://img.shields.io/badge/cdk--constructs-developer--preview-informational.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are in **developer preview** before they become stable. We will only make breaking changes to address unforeseen API issues. Therefore, these APIs are not subject to [Semantic Versioning](https://semver.org/), and breaking changes will be announced in release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- diff --git a/packages/@monocdk-experiment/rewrite-imports/package.json b/packages/@monocdk-experiment/rewrite-imports/package.json index 7d9200425a8bd..32010a62f0138 100644 --- a/packages/@monocdk-experiment/rewrite-imports/package.json +++ b/packages/@monocdk-experiment/rewrite-imports/package.json @@ -52,6 +52,7 @@ }, "homepage": "https://github.com/aws/aws-cdk", "stability": "experimental", + "maturity": "developer-preview", "engines": { "node": ">= 10.12.0" } diff --git a/packages/aws-cdk/README.md b/packages/aws-cdk/README.md index 75448eabfe8e8..91ade21726f1b 100644 --- a/packages/aws-cdk/README.md +++ b/packages/aws-cdk/README.md @@ -1,10 +1,8 @@ ## AWS CDK Toolkit - --- -![Stability: Stable](https://img.shields.io/badge/stability-Stable-success.svg?style=for-the-badge) - +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) --- diff --git a/packages/aws-cdk/package.json b/packages/aws-cdk/package.json index d5dc5f8189907..23ab3cfb6483b 100644 --- a/packages/aws-cdk/package.json +++ b/packages/aws-cdk/package.json @@ -118,5 +118,6 @@ "testMatch": [ "**/?(*.)+(spec|test).js?(x)" ] - } + }, + "maturity": "stable" } diff --git a/packages/cdk-assets/README.md b/packages/cdk-assets/README.md index efd9c79af1df4..ac7381b7083cf 100644 --- a/packages/cdk-assets/README.md +++ b/packages/cdk-assets/README.md @@ -1,23 +1,14 @@ # cdk-assets - --- -![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge) +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) -> **This is a _developer preview_ (public beta) module.** -> -> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) -> are auto-generated from CloudFormation. They are stable and safe to use. -> -> However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward -> compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model. -> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. --- - A tool for publishing CDK assets to AWS environments. ## Overview diff --git a/packages/cdk-assets/package.json b/packages/cdk-assets/package.json index 3faccdb9d799c..d1aed47f4e1df 100644 --- a/packages/cdk-assets/package.json +++ b/packages/cdk-assets/package.json @@ -62,6 +62,7 @@ "node": ">= 10.12.0" }, "stability": "experimental", + "maturity": "experimental", "jest": { "moduleFileExtensions": [ "js" diff --git a/packages/monocdk-experiment/package.json b/packages/monocdk-experiment/package.json index a799c5c679071..a541444f10607 100644 --- a/packages/monocdk-experiment/package.json +++ b/packages/monocdk-experiment/package.json @@ -9,6 +9,7 @@ "url": "https://github.com/aws/aws-cdk.git" }, "stability": "experimental", + "maturity": "developer-preview", "scripts": { "build": "node deps.js && ./build.sh", "test": "echo done", diff --git a/tools/pkglint/lib/banners/README.md b/tools/pkglint/lib/banners/README.md new file mode 100644 index 0000000000000..1ff39234bf079 --- /dev/null +++ b/tools/pkglint/lib/banners/README.md @@ -0,0 +1,10 @@ +README maturity banners. + +L1 banners will only be included if the package contains a +`lib/*.generated.ts` file. + +L2 banners will be included if the package contains a non-generated, +non-index ts file. + +Some banners files are the same, or empty on purpose, because the messaging +is designed to be combined between the L1 and L2 layers. diff --git a/tools/pkglint/lib/banners/l1.cfn-only.md b/tools/pkglint/lib/banners/l1.cfn-only.md new file mode 100644 index 0000000000000..bd9e5186ed7aa --- /dev/null +++ b/tools/pkglint/lib/banners/l1.cfn-only.md @@ -0,0 +1,3 @@ +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. diff --git a/tools/pkglint/lib/banners/l1.deprecated.md b/tools/pkglint/lib/banners/l1.deprecated.md new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tools/pkglint/lib/banners/l1.developer-preview.md b/tools/pkglint/lib/banners/l1.developer-preview.md new file mode 100644 index 0000000000000..bd9e5186ed7aa --- /dev/null +++ b/tools/pkglint/lib/banners/l1.developer-preview.md @@ -0,0 +1,3 @@ +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. diff --git a/tools/pkglint/lib/banners/l1.experimental.md b/tools/pkglint/lib/banners/l1.experimental.md new file mode 100644 index 0000000000000..bd9e5186ed7aa --- /dev/null +++ b/tools/pkglint/lib/banners/l1.experimental.md @@ -0,0 +1,3 @@ +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) + +> All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use. diff --git a/tools/pkglint/lib/banners/l1.stable.md b/tools/pkglint/lib/banners/l1.stable.md new file mode 100644 index 0000000000000..b7748c3daf547 --- /dev/null +++ b/tools/pkglint/lib/banners/l1.stable.md @@ -0,0 +1 @@ +![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge) diff --git a/tools/pkglint/lib/banners/l2.cfn-only.md b/tools/pkglint/lib/banners/l2.cfn-only.md new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tools/pkglint/lib/banners/l2.deprecated.md b/tools/pkglint/lib/banners/l2.deprecated.md new file mode 100644 index 0000000000000..f51ab2b6e1491 --- /dev/null +++ b/tools/pkglint/lib/banners/l2.deprecated.md @@ -0,0 +1,3 @@ +![Deprecated](https://img.shields.io/badge/deprecated-critical.svg?style=for-the-badge) + +> This API may emit warnings. Backward compatibility is not guaranteed. diff --git a/tools/pkglint/lib/banners/l2.developer-preview.md b/tools/pkglint/lib/banners/l2.developer-preview.md new file mode 100644 index 0000000000000..03e696e649dd9 --- /dev/null +++ b/tools/pkglint/lib/banners/l2.developer-preview.md @@ -0,0 +1,5 @@ +![cdk-constructs: Developer Preview](https://img.shields.io/badge/cdk--constructs-developer--preview-informational.svg?style=for-the-badge) + +> The APIs of higher level constructs in this module are in **developer preview** before they become stable. We will only make breaking changes to address unforeseen API issues. Therefore, these APIs are not subject to [Semantic Versioning](https://semver.org/), and breaking changes will be announced in release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. + + diff --git a/tools/pkglint/lib/banners/l2.experimental.md b/tools/pkglint/lib/banners/l2.experimental.md new file mode 100644 index 0000000000000..14606e1bafe53 --- /dev/null +++ b/tools/pkglint/lib/banners/l2.experimental.md @@ -0,0 +1,3 @@ +![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge) + +> The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package. diff --git a/tools/pkglint/lib/banners/l2.stable.md b/tools/pkglint/lib/banners/l2.stable.md new file mode 100644 index 0000000000000..c8b447fda6e87 --- /dev/null +++ b/tools/pkglint/lib/banners/l2.stable.md @@ -0,0 +1 @@ +![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge) \ No newline at end of file diff --git a/tools/pkglint/lib/rules.ts b/tools/pkglint/lib/rules.ts index 94551fa66a9f6..a35e43248b0e6 100644 --- a/tools/pkglint/lib/rules.ts +++ b/tools/pkglint/lib/rules.ts @@ -1,5 +1,6 @@ import * as caseUtils from 'case'; import * as fs from 'fs'; +import * as glob from 'glob'; import * as path from 'path'; import * as semver from 'semver'; import { LICENSE, NOTICE } from './licensing'; @@ -162,10 +163,16 @@ export class ReadmeFile extends ValidationRule { } /** - * There must be a stability setting, and that the appropriate banner is present in the README.md file. + * All packages must have a "maturity" declaration. + * + * The banner in the README must match the package maturity. + * + * As a way to seed the settings, if 'maturity' is missing but can + * be auto-derived from 'stability', that will be the fix (otherwise + * there is no fix). */ -export class StabilitySetting extends ValidationRule { - public readonly name = 'package-info/stability'; +export class MaturitySetting extends ValidationRule { + public readonly name = 'package-info/maturity'; public validate(pkg: PackageJson): void { if (pkg.json.private) { @@ -173,34 +180,39 @@ export class StabilitySetting extends ValidationRule { return; } - let stability = pkg.json.stability; - switch (stability) { - case 'experimental': - case 'stable': - case 'deprecated': - if (pkg.json.deprecated && stability !== 'deprecated') { - pkg.report({ - ruleName: this.name, - message: `Package is deprecated, but is marked with stability "${stability}"`, - fix: () => pkg.json.stability = 'deprecated', - }); - stability = 'deprecated'; - } - break; - default: - const defaultStability = pkg.json.deprecated ? 'deprecated' : 'experimental'; - pkg.report({ - ruleName: this.name, - message: `Invalid stability configuration in package.json: ${JSON.stringify(stability)}`, - fix: () => pkg.json.stability = defaultStability, - }); - stability = defaultStability; + let maturity = pkg.json.maturity as string | undefined; + const stability = pkg.json.stability as string | undefined; + if (!maturity) { + let fix; + if (stability && ['stable', 'deprecated'].includes(stability)) { + // We can autofix! + fix = () => pkg.json.maturity = stability; + maturity = stability; + } + + pkg.report({ + ruleName: this.name, + message: `Package is missing "maturity" setting (expected one of ${Object.keys(MATURITY_TO_STABILITY)})`, + fix, + }); + } + + if (pkg.json.deprecated && maturity !== 'deprecated') { + pkg.report({ + ruleName: this.name, + message: `Package is deprecated, but is marked with maturity "${maturity}"`, + fix: () => pkg.json.maturity = 'deprecated', + }); + maturity = 'deprecated'; + } + + if (maturity) { + this.validateReadmeHasBanner(pkg, maturity, this.determinePackageLevels(pkg)); } - this.validateReadmeHasBanner(pkg, stability); } - private validateReadmeHasBanner(pkg: PackageJson, stability: string) { - const badge = this.readmeBadge(stability); + private validateReadmeHasBanner(pkg: PackageJson, maturity: string, levelsPresent: string[]) { + const badge = this.readmeBadge(maturity, levelsPresent); if (!badge) { // Somehow, we don't have a badge for this stability level return; @@ -210,6 +222,7 @@ export class StabilitySetting extends ValidationRule { // Presence of the file is asserted by another rule return; } + const readmeContent = fs.readFileSync(readmeFile, { encoding: 'utf8' }); const badgeRegex = new RegExp(badge.replace(/[.*+?^${}()|[\]\\]/g, '\\$&').replace(/\w+/g, '\\w+')); if (!badgeRegex.test(readmeContent)) { @@ -217,53 +230,83 @@ export class StabilitySetting extends ValidationRule { const [title, ...body] = readmeContent.replace(/(?:.|\n)+\n+/m, '').split('\n'); pkg.report({ ruleName: this.name, - message: `Missing stability banner for ${stability} in README.md file`, + message: `Missing stability banner for ${maturity} in README.md file`, fix: () => fs.writeFileSync(readmeFile, [title, badge, ...body].join('\n')), }); } } - private readmeBadge(stability: string) { - switch (stability) { - case 'deprecated': - return _div( - { label: 'Deprecated', color: 'critical' }, - 'This API may emit warnings. Backward compatibility is not guaranteed.', - ); - case 'experimental': - return _div( - { label: 'Experimental', color: 'important' }, - '**This is a _developer preview_ (public beta) module.**', - '', - 'All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib))', - 'are auto-generated from CloudFormation. They are stable and safe to use.', - '', - 'However, all other classes, i.e., higher level constructs, are under active development and subject to non-backward', - 'compatible changes or removal in any future version. These are not subject to the [Semantic Versioning](https://semver.org/) model.', - 'This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.', - ); - case 'stable': - return _div( - { label: 'Stable', color: 'success' }, - ); - default: - return undefined; + private readmeBadge(maturity: string, levelsPresent: string[]) { + const bannerContents = levelsPresent + .map(level => fs.readFileSync(path.join(__dirname, 'banners', `${level}.${maturity}.md`), { encoding: 'utf-8' }).trim()) + .join('\n\n') + .trim(); + + const bannerLines = bannerContents.split('\n').map(s => s.trimRight()); + + return [ + '', + '---', + '', + ...bannerLines, + '', + '---', + '', + '', + ].join('\n'); + } + + private determinePackageLevels(pkg: PackageJson): string[] { + // Used to determine L1 by the presence of a .generated.ts file, but that depends + // on the source having been built. Much more robust to look at the build INSTRUCTIONS + // to see if this package has L1s. + const hasL1 = !!pkg.json['cdk-build']?.cloudformation; + + const libFiles = glob.sync('lib/*.ts'); + const hasL2 = libFiles.some(f => !f.endsWith('.generated.ts') && !f.endsWith('index.ts')); + + return [ + ...hasL1 ? ['l1'] : [], + // If we don't have L1, then at least always paste in the L2 banner + ...hasL2 || !hasL1 ? ['l2'] : [], + ]; + } +} + +const MATURITY_TO_STABILITY: Record = { + 'cfn-only': 'experimental', + 'experimental': 'experimental', + 'developer-preview': 'experimental', + 'stable': 'stable', + 'deprecated': 'deprecated', +}; + +/** + * There must be a stability setting, and it must match the package maturity. + * + * Maturity setting is leading here (as there are more options than the + * stability setting), but the stability setting must be present for `jsii` + * to properly read and encode it into the assembly. + */ +export class StabilitySetting extends ValidationRule { + public readonly name = 'package-info/stability'; + + public validate(pkg: PackageJson): void { + if (pkg.json.private) { + // Does not apply to private packages! + return; } - function _div(badge: { label: string, color: string }, ...messages: string[]) { - return [ - '', - '', - '---', - '', - `![Stability: ${badge.label}](https://img.shields.io/badge/stability-${badge.label}-${badge.color}.svg?style=for-the-badge)`, - '', - ...messages.map(message => `> ${message}`.trimRight()), - '', - '---', - '', - '', - ].join('\n'); + const maturity = pkg.json.maturity as string | undefined; + const stability = pkg.json.stability as string | undefined; + + const expectedStability = maturity ? MATURITY_TO_STABILITY[maturity] : undefined; + if (!stability || (expectedStability && stability !== expectedStability)) { + pkg.report({ + ruleName: this.name, + message: `stability is '${stability}', but based on maturity is expected to be '${expectedStability}'`, + fix: expectedStability ? (() => pkg.json.stability = expectedStability) : undefined, + }); } } } From b564174dba882a17e73ba7ee785f26ec8c2e2a87 Mon Sep 17 00:00:00 2001 From: Rico Huijbers Date: Tue, 14 Apr 2020 14:39:29 +0200 Subject: [PATCH 11/20] chore: shrinkwrap CLI and cdk-assets tools The CLI and the `cdk-assets` tool present a security risk as they're being downloaded from NPM, as any of their dependencies can be compromised at any time and downloaded to any user's machine without a lockfile. Generate a lockfile (`npm-shrinkwrap.json`) that will be respected by NPM upon install. --- packages/aws-cdk/.gitignore | 3 +- packages/aws-cdk/package.json | 3 + packages/cdk-assets/.gitignore | 1 + packages/cdk-assets/package.json | 3 + scripts/align-version.sh | 12 +- tools/cdk-build-tools/bin/cdk-package.ts | 10 + tools/cdk-build-tools/package.json | 3 +- tools/yarn-cling/.gitignore | 7 + tools/yarn-cling/.npmignore | 9 + tools/yarn-cling/LICENSE | 201 ++++ tools/yarn-cling/NOTICE | 2 + tools/yarn-cling/README.md | 78 ++ tools/yarn-cling/bin/yarn-cling | 2 + tools/yarn-cling/bin/yarn-cling.ts | 18 + tools/yarn-cling/lib/hoisting.ts | 44 + tools/yarn-cling/lib/index.ts | 151 +++ tools/yarn-cling/lib/types.ts | 58 ++ tools/yarn-cling/package.json | 65 ++ tools/yarn-cling/test/cling.test.ts | 68 ++ tools/yarn-cling/test/hoisting.test.ts | 98 ++ tools/yarn-cling/test/test-fixture/.gitignore | 1 + .../package1/node_modules/package2 | 1 + .../registrydependency1/package.json | 7 + .../registrydependency2/package.json | 4 + .../test/test-fixture/package1/package.json | 8 + .../test/test-fixture/package2/package.json | 4 + tools/yarn-cling/test/test-fixture/yarn.lock | 9 + tools/yarn-cling/tsconfig.json | 20 + yarn.lock | 876 +++++++++++++++++- 29 files changed, 1734 insertions(+), 32 deletions(-) create mode 100644 tools/yarn-cling/.gitignore create mode 100644 tools/yarn-cling/.npmignore create mode 100644 tools/yarn-cling/LICENSE create mode 100644 tools/yarn-cling/NOTICE create mode 100644 tools/yarn-cling/README.md create mode 100755 tools/yarn-cling/bin/yarn-cling create mode 100644 tools/yarn-cling/bin/yarn-cling.ts create mode 100644 tools/yarn-cling/lib/hoisting.ts create mode 100644 tools/yarn-cling/lib/index.ts create mode 100644 tools/yarn-cling/lib/types.ts create mode 100644 tools/yarn-cling/package.json create mode 100644 tools/yarn-cling/test/cling.test.ts create mode 100644 tools/yarn-cling/test/hoisting.test.ts create mode 100644 tools/yarn-cling/test/test-fixture/.gitignore create mode 120000 tools/yarn-cling/test/test-fixture/package1/node_modules/package2 create mode 100644 tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency1/package.json create mode 100644 tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency2/package.json create mode 100644 tools/yarn-cling/test/test-fixture/package1/package.json create mode 100644 tools/yarn-cling/test/test-fixture/package2/package.json create mode 100644 tools/yarn-cling/test/test-fixture/yarn.lock create mode 100644 tools/yarn-cling/tsconfig.json diff --git a/packages/aws-cdk/.gitignore b/packages/aws-cdk/.gitignore index d47d255062905..68bfa1992afee 100644 --- a/packages/aws-cdk/.gitignore +++ b/packages/aws-cdk/.gitignore @@ -17,7 +17,8 @@ nyc.config.js !test/integ/run-wrappers/dist !test/integ/cli/**/* +npm-shrinkwrap.json # Might be created when running regression tests. # But normally should be deleted after execution. -test/integ/cli-backwards-tests-* \ No newline at end of file +test/integ/cli-backwards-tests-* diff --git a/packages/aws-cdk/package.json b/packages/aws-cdk/package.json index 23ab3cfb6483b..994f0cd39c9fb 100644 --- a/packages/aws-cdk/package.json +++ b/packages/aws-cdk/package.json @@ -35,6 +35,9 @@ ] } }, + "cdk-package": { + "shrinkWrap": true + }, "author": { "name": "Amazon Web Services", "url": "https://aws.amazon.com", diff --git a/packages/cdk-assets/.gitignore b/packages/cdk-assets/.gitignore index 2ada129e4b219..abbb776c774b0 100644 --- a/packages/cdk-assets/.gitignore +++ b/packages/cdk-assets/.gitignore @@ -19,3 +19,4 @@ nyc.config.js !test/integ/cli/**/* .* assets.json +npm-shrinkwrap.json diff --git a/packages/cdk-assets/package.json b/packages/cdk-assets/package.json index d1aed47f4e1df..2ae4b76e6baeb 100644 --- a/packages/cdk-assets/package.json +++ b/packages/cdk-assets/package.json @@ -61,6 +61,9 @@ "engines": { "node": ">= 10.12.0" }, + "cdk-package": { + "shrinkWrap": true + }, "stability": "experimental", "maturity": "experimental", "jest": { diff --git a/scripts/align-version.sh b/scripts/align-version.sh index 2e6d00798e7f3..6ab4f97be95af 100755 --- a/scripts/align-version.sh +++ b/scripts/align-version.sh @@ -9,12 +9,20 @@ scriptdir=$(cd $(dirname $0) && pwd) # go to repo root cd ${scriptdir}/.. -files="$(find . -name package.json | grep -v node_modules | xargs)" +files="./package.json $(npx lerna ls -p -a | xargs -n1 -I@ echo @/package.json)" ${scriptdir}/align-version.js ${files} # validation marker=$(node -p "require('./scripts/get-version-marker').replace(/\./g, '\\\.')") -if find . -name package.json | grep -v node_modules | xargs grep -E "\"[\^~]?${marker}\""; then + +# Get a list of all package.json files. None of them shouldn contain 0.0.0 anymore. +# Exclude a couple of specific ones that we don't care about. +package_jsons=$(find . -name package.json |\ + grep -v node_modules |\ + grep -v packages/decdk/test/fixture/package.json |\ + grep -v .github/actions/prlinter/package.json) + +if grep -l "[^0-9]${marker}" $package_jsons; then echo "ERROR: unexpected version marker ${marker} in a package.json file" exit 1 fi diff --git a/tools/cdk-build-tools/bin/cdk-package.ts b/tools/cdk-build-tools/bin/cdk-package.ts index c2c0066c5f98c..8b9995612131e 100644 --- a/tools/cdk-build-tools/bin/cdk-package.ts +++ b/tools/cdk-build-tools/bin/cdk-package.ts @@ -1,6 +1,7 @@ import * as fs from 'fs-extra'; import * as path from 'path'; import * as yargs from 'yargs'; +import * as yarnCling from 'yarn-cling'; import { shell } from '../lib/os'; import { Timers } from '../lib/timer'; @@ -31,6 +32,15 @@ async function main() { return; } + // If we need to shrinkwrap this, do so now. + const packageOptions = pkg['cdk-package'] ?? {}; + if (packageOptions.shrinkWrap) { + await yarnCling.generateShrinkwrap({ + packageJsonFile: 'package.json', + outputFile: 'npm-shrinkwrap.json', + }); + } + if (pkg.jsii) { const command = [args['jsii-pacmak'], args.verbose ? '-vvv' : '-v', diff --git a/tools/cdk-build-tools/package.json b/tools/cdk-build-tools/package.json index 2946850a1bd6a..073a145226e7c 100644 --- a/tools/cdk-build-tools/package.json +++ b/tools/cdk-build-tools/package.json @@ -55,7 +55,8 @@ "ts-jest": "^25.3.1", "tslint": "^5.20.1", "typescript": "~3.8.3", - "yargs": "^15.3.1" + "yargs": "^15.3.1", + "yarn-cling": "0.0.0" }, "keywords": [ "aws", diff --git a/tools/yarn-cling/.gitignore b/tools/yarn-cling/.gitignore new file mode 100644 index 0000000000000..0f18fe477a6f5 --- /dev/null +++ b/tools/yarn-cling/.gitignore @@ -0,0 +1,7 @@ +*.js +*.js.map +*.d.ts +dist + +.LAST_BUILD +*.snk \ No newline at end of file diff --git a/tools/yarn-cling/.npmignore b/tools/yarn-cling/.npmignore new file mode 100644 index 0000000000000..89a519f1e02fe --- /dev/null +++ b/tools/yarn-cling/.npmignore @@ -0,0 +1,9 @@ +# Don't include original .ts files when doing `npm pack` +*.ts +!*.d.ts +coverage +.nyc_output +*.tgz + +.LAST_BUILD +*.snk \ No newline at end of file diff --git a/tools/yarn-cling/LICENSE b/tools/yarn-cling/LICENSE new file mode 100644 index 0000000000000..b71ec1688783a --- /dev/null +++ b/tools/yarn-cling/LICENSE @@ -0,0 +1,201 @@ + 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/yarn-cling/NOTICE b/tools/yarn-cling/NOTICE new file mode 100644 index 0000000000000..bfccac9a7f69c --- /dev/null +++ b/tools/yarn-cling/NOTICE @@ -0,0 +1,2 @@ +AWS Cloud Development Kit (AWS CDK) +Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. diff --git a/tools/yarn-cling/README.md b/tools/yarn-cling/README.md new file mode 100644 index 0000000000000..a89fcb712b40a --- /dev/null +++ b/tools/yarn-cling/README.md @@ -0,0 +1,78 @@ +# yarn-cling + +Generate an NPM shrinkwrap file from a yarn-managed monorepo. + +## Why do we need an NPM shrinkwrap file? + +When vending JavaScript applications that are installed via NPM, an +`npm-shrinkwrap.json` is necessary to control the dependency tree of the +installed application, ensuring that all the dependencies have the +version that the application vendor expects. + +1. This prevents `npm install ` on the user's computer + from installing an untested combination of versions, one that may potentially + be broken. This *shouldn't* happen if everyone nicely keeps to semantic + versioning, but doing so relies on good intentions. + +2. Since most package's dependencies are written like `^1.2.0`, any application + in the NPM ecosystem can potentially be compromised by someone releasing a + minor or patch version of a library somewhere deep in the dependency tree + with malware in it. All subsequent `npm install `s would happily + install the new version of the now compromised library. + +The only way around both of these issues is an `npm-shrinkwrap.json`, which will +be respected by NPM on doing `npm install` (unlike `package-lock.json`, which +won't). + +Note that yarn doesn't support shrinkwrapping at all. We can't help those +people, but we can at least protect NPM users and tell people to use NPM to +install our applications if they want to have some semblance of installation +safety. + +## Okay fine. Why does this tool need to exist? + +There doesn't seem to be any existing tool that can generate the +`npm-shrinkwrap.json` file from our monorepo. + +### What about 'npm shrinkwrap' ? + +There is the command `npm shrinkwrap`. From various Googles, this command +varyingly used to accept arguments and not accept arguments. Its current +incarnation on my NPM (6.11.3) does not accept arguments, and simply +renames `package-lock.json => npm-shrinkwrap.json`. We don't have +a `package-lock.json` (because we manage our monorepo completely using +Yarn), so that obviously won't work. + +Nevertheless, if I run `npm shrinkwrap` a file IS generated. This file +contains SOME version information, but doesn't contain package integrity +checksums and breaks NPM when a subsequent `npm install` is run. NPM +exits with `npm ERR! Cannot read property 'match' of undefined`. + +### What about 'synp' ? + +There is a tool called synp which can convert `yarn.lock` to `package-lock.json` +(which is the same format as `npm-shrinkwrap.json`). + +Unfortunately, we only have one `yarn.lock` for the whole monorepo, whereas we +would need the subset of dependencies `yarn.lock` that apply to the application +we're trying to bundle. + +This tool does some inspired borrowing from `synp` but is monorepo-aware. + +## How does it work? + +Requires the monorepo dependency tree to have been bootstrapped, so that +we can look at the concrete `node_modules` directories of all packages involved +(because we need each package's `package.json` to separate production dependencies +from devDependencies). + +For all (production) dependencies of the package we're shrinkwrapping: + +- If the dependency is in `yarn.lock`, yarn resolved the version for us and + we copy that entry into the package lock file. +- If the dependency is not in `yarn.lock`, the dependency comes from the monorepo + and will be released at the same time as the current package. Unfortunately, + since it hasn't been downloaded yet we won't have an integrity for it. We simply + add an entry that contains the version number to the package lock. + +Recurse from the dependency's package directory. \ No newline at end of file diff --git a/tools/yarn-cling/bin/yarn-cling b/tools/yarn-cling/bin/yarn-cling new file mode 100755 index 0000000000000..f5e2c6552f2b5 --- /dev/null +++ b/tools/yarn-cling/bin/yarn-cling @@ -0,0 +1,2 @@ +#!/usr/bin/env node +require('./yarn-cling.js'); \ No newline at end of file diff --git a/tools/yarn-cling/bin/yarn-cling.ts b/tools/yarn-cling/bin/yarn-cling.ts new file mode 100644 index 0000000000000..844c852b15ebe --- /dev/null +++ b/tools/yarn-cling/bin/yarn-cling.ts @@ -0,0 +1,18 @@ +import { generateShrinkwrap } from '../lib'; + +async function main() { + // No arguments, just assume current directory + await generateShrinkwrap({ + packageJsonFile: 'package.json', + outputFile: 'npm-shrinkwrap.json', + }); + + // tslint:disable-next-line:no-console + console.error('Generated npm-shrinkwrap.json'); +} + +main().catch(e => { + // tslint:disable-next-line:no-console + console.error(e); + process.exitCode = 1; +}); \ No newline at end of file diff --git a/tools/yarn-cling/lib/hoisting.ts b/tools/yarn-cling/lib/hoisting.ts new file mode 100644 index 0000000000000..56338d9d2800e --- /dev/null +++ b/tools/yarn-cling/lib/hoisting.ts @@ -0,0 +1,44 @@ +import { PackageLockPackage } from "./types"; + +/** + * Hoist package-lock dependencies in-place + */ +export function hoistDependencies(packageLockDeps: Record) { + for (const pkg of Object.values(packageLockDeps)) { + recurse(pkg, packageLockDeps); + } + + return packageLockDeps; + + // For each of the deps, move each dependency that has the same version into the current array + function recurse(mutableParent: PackageLockPackage, into: Record) { + if (!mutableParent.dependencies) { return; } + + // First simplify each child of the mutable parent (this may add more dependencies into the + // mutable parent) + for (const depPackage of Object.values(mutableParent.dependencies)) { + // First simplify the package in question as much as possible + recurse(depPackage, mutableParent.dependencies); + } + + // Then push packages from the mutable parent into ITS parent + for (const [depName, depPackage] of Object.entries(mutableParent.dependencies)) { + if (!into[depName]) { + // It's new, we can move it up. + // tslint:disable-next-line:no-console + into[depName] = depPackage; + delete mutableParent.dependencies[depName]; + } else if (into[depName].version === depPackage.version) { + // Already exists, no conflict, delete the child + // tslint:disable-next-line:no-console + delete mutableParent.dependencies[depName]; + } + // Else: there is a conflict, leave the second package where it is. + } + + // Cleanup for nice printing + if (Object.keys(mutableParent.dependencies).length === 0) { + delete mutableParent.dependencies; + } + } +} diff --git a/tools/yarn-cling/lib/index.ts b/tools/yarn-cling/lib/index.ts new file mode 100644 index 0000000000000..bcf761732cc42 --- /dev/null +++ b/tools/yarn-cling/lib/index.ts @@ -0,0 +1,151 @@ +import * as lockfile from '@yarnpkg/lockfile'; +import { promises as fs } from 'fs'; +import * as path from 'path'; +import { hoistDependencies } from './hoisting'; +import { PackageJson, PackageLock, PackageLockEntry, PackageLockPackage, YarnLock } from './types'; + +export interface ShrinkwrapOptions { + /** + * The package.json file to start scanning for dependencies + */ + packageJsonFile: string; + + /** + * The output lockfile to generate + * + * @default - Don't generate the file, just return the calculated output + */ + outputFile?: string; + + /** + * Whether to hoist dependencies + * + * @default true + */ + hoist?: boolean; +} + +export async function generateShrinkwrap(options: ShrinkwrapOptions): Promise { + // No args (yet) + const packageJsonFile = options.packageJsonFile; + const packageJsonDir = path.dirname(packageJsonFile); + + const yarnLockLoc = await findYarnLock(packageJsonDir); + const yarnLock: YarnLock = lockfile.parse(await fs.readFile(yarnLockLoc, { encoding: 'utf-8' })); + const pkgJson = await loadPackageJson(packageJsonFile); + + const lock = await generateLockFile(pkgJson, yarnLock, packageJsonDir); + + if (options.hoist ?? true) { + hoistDependencies(lock.dependencies || {}); + } + + if (options.outputFile) { + // Write the shrinkwrap file + await fs.writeFile(options.outputFile, JSON.stringify(lock, undefined, 2), { encoding: 'utf-8'} ); + } + + return lock; +} + +async function generateLockFile(pkgJson: PackageJson, yarnLock: YarnLock, rootDir: string): Promise { + return { + name: pkgJson.name, + version: pkgJson.version, + lockfileVersion: 1, + requires: true, + dependencies: await dependenciesFor(pkgJson.dependencies || {}, yarnLock, rootDir), + }; +} + +// tslint:disable-next-line:max-line-length +async function dependenciesFor(deps: Record, yarnLock: YarnLock, rootDir: string): Promise> { + const ret: Record = {}; + + // Get rid of any monorepo symlinks + rootDir = await fs.realpath(rootDir); + + for (const [depName, versionRange] of Object.entries(deps)) { + const depPkgJsonFile = require.resolve(`${depName}/package.json`, { paths: [rootDir] }); + const depPkgJson = await loadPackageJson(depPkgJsonFile); + const depDir = path.dirname(depPkgJsonFile); + const yarnKey = `${depName}@${versionRange}`; + + // Sanity check + if (depPkgJson.name !== depName) { + throw new Error(`Looking for '${depName}' from ${rootDir}, but found '${depPkgJson.name}' in ${depDir}`); + } + + const yarnResolved = yarnLock.object[yarnKey]; + if (yarnResolved) { + // Resolved by Yarn + ret[depName] = { + version: yarnResolved.version, + integrity: yarnResolved.integrity, + resolved: yarnResolved.resolved, + requires: depPkgJson.dependencies, + dependencies: await dependenciesFor(depPkgJson.dependencies || {}, yarnLock, depDir), + }; + } else { + // Comes from monorepo, just use whatever's in package.json + ret[depName] = { + version: depPkgJson.version, + requires: depPkgJson.dependencies, + dependencies: await dependenciesFor(depPkgJson.dependencies || {}, yarnLock, depDir), + }; + } + + // Simplify by removing useless entries + if (Object.keys(ret[depName].requires ?? {}).length === 0) { delete ret[depName].requires; } + if (Object.keys(ret[depName].dependencies ?? {}).length === 0) { delete ret[depName].dependencies; } + } + + return ret; +} + +async function findYarnLock(start: string) { + return findUp('yarn.lock', start); +} + +async function findUp(fileName: string, start: string) { + start = path.resolve(start); + let dir = start; + const yarnLockHere = () => path.join(dir, fileName); + while (!await fileExists(yarnLockHere())) { + const parent = path.dirname(dir); + if (parent === dir) { + throw new Error(`No ${fileName} found upwards from ${start}`); + } + dir = parent; + } + + return yarnLockHere(); +} + +async function loadPackageJson(fileName: string): Promise { + return JSON.parse(await fs.readFile(fileName, { encoding: 'utf-8' })); +} + +async function fileExists(fullPath: string): Promise { + try { + await fs.stat(fullPath); + return true; + } catch (e) { + if (e.code === 'ENOENT' || e.code === 'ENOTDIR') { return false; } + throw e; + } +} + +export function printPackageLock(entry: PackageLockEntry) { + recurse([], entry); + + function recurse(names: string[], thisEntry: PackageLockEntry) { + if (names.length > 0) { + // tslint:disable-next-line:no-console + console.error(names.join(' -> '), '@', thisEntry.version); + } + for (const [depName, depEntry] of Object.entries(thisEntry.dependencies || {})) { + recurse([...names, depName], depEntry); + } + } +} \ No newline at end of file diff --git a/tools/yarn-cling/lib/types.ts b/tools/yarn-cling/lib/types.ts new file mode 100644 index 0000000000000..0f800cc50de52 --- /dev/null +++ b/tools/yarn-cling/lib/types.ts @@ -0,0 +1,58 @@ +export interface PackageJson { + name: string; + version: string; + + /** + * Dependency name to version range + */ + dependencies?: Record; +} + +export interface YarnLock { + type: string; + /** + * Dependency range (pkg@^1.2.0) to resolved package + */ + object: Record; +} + +export interface ResolvedYarnPackage { + version: string; + resolved: string; + integrity: string; + + /** + * Dependency name to version range + */ + dependencies: Record; +} + +export interface PackageLock extends PackageLockEntry { + name: string; + lockfileVersion: 1; + requires: true; +} + +export interface PackageLockEntry { + version: string; + /** + * Package name to resolved package + */ + dependencies?: Record; +} + +export interface PackageLockPackage extends PackageLockEntry { + resolved?: string; + integrity?: string; + + /** + * Package name to version number + * + * Must be in 'dependencies' at this level or higher. + */ + requires?: Record; + + bundled?: boolean; + dev?: boolean; + optional?: boolean; +} \ No newline at end of file diff --git a/tools/yarn-cling/package.json b/tools/yarn-cling/package.json new file mode 100644 index 0000000000000..0b504f9853123 --- /dev/null +++ b/tools/yarn-cling/package.json @@ -0,0 +1,65 @@ +{ + "name": "yarn-cling", + "private": true, + "version": "0.0.0", + "description": "Tool for generating npm-shrinkwrap from yarn.lock", + "main": "lib/index.js", + "repository": { + "type": "git", + "url": "https://github.com/aws/aws-cdk.git", + "directory": "tools/yarn-cling" + }, + "bin": { + "yarn-cling": "bin/yarn-cling" + }, + "scripts": { + "build": "tsc", + "watch": "tsc -w", + "pkglint": "pkglint -f", + "test": "jest", + "build+test+package": "npm run build+test", + "build+test": "npm run build && npm test" + }, + "author": { + "name": "Amazon Web Services", + "url": "https://aws.amazon.com", + "organization": true + }, + "license": "Apache-2.0", + "devDependencies": { + "@types/yarnpkg__lockfile": "^1.1.3", + "@types/jest": "^25.1.4", + "jest": "^24.9.0", + "@types/node": "^13.9.1", + "typescript": "~3.8.3", + "pkglint": "0.0.0" + }, + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0" + }, + "jest": { + "moduleFileExtensions": [ + "js" + ], + "coverageThreshold": { + "global": { + "branches": 60, + "statements": 80 + } + }, + "collectCoverage": true, + "coverageReporters": [ + "lcov", + "html", + "text-summary" + ] + }, + "keywords": [ + "aws", + "cdk" + ], + "homepage": "https://github.com/aws/aws-cdk", + "engines": { + "node": ">= 10.3.0" + } +} diff --git a/tools/yarn-cling/test/cling.test.ts b/tools/yarn-cling/test/cling.test.ts new file mode 100644 index 0000000000000..6b5854db688ed --- /dev/null +++ b/tools/yarn-cling/test/cling.test.ts @@ -0,0 +1,68 @@ +import * as path from 'path'; +import { generateShrinkwrap } from "../lib"; + +test('generate lock for fixture directory', async () => { + const lockFile = await generateShrinkwrap({ + packageJsonFile: path.join(__dirname, 'test-fixture', 'package1', 'package.json'), + hoist: false, + }); + + expect(lockFile).toEqual({ + lockfileVersion: 1, + name: "package1", + requires: true, + version: "1.1.1", + dependencies: { + package2: { + version: "2.2.2", + }, + registrydependency1: { + dependencies: { + registrydependency2: { + integrity: "sha512-pineapple", + resolved: "https://registry.bla.com/stuff", + version: "2.3.999", + }, + }, + integrity: "sha512-banana", + requires: { + registrydependency2: "^2.3.4", + }, + resolved: "https://registry.bla.com/stuff", + version: "1.2.999", + }, + }, + }); +}); + +test('generate hoisted lock for fixture directory', async () => { + const lockFile = await generateShrinkwrap({ + packageJsonFile: path.join(__dirname, 'test-fixture', 'package1', 'package.json'), + hoist: true, + }); + + expect(lockFile).toEqual({ + lockfileVersion: 1, + name: "package1", + requires: true, + version: "1.1.1", + dependencies: { + package2: { + version: "2.2.2", + }, + registrydependency1: { + integrity: "sha512-banana", + requires: { + registrydependency2: "^2.3.4", + }, + resolved: "https://registry.bla.com/stuff", + version: "1.2.999", + }, + registrydependency2: { + integrity: "sha512-pineapple", + resolved: "https://registry.bla.com/stuff", + version: "2.3.999", + }, + }, + }); +}); \ No newline at end of file diff --git a/tools/yarn-cling/test/hoisting.test.ts b/tools/yarn-cling/test/hoisting.test.ts new file mode 100644 index 0000000000000..aa8178eded90d --- /dev/null +++ b/tools/yarn-cling/test/hoisting.test.ts @@ -0,0 +1,98 @@ +import { hoistDependencies } from "../lib/hoisting"; +import { PackageLockPackage } from "../lib/types"; + +type Tree = Record; + +test('nonconflicting tree gets flattened', () => { + // GIVEN + const tree: Tree = { + stringutil: { + version: '1.0.0', + dependencies: { + leftpad: { version: '2.0.0' } + }, + }, + numutil: { + version: '3.0.0', + dependencies: { + isodd: { version: '4.0.0' } + }, + }, + }; + + // WHEN + hoistDependencies(tree); + + // THEN + expect(tree).toEqual({ + stringutil: { version: '1.0.0' }, + leftpad: { version: '2.0.0' }, + numutil: { version: '3.0.0' }, + isodd: { version: '4.0.0' }, + }); +}); + +test('matching versions get deduped', () => { + // GIVEN + const tree: Tree = { + stringutil: { + version: '1.0.0', + dependencies: { + leftpad: { version: '2.0.0' } + }, + }, + numutil: { + version: '3.0.0', + dependencies: { + leftpad: { version: '2.0.0' }, + isodd: { version: '4.0.0' } + }, + }, + }; + + // WHEN + hoistDependencies(tree); + + // THEN + expect(tree).toEqual({ + stringutil: { version: '1.0.0' }, + leftpad: { version: '2.0.0' }, + numutil: { version: '3.0.0' }, + isodd: { version: '4.0.0' }, + }); +}); + +test('conflicting versions get left in place', () => { + // GIVEN + const tree: Tree = { + stringutil: { + version: '1.0.0', + dependencies: { + leftpad: { version: '2.0.0' } + }, + }, + numutil: { + version: '3.0.0', + dependencies: { + leftpad: { version: '5.0.0' }, + isodd: { version: '4.0.0' } + }, + }, + }; + + // WHEN + hoistDependencies(tree); + + // THEN + expect(tree).toEqual({ + stringutil: { version: '1.0.0' }, + leftpad: { version: '2.0.0' }, + numutil: { + version: '3.0.0', + dependencies: { + leftpad: { version: '5.0.0' }, + }, + }, + isodd: { version: '4.0.0' }, + }); +}); \ No newline at end of file diff --git a/tools/yarn-cling/test/test-fixture/.gitignore b/tools/yarn-cling/test/test-fixture/.gitignore new file mode 100644 index 0000000000000..cf4bab9ddde9f --- /dev/null +++ b/tools/yarn-cling/test/test-fixture/.gitignore @@ -0,0 +1 @@ +!node_modules diff --git a/tools/yarn-cling/test/test-fixture/package1/node_modules/package2 b/tools/yarn-cling/test/test-fixture/package1/node_modules/package2 new file mode 120000 index 0000000000000..8db12e196dfbd --- /dev/null +++ b/tools/yarn-cling/test/test-fixture/package1/node_modules/package2 @@ -0,0 +1 @@ +../../package2 \ No newline at end of file diff --git a/tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency1/package.json b/tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency1/package.json new file mode 100644 index 0000000000000..8ecbc5b50e2e6 --- /dev/null +++ b/tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency1/package.json @@ -0,0 +1,7 @@ +{ + "name": "registrydependency1", + "version": "1.2.999", + "dependencies": { + "registrydependency2": "^2.3.4" + } +} diff --git a/tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency2/package.json b/tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency2/package.json new file mode 100644 index 0000000000000..8b9d7f39ababd --- /dev/null +++ b/tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency2/package.json @@ -0,0 +1,4 @@ +{ + "name": "registrydependency2", + "version": "2.3.999" +} diff --git a/tools/yarn-cling/test/test-fixture/package1/package.json b/tools/yarn-cling/test/test-fixture/package1/package.json new file mode 100644 index 0000000000000..8edf6d46e6537 --- /dev/null +++ b/tools/yarn-cling/test/test-fixture/package1/package.json @@ -0,0 +1,8 @@ +{ + "name": "package1", + "version": "1.1.1", + "dependencies": { + "registrydependency1": "^1.2.3", + "package2": "2.2.2" + } +} diff --git a/tools/yarn-cling/test/test-fixture/package2/package.json b/tools/yarn-cling/test/test-fixture/package2/package.json new file mode 100644 index 0000000000000..d10f139d13944 --- /dev/null +++ b/tools/yarn-cling/test/test-fixture/package2/package.json @@ -0,0 +1,4 @@ +{ + "name": "package2", + "version": "2.2.2" +} diff --git a/tools/yarn-cling/test/test-fixture/yarn.lock b/tools/yarn-cling/test/test-fixture/yarn.lock new file mode 100644 index 0000000000000..fda733502a052 --- /dev/null +++ b/tools/yarn-cling/test/test-fixture/yarn.lock @@ -0,0 +1,9 @@ +"registrydependency1@^1.2.3": + version "1.2.999" + resolved "https://registry.bla.com/stuff" + integrity sha512-banana + +"registrydependency2@^2.3.4": + version "2.3.999" + resolved "https://registry.bla.com/stuff" + integrity sha512-pineapple diff --git a/tools/yarn-cling/tsconfig.json b/tools/yarn-cling/tsconfig.json new file mode 100644 index 0000000000000..14499cd2abfaf --- /dev/null +++ b/tools/yarn-cling/tsconfig.json @@ -0,0 +1,20 @@ +{ + "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/yarn.lock b/yarn.lock index 4b176f15a5d42..5466a92730b0f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -391,7 +391,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== @@ -891,6 +891,15 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== +"@jest/console@^24.7.1", "@jest/console@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" + integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== + dependencies: + "@jest/source-map" "^24.9.0" + chalk "^2.0.1" + slash "^2.0.0" + "@jest/console@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.3.0.tgz#33b56b81238427bf3ebe3f7b3378d2f79cdbd409" @@ -901,6 +910,40 @@ jest-util "^25.3.0" slash "^3.0.0" +"@jest/core@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" + integrity sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A== + dependencies: + "@jest/console" "^24.7.1" + "@jest/reporters" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-changed-files "^24.9.0" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-resolve-dependencies "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + jest-watcher "^24.9.0" + micromatch "^3.1.10" + p-each-series "^1.0.0" + realpath-native "^1.1.0" + rimraf "^2.5.4" + slash "^2.0.0" + strip-ansi "^5.0.0" + "@jest/core@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.3.0.tgz#80f97a7a8b59dde741a24f30871cc26d0197d426" @@ -935,6 +978,16 @@ slash "^3.0.0" strip-ansi "^6.0.0" +"@jest/environment@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" + integrity sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ== + dependencies: + "@jest/fake-timers" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + "@jest/environment@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.3.0.tgz#587f28ddb4b0dfe97404d3d4a4c9dbfa0245fb2e" @@ -944,6 +997,15 @@ "@jest/types" "^25.3.0" jest-mock "^25.3.0" +"@jest/fake-timers@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" + integrity sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A== + dependencies: + "@jest/types" "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + "@jest/fake-timers@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.3.0.tgz#995aad36d5c8984165ca5db12e740ab8dbf7042a" @@ -955,6 +1017,33 @@ jest-util "^25.3.0" lolex "^5.0.0" +"@jest/reporters@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" + integrity sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.2" + istanbul-lib-coverage "^2.0.2" + istanbul-lib-instrument "^3.0.1" + istanbul-lib-report "^2.0.4" + istanbul-lib-source-maps "^3.0.1" + istanbul-reports "^2.2.6" + jest-haste-map "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.6.0" + node-notifier "^5.4.2" + slash "^2.0.0" + source-map "^0.6.0" + string-length "^2.0.0" + "@jest/reporters@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.3.0.tgz#7f39f0e6911561cc5112a1b54656de18faee269b" @@ -986,6 +1075,15 @@ optionalDependencies: node-notifier "^6.0.0" +"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" + integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.1.15" + source-map "^0.6.0" + "@jest/source-map@^25.2.6": version "25.2.6" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.2.6.tgz#0ef2209514c6d445ebccea1438c55647f22abb4c" @@ -995,6 +1093,15 @@ graceful-fs "^4.2.3" source-map "^0.6.0" +"@jest/test-result@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" + integrity sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA== + dependencies: + "@jest/console" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/istanbul-lib-coverage" "^2.0.0" + "@jest/test-result@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.3.0.tgz#137fab5e5c6fed36e5d40735d1eb029325e3bf06" @@ -1005,6 +1112,16 @@ "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" +"@jest/test-sequencer@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" + integrity sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A== + dependencies: + "@jest/test-result" "^24.9.0" + jest-haste-map "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + "@jest/test-sequencer@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.3.0.tgz#271ad5f2b8f8137d092ccedc87e16a50f8676209" @@ -1015,6 +1132,28 @@ jest-runner "^25.3.0" jest-runtime "^25.3.0" +"@jest/transform@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" + integrity sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^24.9.0" + babel-plugin-istanbul "^5.1.0" + chalk "^2.0.1" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.1.15" + jest-haste-map "^24.9.0" + jest-regex-util "^24.9.0" + jest-util "^24.9.0" + micromatch "^3.1.10" + pirates "^4.0.1" + realpath-native "^1.1.0" + slash "^2.0.0" + source-map "^0.6.1" + write-file-atomic "2.4.1" + "@jest/transform@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.3.0.tgz#083c5447d5307d9b9494d6968115b647460e71f1" @@ -1037,6 +1176,15 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" +"@jest/types@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^13.0.0" + "@jest/types@^25.2.6": version "25.2.6" resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.2.6.tgz#c12f44af9bed444438091e4b59e7ed05f8659cb6" @@ -1944,7 +2092,7 @@ resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.46.tgz#3246348cdc15921bd065966109fc1c6f6d5cfd96" integrity sha512-88E4Hlypo3AE40wslm7N4n09lCIJwgYJm5wsaA3/Vib1xqjC/ANePTaPRpPdj9NzBSpw7Tgon58qGMYEArx4oA== -"@types/babel__core@^7.1.7": +"@types/babel__core@^7.1.0", "@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== @@ -2028,7 +2176,7 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" -"@types/jest@^25.2.1": +"@types/jest@^25.1.4", "@types/jest@^25.2.1": version "25.2.1" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.1.tgz#9544cd438607955381c1bdbdb97767a249297db5" integrity sha512-msra1bCaAeEdkSyA0CZ6gW1ukMIvZ5YoJkdXw/qhQdsuuDlFTcEUrUw8CLCPt2rVRUfXlClVvK2gvPs9IokZaA== @@ -2092,6 +2240,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.18.tgz#ae364d97382aacdebf583fa4e7132af2dfe56a0c" integrity sha512-DQ2hl/Jl3g33KuAUOcMrcAOtsbzb+y/ufakzAdeK9z/H/xsvkpbETZZbPNMIiQuk24f5ZRMCcZIViAwyFIiKmg== +"@types/node@^13.9.1": + version "13.9.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.8.tgz#09976420fc80a7a00bf40680c63815ed8c7616f4" + integrity sha512-1WgO8hsyHynlx7nhP1kr0OFzsgKz5XDQL+Lfc3b1Q3qIln/n8cKD4m09NJ0+P1Rq7Zgnc7N0+SsMnoD1rEb0kA== + "@types/nodeunit@^0.0.30": version "0.0.30" resolved "https://registry.yarnpkg.com/@types/nodeunit/-/nodeunit-0.0.30.tgz#48d2c2719a118c7723b83306c3e800b11a2bf678" @@ -2170,6 +2323,13 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== +"@types/yargs@^13.0.0": + version "13.0.8" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.8.tgz#a38c22def2f1c2068f8971acb3ea734eb3c64a99" + integrity sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA== + dependencies: + "@types/yargs-parser" "*" + "@types/yargs@^15.0.0", "@types/yargs@^15.0.4": version "15.0.4" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.4.tgz#7e5d0f8ca25e9d5849f2ea443cf7c402decd8299" @@ -2177,6 +2337,11 @@ dependencies: "@types/yargs-parser" "*" +"@types/yarnpkg__lockfile@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@types/yarnpkg__lockfile/-/yarnpkg__lockfile-1.1.3.tgz#38fb31d82ed07dea87df6bd565721d11979fd761" + integrity sha512-mhdQq10tYpiNncMkg1vovCud5jQm+rWeRVz6fxjCJlY6uhDlAn9GnMSmBa2DQwqPf/jS5YR0K/xChDEh1jdOQg== + "@typescript-eslint/eslint-plugin@^2.28.0": version "2.28.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.28.0.tgz#4431bc6d3af41903e5255770703d4e55a0ccbdec" @@ -2242,6 +2407,11 @@ semver "^6.3.0" tsutils "^3.17.1" +"@yarnpkg/lockfile@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" + integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== + "@zkochan/cmd-shim@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@zkochan/cmd-shim/-/cmd-shim-3.1.0.tgz#2ab8ed81f5bb5452a85f25758eb9b8681982fd2e" @@ -2269,7 +2439,7 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -acorn-globals@^4.3.0, acorn-globals@^4.3.2: +acorn-globals@^4.1.0, acorn-globals@^4.3.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== @@ -2287,6 +2457,11 @@ acorn-walk@^6.0.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== +acorn@^5.5.3: + version "5.7.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" + integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== + acorn@^6.0.1, acorn@^6.0.4: version "6.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" @@ -2346,7 +2521,7 @@ alphanum-sort@^1.0.0: resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= -ansi-escapes@^3.2.0: +ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== @@ -2368,7 +2543,7 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= -ansi-regex@^4.1.0: +ansi-regex@^4.0.0, ansi-regex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== @@ -2426,6 +2601,11 @@ anymatch@^3.0.3: normalize-path "^3.0.0" picomatch "^2.0.4" +app-root-path@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.2.1.tgz#d0df4a682ee408273583d43f6f79e9892624bc9a" + integrity sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA== + append-transform@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" @@ -2659,7 +2839,7 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -aws-sdk-mock@^5.1.0: +aws-sdk-mock@^5.0.0, aws-sdk-mock@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/aws-sdk-mock/-/aws-sdk-mock-5.1.0.tgz#6f2c0bd670d7f378c906a8dd806f812124db71aa" integrity sha512-Wa5eCSo8HX0Snqb7FdBylaXMmfrAWoWZ+d7MFhiYsgHPvNvMEGjV945FF2qqE1U0Tolr1ALzik1fcwgaOhqUWQ== @@ -2668,6 +2848,21 @@ aws-sdk-mock@^5.1.0: sinon "^9.0.1" traverse "^0.6.6" +aws-sdk@^2.596.0: + version "2.650.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.650.0.tgz#edf995cf2805c918d7470a652f1316ae902c5aa4" + integrity sha512-MlTKXeRSe4IXXqnulAiXZccpTgDafs3ofYIQv/7ApR+oQUFsq96RHwe8MdW9N1cXn7fz302jLXUAykj4boR3DA== + dependencies: + buffer "4.9.1" + 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.637.0, aws-sdk@^2.656.0: version "2.656.0" resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.656.0.tgz#0d74664ddbf30701073be9f9913ee7266afef3b4" @@ -2700,6 +2895,19 @@ axios@^0.19.0: dependencies: follow-redirects "1.5.10" +babel-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" + integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw== + dependencies: + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/babel__core" "^7.1.0" + babel-plugin-istanbul "^5.1.0" + babel-preset-jest "^24.9.0" + chalk "^2.4.2" + slash "^2.0.0" + babel-jest@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.3.0.tgz#999d0c19e8427f66b796bf9ea233eedf087b957c" @@ -2720,6 +2928,16 @@ babel-plugin-dynamic-import-node@^2.3.0: dependencies: object.assign "^4.1.0" +babel-plugin-istanbul@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" + integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + find-up "^3.0.0" + istanbul-lib-instrument "^3.3.0" + test-exclude "^5.2.3" + babel-plugin-istanbul@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" @@ -2731,6 +2949,13 @@ babel-plugin-istanbul@^6.0.0: istanbul-lib-instrument "^4.0.0" test-exclude "^6.0.0" +babel-plugin-jest-hoist@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" + integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw== + dependencies: + "@types/babel__traverse" "^7.0.6" + babel-plugin-jest-hoist@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.2.6.tgz#2af07632b8ac7aad7d414c1e58425d5fc8e84909" @@ -2754,6 +2979,14 @@ 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@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" + integrity sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg== + dependencies: + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + babel-plugin-jest-hoist "^24.9.0" + babel-preset-jest@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.3.0.tgz#9ab40aee52a19bdc52b8b1ec2403d5914ac3d86b" @@ -4170,7 +4403,7 @@ csso@^4.0.2: dependencies: css-tree "1.0.0-alpha.37" -cssom@0.3.x, cssom@^0.3.4, cssom@~0.3.6: +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4, cssom@~0.3.6: version "0.3.8" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== @@ -4180,7 +4413,7 @@ cssom@^0.4.1: resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== -cssstyle@^1.1.1: +cssstyle@^1.0.0, cssstyle@^1.1.1: version "1.4.0" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== @@ -4225,7 +4458,7 @@ 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: +data-urls@^1.0.0, 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== @@ -4466,6 +4699,11 @@ dezalgo@^1.0.0: asap "^2.0.0" wrappy "1" +diff-sequences@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== + diff-sequences@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" @@ -4590,11 +4828,21 @@ dotenv-expand@^5.1.0: resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== +dotenv-json@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dotenv-json/-/dotenv-json-1.0.0.tgz#fc7f672aafea04bed33818733b9f94662332815c" + integrity sha512-jAssr+6r4nKhKRudQ0HOzMskOFFi9+ubXWwmrSGJFgTvpjyPXCXsCsYbjif6mXp7uxA7xY3/LGaiTQukZzSbOQ== + dotenv@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" integrity sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow== +dotenv@^8.0.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" + integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== + dotgitignore@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/dotgitignore/-/dotgitignore-2.1.0.tgz#a4b15a4e4ef3cf383598aaf1dfa4a04bcc089b7b" @@ -4805,7 +5053,7 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -escodegen@1.x.x, escodegen@^1.11.0, escodegen@^1.11.1: +escodegen@1.x.x, escodegen@^1.11.0, escodegen@^1.11.1, escodegen@^1.9.1: version "1.14.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457" integrity sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ== @@ -4829,6 +5077,11 @@ escodegen@~1.9.0: optionalDependencies: source-map "~0.6.1" +eslint-config-standard@^14.1.0: + version "14.1.1" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz#830a8e44e7aef7de67464979ad06b406026c56ea" + integrity sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg== + eslint-import-resolver-node@^0.3.2, 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" @@ -4856,7 +5109,15 @@ eslint-module-utils@^2.4.1: debug "^2.6.9" pkg-dir "^2.0.0" -eslint-plugin-import@^2.20.2: +eslint-plugin-es@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-2.0.0.tgz#0f5f5da5f18aa21989feebe8a73eadefb3432976" + integrity sha512-f6fceVtg27BR02EYnBhgWLFQfK6bN4Ll0nQFrBHOlCsAyxeZkn0NHns5O0YZOPrV1B3ramd6cgFwaoFLcSkwEQ== + dependencies: + eslint-utils "^1.4.2" + regexpp "^3.0.0" + +eslint-plugin-import@^2.19.1, eslint-plugin-import@^2.20.2: version "2.20.2" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.20.2.tgz#91fc3807ce08be4837141272c8b99073906e588d" integrity sha512-FObidqpXrR8OnCh4iNsxy+WACztJLXAHBO5hK79T1Hc77PgQZkyDGA5Ag9xAvRpglvLNxhH/zSmZ70/pZ31dHg== @@ -4874,6 +5135,28 @@ eslint-plugin-import@^2.20.2: read-pkg-up "^2.0.0" resolve "^1.12.0" +eslint-plugin-node@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-10.0.0.tgz#fd1adbc7a300cf7eb6ac55cf4b0b6fc6e577f5a6" + integrity sha512-1CSyM/QCjs6PXaT18+zuAXsjXGIGo5Rw630rSKwokSs2jrYURQc4R5JZpoanNCqwNmepg+0eZ9L7YiRUJb8jiQ== + dependencies: + eslint-plugin-es "^2.0.0" + eslint-utils "^1.4.2" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-promise@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a" + integrity sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw== + +eslint-plugin-standard@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz#ff0519f7ffaff114f76d1bd7c3996eef0f6e20b4" + integrity sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ== + eslint-scope@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" @@ -4882,7 +5165,7 @@ eslint-scope@^5.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-utils@^1.4.3: +eslint-utils@^1.4.2, 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== @@ -5077,6 +5360,18 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" +expect@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" + integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== + dependencies: + "@jest/types" "^24.9.0" + ansi-styles "^3.2.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.9.0" + expect@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/expect/-/expect-25.3.0.tgz#5fd36e51befd05afb7184bc954f8a4792d184c71" @@ -6068,6 +6363,11 @@ ignore@^4.0.3, ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +ignore@^5.1.1: + version "5.1.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf" + integrity sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A== + immediate@~3.0.5: version "3.0.6" resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" @@ -6634,7 +6934,7 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -istanbul-lib-coverage@^2.0.5: +istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== @@ -6658,7 +6958,7 @@ istanbul-lib-hook@^3.0.0: dependencies: append-transform "^2.0.0" -istanbul-lib-instrument@^3.3.0: +istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== @@ -6697,7 +6997,7 @@ istanbul-lib-processinfo@^2.0.2: rimraf "^3.0.0" uuid "^3.3.3" -istanbul-lib-report@^2.0.8: +istanbul-lib-report@^2.0.4, istanbul-lib-report@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== @@ -6715,7 +7015,7 @@ istanbul-lib-report@^3.0.0: make-dir "^3.0.0" supports-color "^7.1.0" -istanbul-lib-source-maps@^3.0.6: +istanbul-lib-source-maps@^3.0.1, istanbul-lib-source-maps@^3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== @@ -6735,7 +7035,7 @@ istanbul-lib-source-maps@^4.0.0: istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" -istanbul-reports@^2.2.4: +istanbul-reports@^2.2.4, istanbul-reports@^2.2.6: version "2.2.7" resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== @@ -6750,6 +7050,15 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" +jest-changed-files@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" + integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg== + dependencies: + "@jest/types" "^24.9.0" + execa "^1.0.0" + throat "^4.0.0" + jest-changed-files@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.3.0.tgz#85d8de6f4bd13dafda9d7f1e3f2565fc0e183c78" @@ -6759,6 +7068,25 @@ jest-changed-files@^25.3.0: execa "^3.2.0" throat "^5.0.0" +jest-cli@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" + integrity sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg== + dependencies: + "@jest/core" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + import-local "^2.0.0" + is-ci "^2.0.0" + jest-config "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + prompts "^2.0.1" + realpath-native "^1.1.0" + yargs "^13.3.0" + jest-cli@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.3.0.tgz#d9e11f5700cc5946583cf0d01a9bdebceed448d2" @@ -6778,6 +7106,29 @@ jest-cli@^25.3.0: realpath-native "^2.0.0" yargs "^15.3.1" +jest-config@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" + integrity sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^24.9.0" + "@jest/types" "^24.9.0" + babel-jest "^24.9.0" + chalk "^2.0.1" + glob "^7.1.1" + jest-environment-jsdom "^24.9.0" + jest-environment-node "^24.9.0" + jest-get-type "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + micromatch "^3.1.10" + pretty-format "^24.9.0" + realpath-native "^1.1.0" + jest-config@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.3.0.tgz#112b5e2f2e57dec4501dd2fe979044c06fb1317e" @@ -6802,6 +7153,16 @@ jest-config@^25.3.0: pretty-format "^25.3.0" realpath-native "^2.0.0" +jest-diff@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== + dependencies: + chalk "^2.0.1" + diff-sequences "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + jest-diff@^25.2.1: version "25.2.6" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.2.6.tgz#a6d70a9ab74507715ea1092ac513d1ab81c1b5e7" @@ -6822,6 +7183,13 @@ jest-diff@^25.3.0: jest-get-type "^25.2.6" pretty-format "^25.3.0" +jest-docblock@^24.3.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" + integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== + dependencies: + detect-newline "^2.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" @@ -6829,6 +7197,17 @@ jest-docblock@^25.3.0: dependencies: detect-newline "^3.0.0" +jest-each@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" + integrity sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog== + dependencies: + "@jest/types" "^24.9.0" + chalk "^2.0.1" + jest-get-type "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + jest-each@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.3.0.tgz#a319eecf1f6076164ab86f99ca166a55b96c0bd4" @@ -6840,6 +7219,18 @@ jest-each@^25.3.0: jest-util "^25.3.0" pretty-format "^25.3.0" +jest-environment-jsdom@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" + integrity sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" + jsdom "^11.5.1" + jest-environment-jsdom@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.3.0.tgz#c493ab8c41f28001520c70ef67dd88b88be6af05" @@ -6852,6 +7243,17 @@ jest-environment-jsdom@^25.3.0: jest-util "^25.3.0" jsdom "^15.2.1" +jest-environment-node@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" + integrity sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" + jest-environment-node@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.3.0.tgz#9845f0e63991e8498448cb0ae804935689533db9" @@ -6864,11 +7266,35 @@ jest-environment-node@^25.3.0: jest-util "^25.3.0" semver "^6.3.0" +jest-get-type@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== + 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-haste-map@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" + integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ== + dependencies: + "@jest/types" "^24.9.0" + anymatch "^2.0.0" + fb-watchman "^2.0.0" + graceful-fs "^4.1.15" + invariant "^2.2.4" + jest-serializer "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.9.0" + micromatch "^3.1.10" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^1.2.7" + jest-haste-map@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.3.0.tgz#b7683031c9c9ddc0521d311564108b244b11e4c6" @@ -6888,6 +7314,28 @@ jest-haste-map@^25.3.0: optionalDependencies: fsevents "^2.1.2" +jest-jasmine2@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" + integrity sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + co "^4.6.0" + expect "^24.9.0" + is-generator-fn "^2.0.0" + jest-each "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + throat "^4.0.0" + jest-jasmine2@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.3.0.tgz#16ae4f68adef65fb45001b26c864bcbcbf972830" @@ -6911,6 +7359,14 @@ jest-jasmine2@^25.3.0: pretty-format "^25.3.0" throat "^5.0.0" +jest-leak-detector@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" + integrity sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA== + dependencies: + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + jest-leak-detector@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.3.0.tgz#5b6bf04903b35be56038915a55f47291771f769f" @@ -6919,6 +7375,16 @@ jest-leak-detector@^25.3.0: jest-get-type "^25.2.6" pretty-format "^25.3.0" +jest-matcher-utils@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" + integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== + dependencies: + chalk "^2.0.1" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + jest-matcher-utils@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.3.0.tgz#76765788a26edaa8bc5f0100aea52ae383559648" @@ -6929,6 +7395,20 @@ jest-matcher-utils@^25.3.0: jest-get-type "^25.2.6" pretty-format "^25.3.0" +jest-message-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" + integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/stack-utils" "^1.0.1" + chalk "^2.0.1" + micromatch "^3.1.10" + slash "^2.0.0" + stack-utils "^1.0.1" + jest-message-util@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.3.0.tgz#e3836826fe5ca538a337b87d9bd2648190867f85" @@ -6942,6 +7422,13 @@ jest-message-util@^25.3.0: slash "^3.0.0" stack-utils "^1.0.1" +jest-mock@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" + integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== + dependencies: + "@jest/types" "^24.9.0" + jest-mock@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.3.0.tgz#d72644509e40987a732a9a2534a1054f4649402c" @@ -6954,11 +7441,25 @@ jest-pnp-resolver@^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-regex-util@^24.3.0, jest-regex-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" + integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== + 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-resolve-dependencies@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" + integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g== + dependencies: + "@jest/types" "^24.9.0" + jest-regex-util "^24.3.0" + jest-snapshot "^24.9.0" + jest-resolve-dependencies@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.3.0.tgz#b0e4ae053dd44ddacc18c6ee12b5b7c28e445a90" @@ -6968,6 +7469,17 @@ jest-resolve-dependencies@^25.3.0: jest-regex-util "^25.2.6" jest-snapshot "^25.3.0" +jest-resolve@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" + integrity sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ== + dependencies: + "@jest/types" "^24.9.0" + browser-resolve "^1.11.3" + chalk "^2.0.1" + jest-pnp-resolver "^1.2.1" + realpath-native "^1.1.0" + jest-resolve@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.3.0.tgz#cb90a5bbea54a02eccdbbf4126a819595dcf91d6" @@ -6980,6 +7492,31 @@ jest-resolve@^25.3.0: realpath-native "^2.0.0" resolve "^1.15.1" +jest-runner@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" + integrity sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg== + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.4.2" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-config "^24.9.0" + jest-docblock "^24.3.0" + jest-haste-map "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-leak-detector "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.6.0" + source-map-support "^0.5.6" + throat "^4.0.0" + jest-runner@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.3.0.tgz#673ef2ac79d2810eb6b2c1a3f82398375a3d1174" @@ -7005,6 +7542,35 @@ jest-runner@^25.3.0: source-map-support "^0.5.6" throat "^5.0.0" +jest-runtime@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" + integrity sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw== + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/source-map" "^24.3.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.1.15" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + realpath-native "^1.1.0" + slash "^2.0.0" + strip-bom "^3.0.0" + yargs "^13.3.0" + jest-runtime@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.3.0.tgz#af4d40dbcc590fa5de9910cb6a120a13d131050b" @@ -7036,11 +7602,35 @@ jest-runtime@^25.3.0: strip-bom "^4.0.0" yargs "^15.3.1" +jest-serializer@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" + integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== + jest-serializer@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.2.6.tgz#3bb4cc14fe0d8358489dbbefbb8a4e708ce039b7" integrity sha512-RMVCfZsezQS2Ww4kB5HJTMaMJ0asmC0BHlnobQC6yEtxiFKIxohFA4QSXSabKwSggaNkqxn6Z2VwdFCjhUWuiQ== +jest-snapshot@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" + integrity sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + expect "^24.9.0" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "^24.9.0" + semver "^6.2.0" + jest-snapshot@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.3.0.tgz#d4feb457494f4aaedcc83fbbf1ca21808fc3df71" @@ -7061,6 +7651,24 @@ jest-snapshot@^25.3.0: pretty-format "^25.3.0" semver "^6.3.0" +jest-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" + integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== + dependencies: + "@jest/console" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/source-map" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + callsites "^3.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.15" + is-ci "^2.0.0" + mkdirp "^0.5.1" + slash "^2.0.0" + source-map "^0.6.0" + jest-util@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.3.0.tgz#e3b0064165818f10d78514696fd25efba82cf049" @@ -7071,6 +7679,18 @@ jest-util@^25.3.0: is-ci "^2.0.0" make-dir "^3.0.0" +jest-validate@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" + integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== + dependencies: + "@jest/types" "^24.9.0" + camelcase "^5.3.1" + chalk "^2.0.1" + jest-get-type "^24.9.0" + leven "^3.1.0" + pretty-format "^24.9.0" + jest-validate@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.3.0.tgz#eb95fdee0039647bcd5d4be641b21e4a142a880c" @@ -7083,6 +7703,19 @@ jest-validate@^25.3.0: leven "^3.1.0" pretty-format "^25.3.0" +jest-watcher@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" + integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== + dependencies: + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + jest-util "^24.9.0" + string-length "^2.0.0" + jest-watcher@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.3.0.tgz#fd03fd5ca52f02bd3161ab177466bf1bfdd34e5c" @@ -7095,6 +7728,14 @@ jest-watcher@^25.3.0: jest-util "^25.3.0" string-length "^3.1.0" +jest-worker@^24.6.0, jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + jest-worker@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.2.6.tgz#d1292625326794ce187c38f51109faced3846c58" @@ -7103,6 +7744,14 @@ jest-worker@^25.2.6: merge-stream "^2.0.0" supports-color "^7.0.0" +jest@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" + integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== + dependencies: + import-local "^2.0.0" + jest-cli "^24.9.0" + jest@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest/-/jest-25.3.0.tgz#7a5e59741d94b8662664c77a9f346246d6bf228b" @@ -7140,6 +7789,38 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= +jsdom@^11.5.1: + version "11.12.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== + dependencies: + abab "^2.0.0" + acorn "^5.5.3" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle "^1.0.0" + data-urls "^1.0.0" + domexception "^1.0.1" + escodegen "^1.9.1" + html-encoding-sniffer "^1.0.2" + left-pad "^1.3.0" + nwsapi "^2.0.7" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.87.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.4" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.1" + ws "^5.2.0" + xml-name-validator "^3.0.0" + jsdom@^14.1.0: version "14.1.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-14.1.0.tgz#916463b6094956b0a6c1782c94e380cd30e1981b" @@ -7417,6 +8098,24 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +lambda-leak@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lambda-leak/-/lambda-leak-2.0.0.tgz#771985d3628487f6e885afae2b54510dcfb2cd7e" + integrity sha1-dxmF02KEh/boha+uK1RRDc+yzX4= + +lambda-tester@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/lambda-tester/-/lambda-tester-3.6.0.tgz#ceb7d4f4f0da768487a05cff37dcd088508b5247" + integrity sha512-F2ZTGWCLyIR95o/jWK46V/WnOCFAEUG/m/V7/CLhPJ7PCM+pror1rZ6ujP3TkItSGxUfpJi0kqwidw+M/nEqWw== + dependencies: + app-root-path "^2.2.1" + dotenv "^8.0.0" + dotenv-json "^1.0.0" + lambda-leak "^2.0.0" + semver "^6.1.1" + uuid "^3.3.2" + vandium-utils "^1.1.1" + lazystream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" @@ -7436,6 +8135,11 @@ lcov-parse@^1.0.0: resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-1.0.0.tgz#eb0d46b54111ebc561acb4c408ef9363bdc8f7e0" integrity sha1-6w1GtUER68VhrLTECO+TY73I9+A= +left-pad@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== + lerna@^3.20.2: version "3.20.2" resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.20.2.tgz#abf84e73055fe84ee21b46e64baf37b496c24864" @@ -8202,6 +8906,17 @@ nise@^4.0.1: just-extend "^4.0.2" path-to-regexp "^1.7.0" +nock@^11.7.0: + version "11.9.1" + resolved "https://registry.yarnpkg.com/nock/-/nock-11.9.1.tgz#2b026c5beb6d0dbcb41e7e4cefa671bc36db9c61" + integrity sha512-U5wPctaY4/ar2JJ5Jg4wJxlbBfayxgKbiAeGh+a1kk6Pwnc2ZEuKviLyDSG6t0uXl56q7AALIxoM6FJrBSsVXA== + dependencies: + debug "^4.1.0" + json-stringify-safe "^5.0.1" + lodash "^4.17.13" + mkdirp "^0.5.0" + propagate "^2.0.0" + nock@^12.0.3: version "12.0.3" resolved "https://registry.yarnpkg.com/nock/-/nock-12.0.3.tgz#83f25076dbc4c9aa82b5cdf54c9604c7a778d1c9" @@ -8292,6 +9007,17 @@ 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@^5.4.2: + version "5.4.3" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" + integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== + dependencies: + growly "^1.3.0" + is-wsl "^1.1.0" + semver "^5.5.0" + shellwords "^0.1.1" + which "^1.3.0" + node-notifier@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" @@ -8460,7 +9186,7 @@ number-is-nan@^1.0.0: resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= -nwsapi@^2.1.3, nwsapi@^2.2.0: +nwsapi@^2.0.7, nwsapi@^2.1.3, nwsapi@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== @@ -8741,6 +9467,13 @@ own-or@^1.0.0: resolved "https://registry.yarnpkg.com/own-or/-/own-or-1.0.0.tgz#4e877fbeda9a2ec8000fbc0bcae39645ee8bf8dc" integrity sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw= +p-each-series@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" + integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= + dependencies: + p-reduce "^1.0.0" + p-each-series@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" @@ -9030,6 +9763,11 @@ parse-url@^5.0.0: parse-path "^4.0.0" protocols "^1.4.0" +parse5@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== + parse5@5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" @@ -9579,6 +10317,16 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= +pretty-format@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== + dependencies: + "@jest/types" "^24.9.0" + ansi-regex "^4.0.0" + ansi-styles "^3.2.0" + react-is "^16.8.4" + pretty-format@^25.2.1, pretty-format@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.2.6.tgz#542a1c418d019bbf1cca2e3620443bc1323cb8d7" @@ -9858,6 +10606,11 @@ react-is@^16.12.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.0.tgz#0f37c3613c34fe6b37cd7f763a0d6293ab15c527" integrity sha512-GFMtL0vHkiBv9HluwNZTggSn/sCyEt9n02aM0dSAjGGyqyNlAyftYm4phPxdvCigG15JreC5biwxCgTAJZ7yAA== +react-is@^16.8.4: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + read-cmd-shim@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz#87e43eba50098ba5a32d0ceb583ab8e43b961c16" @@ -10003,6 +10756,13 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" +realpath-native@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" + integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== + dependencies: + util.promisify "^1.0.0" + realpath-native@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-2.0.0.tgz#7377ac429b6e1fd599dc38d08ed942d0d7beb866" @@ -10149,7 +10909,7 @@ request-promise-native@^1.0.5, request-promise-native@^1.0.7: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.88.0: +request@^2.87.0, request@^2.88.0: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -10229,7 +10989,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.x, resolve@^1.1.5, resolve@^1.10.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.3.2, resolve@^1.4.0: +resolve@1.x, resolve@^1.1.5, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.3.2, resolve@^1.4.0: version "1.15.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== @@ -10374,7 +11134,7 @@ sax@1.2.1: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= -sax@>=0.6.0, sax@~1.2.4: +sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -10398,7 +11158,7 @@ semver-intersect@^1.4.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@6.3.0, semver@6.x, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: +semver@6.3.0, semver@6.x, semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, 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== @@ -10914,6 +11674,14 @@ streamroller@^2.2.3: debug "^4.1.1" fs-extra "^8.1.0" +string-length@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= + dependencies: + astral-regex "^1.0.0" + strip-ansi "^4.0.0" + string-length@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" @@ -11365,6 +12133,11 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" +throat@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= + throat@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" @@ -11489,7 +12262,7 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== -tough-cookie@^2.3.3, tough-cookie@^2.5.0, tough-cookie@~2.5.0: +tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== @@ -11894,7 +12667,7 @@ util-promisify@^2.1.0: dependencies: object.getownpropertydescriptors "^2.0.3" -util.promisify@~1.0.0: +util.promisify@^1.0.0, util.promisify@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== @@ -11962,6 +12735,11 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" +vandium-utils@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vandium-utils/-/vandium-utils-1.2.0.tgz#44735de4b7641a05de59ebe945f174e582db4f59" + integrity sha1-RHNd5LdkGgXeWevpRfF05YLbT1k= + vendors@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" @@ -12021,18 +12799,27 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, 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.1.0, whatwg-mimetype@^2.2.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== +whatwg-url@^6.4.1: + version "6.5.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-url@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" @@ -12152,6 +12939,15 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +write-file-atomic@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" + integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: version "2.4.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" @@ -12210,7 +13006,7 @@ write@1.0.3: dependencies: mkdirp "^0.5.1" -ws@^5.1.1: +ws@^5.1.1, ws@^5.2.0: version "5.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== @@ -12327,6 +13123,14 @@ yargs-parser@^13.0.0, yargs-parser@^13.1.1: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^15.0.0: version "15.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.0.tgz#cdd7a97490ec836195f59f3f4dbe5ea9e8f75f08" @@ -12384,6 +13188,22 @@ yargs@^13.2.2: y18n "^4.0.0" yargs-parser "^13.1.1" +yargs@^13.3.0: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.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 "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + yargs@^14.0.0, yargs@^14.2.2: version "14.2.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.2.tgz#2769564379009ff8597cdd38fba09da9b493c4b5" From 1007a2237006f10dab16e3c9998cec1299eaf952 Mon Sep 17 00:00:00 2001 From: flemjame-at-amazon <57235867+flemjame-at-amazon@users.noreply.github.com> Date: Tue, 14 Apr 2020 09:13:59 -0400 Subject: [PATCH 12/20] fix(ec2): can reference VpcEndpointService id and service name I wanted to have the VpcEndpointService service name be a stack export in Cloudformation for easy discovery. However, I could not refer to it nor the VpcEndpointService id, so this change exposes those details. Example usage below: ```ts new CfnOutput(this, 'EndpointServiceNameExport', { exportName: 'ServiceName', value: vpcEndpointService.serviceName, description: 'Give this to service consumers so they can connect via VPC Endpoint' }); ``` --- .../aws-ec2/lib/vpc-endpoint-service.ts | 38 ++++++++++++--- packages/@aws-cdk/aws-ec2/package.json | 3 ++ ...nteg.vpc-endpoint-service-cn.expected.json | 35 ++++++++++++++ .../test/integ.vpc-endpoint-service-cn.ts | 46 +++++++++++++++++++ .../integ.vpc-endpoint-service.expected.json | 31 +++++++++++++ .../test/integ.vpc-endpoint-service.ts | 16 ++++++- .../aws-ec2/test/test.vpc-endpoint-service.ts | 1 + .../build-tools/generate-static-data.ts | 3 ++ packages/@aws-cdk/region-info/lib/default.ts | 8 ++++ packages/@aws-cdk/region-info/lib/fact.ts | 7 +++ .../@aws-cdk/region-info/lib/region-info.ts | 9 ++++ 11 files changed, 189 insertions(+), 8 deletions(-) create mode 100644 packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service-cn.expected.json create mode 100644 packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service-cn.ts diff --git a/packages/@aws-cdk/aws-ec2/lib/vpc-endpoint-service.ts b/packages/@aws-cdk/aws-ec2/lib/vpc-endpoint-service.ts index b1d0756ea65fd..9a7a65b217142 100644 --- a/packages/@aws-cdk/aws-ec2/lib/vpc-endpoint-service.ts +++ b/packages/@aws-cdk/aws-ec2/lib/vpc-endpoint-service.ts @@ -1,5 +1,6 @@ import { ArnPrincipal } from '@aws-cdk/aws-iam'; -import { Construct, IResource, Resource } from '@aws-cdk/core'; +import { Aws, Construct, Fn, IResource, Resource, Stack, Token } from '@aws-cdk/core'; +import { Default, RegionInfo } from '@aws-cdk/region-info'; import { CfnVPCEndpointService, CfnVPCEndpointServicePermissions } from './ec2.generated'; /** @@ -19,10 +20,12 @@ export interface IVpcEndpointServiceLoadBalancer { */ export interface IVpcEndpointService extends IResource { /** - * Name of the Vpc Endpoint Service - * @experimental + * The service name of the VPC Endpoint Service that clients use to connect to, + * like com.amazonaws.vpce..vpce-svc-xxxxxxxxxxxxxxxx + * + * @attribute */ - readonly vpcEndpointServiceName?: string; + readonly vpcEndpointServiceName: string; } /** @@ -33,7 +36,7 @@ export interface IVpcEndpointService extends IResource { export class VpcEndpointService extends Resource implements IVpcEndpointService { /** - * One or more network load balancer ARNs to host the service. + * One or more network load balancers to host the service. * @attribute */ public readonly vpcEndpointServiceLoadBalancers: IVpcEndpointServiceLoadBalancer[]; @@ -50,6 +53,20 @@ export class VpcEndpointService extends Resource implements IVpcEndpointService */ public readonly whitelistedPrincipals: ArnPrincipal[]; + /** + * The id of the VPC Endpoint Service, like vpce-svc-xxxxxxxxxxxxxxxx. + * @attribute + */ + public readonly vpcEndpointServiceId: string; + + /** + * The service name of the VPC Endpoint Service that clients use to connect to, + * like com.amazonaws.vpce..vpce-svc-xxxxxxxxxxxxxxxx + * + * @attribute + */ + public readonly vpcEndpointServiceName: string; + private readonly endpointService: CfnVPCEndpointService; constructor(scope: Construct, id: string, props: VpcEndpointServiceProps) { @@ -68,6 +85,15 @@ export class VpcEndpointService extends Resource implements IVpcEndpointService acceptanceRequired: this.acceptanceRequired }); + this.vpcEndpointServiceId = this.endpointService.ref; + + const { region } = Stack.of(this); + const serviceNamePrefix = !Token.isUnresolved(region) ? + RegionInfo.get(region).vpcEndpointServiceNamePrefix ?? + Default.VPC_ENDPOINT_SERVICE_NAME_PREFIX : + Default.VPC_ENDPOINT_SERVICE_NAME_PREFIX; + + this.vpcEndpointServiceName = Fn.join('.', [serviceNamePrefix, Aws.REGION, this.vpcEndpointServiceId]); if (this.whitelistedPrincipals.length > 0) { new CfnVPCEndpointServicePermissions(this, 'Permissions', { serviceId: this.endpointService.ref, @@ -85,8 +111,8 @@ export interface VpcEndpointServiceProps { /** * Name of the Vpc Endpoint Service + * @deprecated This property is not used * @default - CDK generated name - * @experimental */ readonly vpcEndpointServiceName?: string; diff --git a/packages/@aws-cdk/aws-ec2/package.json b/packages/@aws-cdk/aws-ec2/package.json index 9d2abfc8fcaa4..d36d70b3842fc 100644 --- a/packages/@aws-cdk/aws-ec2/package.json +++ b/packages/@aws-cdk/aws-ec2/package.json @@ -79,6 +79,7 @@ "@aws-cdk/aws-ssm": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", + "@aws-cdk/region-info": "0.0.0", "constructs": "^2.0.0" }, "homepage": "https://github.com/aws/aws-cdk", @@ -90,6 +91,7 @@ "@aws-cdk/aws-ssm": "0.0.0", "@aws-cdk/core": "0.0.0", "@aws-cdk/cx-api": "0.0.0", + "@aws-cdk/region-info": "0.0.0", "constructs": "^2.0.0" }, "engines": { @@ -110,6 +112,7 @@ "props-physical-name:@aws-cdk/aws-ec2.VpcProps", "props-physical-name:@aws-cdk/aws-ec2.InterfaceVpcEndpointProps", "from-method:@aws-cdk/aws-ec2.Instance", + "from-method:@aws-cdk/aws-ec2.VpcEndpointService", "attribute-tag:@aws-cdk/aws-ec2.Instance.instance", "from-signature:@aws-cdk/aws-ec2.SecurityGroup.fromSecurityGroupId", "docs-public-apis:@aws-cdk/aws-ec2.WindowsVersion.WINDOWS_SERVER_2016_ENGLISH_DEEP_LEARNING", diff --git a/packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service-cn.expected.json b/packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service-cn.expected.json new file mode 100644 index 0000000000000..99a898633a82f --- /dev/null +++ b/packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service-cn.expected.json @@ -0,0 +1,35 @@ +{ + "Resources": { + "MyCnVpcEndpointService7463420F": { + "Type": "AWS::EC2::VPCEndpointService", + "Properties": { + "NetworkLoadBalancerArns": [ + "arn:aws-cn:elasticloadbalancing:cn-north-1:123456789012:loadbalancer/net/Test/9bn6qkf4e9jrw77a" + ], + "AcceptanceRequired": false + } + } + }, + "Outputs": { + "MyCnVpcEndpointServiceServiceName": { + "Description": "Give this to service consumers so they can connect via VPC Endpoint", + "Value": { + "Fn::Join": [ + ".", + [ + "cn.com.amazonaws.vpce", + { + "Ref": "AWS::Region" + }, + { + "Ref": "MyCnVpcEndpointService7463420F" + } + ] + ] + }, + "Export": { + "Name": "ServiceName" + } + } + } +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service-cn.ts b/packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service-cn.ts new file mode 100644 index 0000000000000..f9064ace9d618 --- /dev/null +++ b/packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service-cn.ts @@ -0,0 +1,46 @@ +import * as cdk from '@aws-cdk/core'; +import * as ec2 from '../lib'; + +const app = new cdk.App(); + +/** + * A load balancer that can host a VPC Endpoint Service + */ +class DummyEndpointLoadBalacer implements ec2.IVpcEndpointServiceLoadBalancer { + /** + * The ARN of the load balancer that hosts the VPC Endpoint Service + */ + public readonly loadBalancerArn: string; + constructor(arn: string) { + this.loadBalancerArn = arn; + } +} + +class CnVpcEndpointServiceStack extends cdk.Stack { + constructor(scope: cdk.App, id: string, props?: cdk.StackProps) { + super(scope, id, props); + + const nlb = new DummyEndpointLoadBalacer( + 'arn:aws-cn:elasticloadbalancing:cn-north-1:123456789012:loadbalancer/net/Test/9bn6qkf4e9jrw77a'); + + const service1 = new ec2.VpcEndpointService(this, 'MyCnVpcEndpointService', { + vpcEndpointServiceLoadBalancers: [nlb], + acceptanceRequired: false + }); + + new cdk.CfnOutput(this, 'MyCnVpcEndpointServiceServiceName', { + exportName: 'ServiceName', + value: service1.vpcEndpointServiceName, + description: 'Give this to service consumers so they can connect via VPC Endpoint' + }); + + } +} + +new CnVpcEndpointServiceStack(app, 'aws-cdk-ec2-cn-vpc-endpoint-service', { + env: { + account: '123456789012', + region: 'cn-north-1' + } +}); +app.synth(); \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service.expected.json b/packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service.expected.json index 72c6f6bf0df9a..48b0f9d07d40e 100644 --- a/packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service.expected.json +++ b/packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service.expected.json @@ -29,5 +29,36 @@ ] } } + }, + "Outputs": { + "MyVpcEndpointServiceWithNoPrincipalsServiceName": { + "Description": "Give this to service consumers so they can connect via VPC Endpoint", + "Value": { + "Fn::Join": [ + ".", + [ + "com.amazonaws.vpce", + { + "Ref": "AWS::Region" + }, + { + "Ref": "MyVpcEndpointServiceWithNoPrincipals9B24276E" + } + ] + ] + }, + "Export": { + "Name": "ServiceName" + } + }, + "MyVpcEndpointServiceWithPrincipalsEndpointServiceId": { + "Description": "Reference this service from other stacks", + "Value": { + "Ref": "MyVpcEndpointServiceWithPrincipals41EE2DF2" + }, + "Export": { + "Name": "EndpointServiceId" + } + } } } \ No newline at end of file diff --git a/packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service.ts b/packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service.ts index e6f2b9167bad9..2e95b65616b3e 100644 --- a/packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service.ts +++ b/packages/@aws-cdk/aws-ec2/test/integ.vpc-endpoint-service.ts @@ -24,7 +24,7 @@ class VpcEndpointServiceStack extends cdk.Stack { const nlbNoPrincipals = new DummyEndpointLoadBalacer( 'arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/Test/9bn6qkf4e9jrw77a'); - new ec2.VpcEndpointService(this, 'MyVpcEndpointServiceWithNoPrincipals', { + const service1 = new ec2.VpcEndpointService(this, 'MyVpcEndpointServiceWithNoPrincipals', { vpcEndpointServiceLoadBalancers: [nlbNoPrincipals], acceptanceRequired: false, whitelistedPrincipals: [] @@ -34,11 +34,23 @@ class VpcEndpointServiceStack extends cdk.Stack { 'arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/Test/1jd81k39sa421ffs'); const principalArn = new ArnPrincipal('arn:aws:iam::123456789012:root'); - new ec2.VpcEndpointService(this, 'MyVpcEndpointServiceWithPrincipals', { + const service2 = new ec2.VpcEndpointService(this, 'MyVpcEndpointServiceWithPrincipals', { vpcEndpointServiceLoadBalancers: [nlbWithPrincipals], acceptanceRequired: false, whitelistedPrincipals: [principalArn] }); + + new cdk.CfnOutput(this, 'MyVpcEndpointServiceWithNoPrincipalsServiceName', { + exportName: 'ServiceName', + value: service1.vpcEndpointServiceName, + description: 'Give this to service consumers so they can connect via VPC Endpoint' + }); + + new cdk.CfnOutput(this, 'MyVpcEndpointServiceWithPrincipalsEndpointServiceId', { + exportName: 'EndpointServiceId', + value: service2.vpcEndpointServiceId, + description: 'Reference this service from other stacks' + }); } } diff --git a/packages/@aws-cdk/aws-ec2/test/test.vpc-endpoint-service.ts b/packages/@aws-cdk/aws-ec2/test/test.vpc-endpoint-service.ts index 2156aa7fa8397..3919852f5a445 100644 --- a/packages/@aws-cdk/aws-ec2/test/test.vpc-endpoint-service.ts +++ b/packages/@aws-cdk/aws-ec2/test/test.vpc-endpoint-service.ts @@ -2,6 +2,7 @@ import { expect, haveResource } from '@aws-cdk/assert'; import { ArnPrincipal } from '@aws-cdk/aws-iam'; import { Stack } from '@aws-cdk/core'; import { Test } from 'nodeunit'; + // tslint:disable-next-line:max-line-length import { IVpcEndpointServiceLoadBalancer, Vpc, VpcEndpointService } from '../lib'; diff --git a/packages/@aws-cdk/region-info/build-tools/generate-static-data.ts b/packages/@aws-cdk/region-info/build-tools/generate-static-data.ts index 638da448fe4e5..5e4231a4b0b4c 100644 --- a/packages/@aws-cdk/region-info/build-tools/generate-static-data.ts +++ b/packages/@aws-cdk/region-info/build-tools/generate-static-data.ts @@ -99,6 +99,9 @@ async function main(): Promise { registerFact(region, 'S3_STATIC_WEBSITE_ZONE_53_HOSTED_ZONE_ID', ROUTE_53_BUCKET_WEBSITE_ZONE_IDS[region] || ''); + const vpcEndpointServiceNamePrefix = region.startsWith('cn-') ? 'cn.com.amazonaws.vpce' : 'com.amazonaws.vpce'; + registerFact(region, 'VPC_ENDPOINT_SERVICE_NAME_PREFIX', vpcEndpointServiceNamePrefix); + for (const service of AWS_SERVICES) { registerFact(region, ['servicePrincipal', service], Default.servicePrincipal(service, region, domainSuffix)); } diff --git a/packages/@aws-cdk/region-info/lib/default.ts b/packages/@aws-cdk/region-info/lib/default.ts index 38c0b2d3e7217..a49092d57b111 100644 --- a/packages/@aws-cdk/region-info/lib/default.ts +++ b/packages/@aws-cdk/region-info/lib/default.ts @@ -2,6 +2,14 @@ * Provides default values for certain regional information points. */ export class Default { + + /** + * The default value for a VPC Endpoint Service name prefix, useful if you do + * not have a synthesize-time region literal available (all you have is + * `{ "Ref": "AWS::Region" }`) + */ + public static readonly VPC_ENDPOINT_SERVICE_NAME_PREFIX = 'com.amazonaws.vpce'; + /** * Computes a "standard" AWS Service principal for a given service, region and suffix. This is useful for example when * you need to compute a service principal name, but you do not have a synthesize-time region literal available (so diff --git a/packages/@aws-cdk/region-info/lib/fact.ts b/packages/@aws-cdk/region-info/lib/fact.ts index 355bd9f855b1f..c161efafe3229 100644 --- a/packages/@aws-cdk/region-info/lib/fact.ts +++ b/packages/@aws-cdk/region-info/lib/fact.ts @@ -126,6 +126,13 @@ export class FactName { */ public static readonly S3_STATIC_WEBSITE_ZONE_53_HOSTED_ZONE_ID = 's3-static-website:route-53-hosted-zone-id'; + /** + * The prefix for VPC Endpoint Service names, + * cn.com.amazonaws.vpce for China regions, + * com.amazonaws.vpce otherwise. + */ + public static readonly VPC_ENDPOINT_SERVICE_NAME_PREFIX = 'vpcEndpointServiceNamePrefix'; + /** * The name of the regional service principal for a given service. * diff --git a/packages/@aws-cdk/region-info/lib/region-info.ts b/packages/@aws-cdk/region-info/lib/region-info.ts index 5d1edeb91d937..768d8be6c0c08 100644 --- a/packages/@aws-cdk/region-info/lib/region-info.ts +++ b/packages/@aws-cdk/region-info/lib/region-info.ts @@ -58,6 +58,15 @@ export class RegionInfo { return Fact.find(this.name, FactName.S3_STATIC_WEBSITE_ZONE_53_HOSTED_ZONE_ID); } + /** + * The prefix for VPC Endpoint Service names, + * cn.com.amazonaws.vpce for China regions, + * com.amazonaws.vpce otherwise. + */ + public get vpcEndpointServiceNamePrefix(): string | undefined { + return Fact.find(this.name, FactName.VPC_ENDPOINT_SERVICE_NAME_PREFIX); + } + /** * The name of the service principal for a given service in this region. * @param service the service name (e.g: s3.amazonaws.com) From 0d4aa1631a62fe883b101a3b9a71ac8372794bed Mon Sep 17 00:00:00 2001 From: Rico Huijbers Date: Tue, 14 Apr 2020 16:46:20 +0200 Subject: [PATCH 13/20] chore: recreate symlink on build The symlink we have in the filesystem survives a git checkout on CodeBuild, but does not survive being passed through CodePipeline. See also: https://forums.aws.amazon.com/thread.jspa?threadID=245780 Recreating the symlink on build fixes the broken pipeline. --- tools/yarn-cling/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/yarn-cling/package.json b/tools/yarn-cling/package.json index 0b504f9853123..40334f414197e 100644 --- a/tools/yarn-cling/package.json +++ b/tools/yarn-cling/package.json @@ -16,7 +16,7 @@ "build": "tsc", "watch": "tsc -w", "pkglint": "pkglint -f", - "test": "jest", + "test": "ln -sf ../../package2 test/test-fixture/package1/node_modules/ && jest", "build+test+package": "npm run build+test", "build+test": "npm run build && npm test" }, From f35a4db7fd6a5794f5c5449f226610915c03c053 Mon Sep 17 00:00:00 2001 From: Christoph Gysin Date: Tue, 14 Apr 2020 19:02:05 +0300 Subject: [PATCH 14/20] feat: Support AppSync DataSource type: NONE --- packages/@aws-cdk/aws-appsync/README.md | 18 ++++++ .../@aws-cdk/aws-appsync/lib/graphqlapi.ts | 44 +++++++++++-- .../test/integ.graphql.expected.json | 64 ++++++++++++++++++- .../aws-appsync/test/integ.graphql.ts | 15 ++++- .../@aws-cdk/aws-appsync/test/schema.graphql | 5 ++ 5 files changed, 138 insertions(+), 8 deletions(-) diff --git a/packages/@aws-cdk/aws-appsync/README.md b/packages/@aws-cdk/aws-appsync/README.md index b7077d668bf76..15f7c6860568a 100644 --- a/packages/@aws-cdk/aws-appsync/README.md +++ b/packages/@aws-cdk/aws-appsync/README.md @@ -20,6 +20,10 @@ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aw Given the following GraphQL schema file `schema.graphql`: ```graphql +type ServiceVersion { + version: String! +} + type Customer { id: String! name: String! @@ -35,6 +39,7 @@ type Order { } type Query { + getServiceVersion: ServiceVersion getCustomers: [Customer] getCustomer(id: String): Customer } @@ -82,6 +87,19 @@ export class ApiStack extends Stack { schemaDefinitionFile: './schema.graphql', }); + const noneDS = api.addNoneDataSource('None', 'Dummy data source'); + + noneDS.createResolver({ + typeName: 'Query', + fieldName: 'getServiceVersion', + requestMappingTemplate: MappingTemplate.fromString(JSON.stringify({ + version: '2017-02-28', + })), + responseMappingTemplate: MappingTemplate.fromString(JSON.stringify({ + version: 'v1', + })), + }); + const customerTable = new Table(this, 'CustomerTable', { billingMode: BillingMode.PAY_PER_REQUEST, partitionKey: { diff --git a/packages/@aws-cdk/aws-appsync/lib/graphqlapi.ts b/packages/@aws-cdk/aws-appsync/lib/graphqlapi.ts index 319df56fabd4d..ec20f97b9841d 100644 --- a/packages/@aws-cdk/aws-appsync/lib/graphqlapi.ts +++ b/packages/@aws-cdk/aws-appsync/lib/graphqlapi.ts @@ -240,6 +240,19 @@ export class GraphQLApi extends Construct { }); } + /** + * add a new dummy data source to this API + * @param name The name of the data source + * @param description The description of the data source + */ + public addNoneDataSource(name: string, description: string): NoneDataSource { + return new NoneDataSource(this, `${name}DS`, { + api: this, + description, + name, + }); + } + /** * add a new DynamoDB data source to this API * @param name The name of the data source @@ -322,7 +335,7 @@ export class GraphQLApi extends Construct { } /** - * Base properties fo an AppSync datasource + * Base properties for an AppSync datasource */ export interface BaseDataSourceProps { /** @@ -339,6 +352,12 @@ export interface BaseDataSourceProps { * @default - None */ readonly description?: string; +} + +/** + * properties for an AppSync datasource backed by a resource + */ +export interface BackedDataSourceProps extends BaseDataSourceProps { /** * The IAM service role to be assumed by AppSync to interact with the data source * @@ -408,7 +427,7 @@ export abstract class BaseDataSource extends Construct implements IGrantable { protected api: GraphQLApi; protected serviceRole: IRole; - constructor(scope: Construct, id: string, props: BaseDataSourceProps, extended: ExtendedDataSourceProps) { + constructor(scope: Construct, id: string, props: BackedDataSourceProps, extended: ExtendedDataSourceProps) { super(scope, id); this.serviceRole = props.serviceRole || new Role(this, 'ServiceRole', { assumedBy: new ServicePrincipal('appsync') }); @@ -438,10 +457,27 @@ export abstract class BaseDataSource extends Construct implements IGrantable { } +/** + * Properties for an AppSync dummy datasource + */ +export interface NoneDataSourceProps extends BaseDataSourceProps { +} + +/** + * An AppSync dummy datasource + */ +export class NoneDataSource extends BaseDataSource { + constructor(scope: Construct, id: string, props: NoneDataSourceProps) { + super(scope, id, props, { + type: 'NONE', + }); + } +} + /** * Properties for an AppSync DynamoDB datasource */ -export interface DynamoDbDataSourceProps extends BaseDataSourceProps { +export interface DynamoDbDataSourceProps extends BackedDataSourceProps { /** * The DynamoDB table backing this data source * [disable-awslint:ref-via-interface] @@ -485,7 +521,7 @@ export class DynamoDbDataSource extends BaseDataSource { /** * Properties for an AppSync Lambda datasource */ -export interface LambdaDataSourceProps extends BaseDataSourceProps { +export interface LambdaDataSourceProps extends BackedDataSourceProps { /** * The Lambda function to call to interact with this data source */ diff --git a/packages/@aws-cdk/aws-appsync/test/integ.graphql.expected.json b/packages/@aws-cdk/aws-appsync/test/integ.graphql.expected.json index ac0d7e443fc60..1bd6dd9bce8c3 100644 --- a/packages/@aws-cdk/aws-appsync/test/integ.graphql.expected.json +++ b/packages/@aws-cdk/aws-appsync/test/integ.graphql.expected.json @@ -106,9 +106,67 @@ "ApiId" ] }, - "Definition": "type Customer {\n id: String!\n name: String!\n}\n\ninput SaveCustomerInput {\n name: String!\n}\n\ntype Order {\n customer: String!\n order: String!\n}\n\ntype Query {\n getCustomers: [Customer]\n getCustomer(id: String): Customer\n getCustomerOrdersEq(customer: String): Order\n getCustomerOrdersLt(customer: String): Order\n getCustomerOrdersLe(customer: String): Order\n getCustomerOrdersGt(customer: String): Order\n getCustomerOrdersGe(customer: String): Order\n getCustomerOrdersFilter(customer: String, order: String): Order\n getCustomerOrdersBetween(customer: String, order1: String, order2: String): Order\n}\n\ninput FirstOrderInput {\n product: String!\n quantity: Int!\n}\n\ntype Mutation {\n addCustomer(customer: SaveCustomerInput!): Customer\n saveCustomer(id: String!, customer: SaveCustomerInput!): Customer\n removeCustomer(id: String!): Customer\n saveCustomerWithFirstOrder(customer: SaveCustomerInput!, order: FirstOrderInput!, referral: String): Order\n}" + "Definition": "type ServiceVersion {\n version: String!\n}\n\ntype Customer {\n id: String!\n name: String!\n}\n\ninput SaveCustomerInput {\n name: String!\n}\n\ntype Order {\n customer: String!\n order: String!\n}\n\ntype Query {\n getServiceVersion: ServiceVersion\n getCustomers: [Customer]\n getCustomer(id: String): Customer\n getCustomerOrdersEq(customer: String): Order\n getCustomerOrdersLt(customer: String): Order\n getCustomerOrdersLe(customer: String): Order\n getCustomerOrdersGt(customer: String): Order\n getCustomerOrdersGe(customer: String): Order\n getCustomerOrdersFilter(customer: String, order: String): Order\n getCustomerOrdersBetween(customer: String, order1: String, order2: String): Order\n}\n\ninput FirstOrderInput {\n product: String!\n quantity: Int!\n}\n\ntype Mutation {\n addCustomer(customer: SaveCustomerInput!): Customer\n saveCustomer(id: String!, customer: SaveCustomerInput!): Customer\n removeCustomer(id: String!): Customer\n saveCustomerWithFirstOrder(customer: SaveCustomerInput!, order: FirstOrderInput!, referral: String): Order\n}" } }, + "ApiNoneDSServiceRole640F032A": { + "Type": "AWS::IAM::Role", + "Properties": { + "AssumeRolePolicyDocument": { + "Statement": [ + { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": { + "Service": "appsync.amazonaws.com" + } + } + ], + "Version": "2012-10-17" + } + } + }, + "ApiNoneDSB4E6495F": { + "Type": "AWS::AppSync::DataSource", + "Properties": { + "ApiId": { + "Fn::GetAtt": [ + "ApiF70053CD", + "ApiId" + ] + }, + "Name": "None", + "Type": "NONE", + "Description": "Dummy data source", + "ServiceRoleArn": { + "Fn::GetAtt": [ + "ApiNoneDSServiceRole640F032A", + "Arn" + ] + } + } + }, + "ApiNoneDSQuerygetServiceVersionResolver4AF8FD42": { + "Type": "AWS::AppSync::Resolver", + "Properties": { + "ApiId": { + "Fn::GetAtt": [ + "ApiF70053CD", + "ApiId" + ] + }, + "FieldName": "getServiceVersion", + "TypeName": "Query", + "DataSourceName": "None", + "Kind": "UNIT", + "RequestMappingTemplate": "{\"version\":\"2017-02-28\"}", + "ResponseMappingTemplate": "{\"version\":\"v1\"}" + }, + "DependsOn": [ + "ApiNoneDSB4E6495F", + "ApiSchema510EECD7" + ] + }, "ApiCustomerDSServiceRoleA929BCF7": { "Type": "AWS::IAM::Role", "Properties": { @@ -392,7 +450,7 @@ }, "Name": "Order", "Type": "AMAZON_DYNAMODB", - "Description": "The irder data source", + "Description": "The order data source", "DynamoDBConfig": { "AwsRegion": { "Ref": "AWS::Region" @@ -605,4 +663,4 @@ "DeletionPolicy": "Delete" } } -} +} \ No newline at end of file diff --git a/packages/@aws-cdk/aws-appsync/test/integ.graphql.ts b/packages/@aws-cdk/aws-appsync/test/integ.graphql.ts index f0f0b442217a0..a04b33bcdb000 100644 --- a/packages/@aws-cdk/aws-appsync/test/integ.graphql.ts +++ b/packages/@aws-cdk/aws-appsync/test/integ.graphql.ts @@ -29,6 +29,19 @@ const api = new GraphQLApi(stack, 'Api', { }, }); +const noneDS = api.addNoneDataSource('None', 'Dummy data source'); + +noneDS.createResolver({ + typeName: 'Query', + fieldName: 'getServiceVersion', + requestMappingTemplate: MappingTemplate.fromString(JSON.stringify({ + version: '2017-02-28', + })), + responseMappingTemplate: MappingTemplate.fromString(JSON.stringify({ + version: 'v1', + })), +}); + const customerTable = new Table(stack, 'CustomerTable', { billingMode: BillingMode.PAY_PER_REQUEST, partitionKey: { @@ -51,7 +64,7 @@ const orderTable = new Table(stack, 'OrderTable', { }); const customerDS = api.addDynamoDbDataSource('Customer', 'The customer data source', customerTable); -const orderDS = api.addDynamoDbDataSource('Order', 'The irder data source', orderTable); +const orderDS = api.addDynamoDbDataSource('Order', 'The order data source', orderTable); customerDS.createResolver({ typeName: 'Query', diff --git a/packages/@aws-cdk/aws-appsync/test/schema.graphql b/packages/@aws-cdk/aws-appsync/test/schema.graphql index 14d6497cb6a2d..5f82e9279ccbc 100644 --- a/packages/@aws-cdk/aws-appsync/test/schema.graphql +++ b/packages/@aws-cdk/aws-appsync/test/schema.graphql @@ -1,3 +1,7 @@ +type ServiceVersion { + version: String! +} + type Customer { id: String! name: String! @@ -13,6 +17,7 @@ type Order { } type Query { + getServiceVersion: ServiceVersion getCustomers: [Customer] getCustomer(id: String): Customer getCustomerOrdersEq(customer: String): Order From 5681641d3c64b60205f53e299e9ad3affeca724e Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2020 17:38:39 +0000 Subject: [PATCH 15/20] chore(deps): bump semver from 7.3.0 to 7.3.1 (#7346) Bumps [semver](https://github.com/npm/node-semver) from 7.3.0 to 7.3.1. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/master/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v7.3.0...v7.3.1) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- .../@aws-cdk/cdk-assets-schema/package.json | 2 +- .../cloud-assembly-schema/package.json | 2 +- packages/@aws-cdk/cx-api/package.json | 2 +- packages/aws-cdk/package.json | 2 +- tools/pkglint/package.json | 2 +- yarn.lock | 122 ++---------------- 6 files changed, 14 insertions(+), 118 deletions(-) diff --git a/packages/@aws-cdk/cdk-assets-schema/package.json b/packages/@aws-cdk/cdk-assets-schema/package.json index 6dbfddc469548..cdbee606368d7 100644 --- a/packages/@aws-cdk/cdk-assets-schema/package.json +++ b/packages/@aws-cdk/cdk-assets-schema/package.json @@ -45,7 +45,7 @@ "organization": true }, "dependencies": { - "semver": "^7.3.0" + "semver": "^7.3.1" }, "jest": { "moduleFileExtensions": [ diff --git a/packages/@aws-cdk/cloud-assembly-schema/package.json b/packages/@aws-cdk/cloud-assembly-schema/package.json index 90bb9d2b6ed65..a4404b5c20694 100644 --- a/packages/@aws-cdk/cloud-assembly-schema/package.json +++ b/packages/@aws-cdk/cloud-assembly-schema/package.json @@ -86,7 +86,7 @@ }, "dependencies": { "jsonschema": "^1.2.5", - "semver": "^7.3.0" + "semver": "^7.3.1" }, "awscdkio": { "announce": false diff --git a/packages/@aws-cdk/cx-api/package.json b/packages/@aws-cdk/cx-api/package.json index 693ce42aacb26..7bb660ee6297f 100644 --- a/packages/@aws-cdk/cx-api/package.json +++ b/packages/@aws-cdk/cx-api/package.json @@ -45,7 +45,7 @@ "organization": true }, "dependencies": { - "semver": "^7.3.0", + "semver": "^7.3.1", "@aws-cdk/cloud-assembly-schema": "0.0.0" }, "peerDependencies": { diff --git a/packages/aws-cdk/package.json b/packages/aws-cdk/package.json index 994f0cd39c9fb..23e945f20ba34 100644 --- a/packages/aws-cdk/package.json +++ b/packages/aws-cdk/package.json @@ -87,7 +87,7 @@ "minimatch": ">=3.0", "promptly": "^3.0.3", "proxy-agent": "^3.1.1", - "semver": "^7.3.0", + "semver": "^7.3.1", "source-map-support": "^0.5.16", "table": "^5.4.6", "uuid": "^7.0.3", diff --git a/tools/pkglint/package.json b/tools/pkglint/package.json index 38be9878edbb5..c5072fd0c06f9 100644 --- a/tools/pkglint/package.json +++ b/tools/pkglint/package.json @@ -43,7 +43,7 @@ "case": "^1.6.3", "colors": "^1.4.0", "fs-extra": "^8.1.0", - "semver": "^7.3.0", + "semver": "^7.3.1", "yargs": "^15.3.1" } } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 5466a92730b0f..73b28a11c10c3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2601,11 +2601,6 @@ anymatch@^3.0.3: normalize-path "^3.0.0" picomatch "^2.0.4" -app-root-path@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.2.1.tgz#d0df4a682ee408273583d43f6f79e9892624bc9a" - integrity sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA== - append-transform@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" @@ -2839,7 +2834,7 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -aws-sdk-mock@^5.0.0, aws-sdk-mock@^5.1.0: +aws-sdk-mock@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/aws-sdk-mock/-/aws-sdk-mock-5.1.0.tgz#6f2c0bd670d7f378c906a8dd806f812124db71aa" integrity sha512-Wa5eCSo8HX0Snqb7FdBylaXMmfrAWoWZ+d7MFhiYsgHPvNvMEGjV945FF2qqE1U0Tolr1ALzik1fcwgaOhqUWQ== @@ -2848,21 +2843,6 @@ aws-sdk-mock@^5.0.0, aws-sdk-mock@^5.1.0: sinon "^9.0.1" traverse "^0.6.6" -aws-sdk@^2.596.0: - version "2.650.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.650.0.tgz#edf995cf2805c918d7470a652f1316ae902c5aa4" - integrity sha512-MlTKXeRSe4IXXqnulAiXZccpTgDafs3ofYIQv/7ApR+oQUFsq96RHwe8MdW9N1cXn7fz302jLXUAykj4boR3DA== - dependencies: - buffer "4.9.1" - 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.637.0, aws-sdk@^2.656.0: version "2.656.0" resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.656.0.tgz#0d74664ddbf30701073be9f9913ee7266afef3b4" @@ -4828,21 +4808,11 @@ dotenv-expand@^5.1.0: resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== -dotenv-json@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dotenv-json/-/dotenv-json-1.0.0.tgz#fc7f672aafea04bed33818733b9f94662332815c" - integrity sha512-jAssr+6r4nKhKRudQ0HOzMskOFFi9+ubXWwmrSGJFgTvpjyPXCXsCsYbjif6mXp7uxA7xY3/LGaiTQukZzSbOQ== - dotenv@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" integrity sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow== -dotenv@^8.0.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" - integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== - dotgitignore@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/dotgitignore/-/dotgitignore-2.1.0.tgz#a4b15a4e4ef3cf383598aaf1dfa4a04bcc089b7b" @@ -5077,11 +5047,6 @@ escodegen@~1.9.0: optionalDependencies: source-map "~0.6.1" -eslint-config-standard@^14.1.0: - version "14.1.1" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz#830a8e44e7aef7de67464979ad06b406026c56ea" - integrity sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg== - eslint-import-resolver-node@^0.3.2, 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" @@ -5109,15 +5074,7 @@ eslint-module-utils@^2.4.1: debug "^2.6.9" pkg-dir "^2.0.0" -eslint-plugin-es@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-2.0.0.tgz#0f5f5da5f18aa21989feebe8a73eadefb3432976" - integrity sha512-f6fceVtg27BR02EYnBhgWLFQfK6bN4Ll0nQFrBHOlCsAyxeZkn0NHns5O0YZOPrV1B3ramd6cgFwaoFLcSkwEQ== - dependencies: - eslint-utils "^1.4.2" - regexpp "^3.0.0" - -eslint-plugin-import@^2.19.1, eslint-plugin-import@^2.20.2: +eslint-plugin-import@^2.20.2: version "2.20.2" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.20.2.tgz#91fc3807ce08be4837141272c8b99073906e588d" integrity sha512-FObidqpXrR8OnCh4iNsxy+WACztJLXAHBO5hK79T1Hc77PgQZkyDGA5Ag9xAvRpglvLNxhH/zSmZ70/pZ31dHg== @@ -5135,28 +5092,6 @@ eslint-plugin-import@^2.19.1, eslint-plugin-import@^2.20.2: read-pkg-up "^2.0.0" resolve "^1.12.0" -eslint-plugin-node@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-10.0.0.tgz#fd1adbc7a300cf7eb6ac55cf4b0b6fc6e577f5a6" - integrity sha512-1CSyM/QCjs6PXaT18+zuAXsjXGIGo5Rw630rSKwokSs2jrYURQc4R5JZpoanNCqwNmepg+0eZ9L7YiRUJb8jiQ== - dependencies: - eslint-plugin-es "^2.0.0" - eslint-utils "^1.4.2" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-promise@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a" - integrity sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw== - -eslint-plugin-standard@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz#ff0519f7ffaff114f76d1bd7c3996eef0f6e20b4" - integrity sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ== - eslint-scope@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" @@ -5165,7 +5100,7 @@ eslint-scope@^5.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-utils@^1.4.2, eslint-utils@^1.4.3: +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== @@ -6363,11 +6298,6 @@ ignore@^4.0.3, ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.1: - version "5.1.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf" - integrity sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A== - immediate@~3.0.5: version "3.0.6" resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" @@ -8098,24 +8028,6 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -lambda-leak@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lambda-leak/-/lambda-leak-2.0.0.tgz#771985d3628487f6e885afae2b54510dcfb2cd7e" - integrity sha1-dxmF02KEh/boha+uK1RRDc+yzX4= - -lambda-tester@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/lambda-tester/-/lambda-tester-3.6.0.tgz#ceb7d4f4f0da768487a05cff37dcd088508b5247" - integrity sha512-F2ZTGWCLyIR95o/jWK46V/WnOCFAEUG/m/V7/CLhPJ7PCM+pror1rZ6ujP3TkItSGxUfpJi0kqwidw+M/nEqWw== - dependencies: - app-root-path "^2.2.1" - dotenv "^8.0.0" - dotenv-json "^1.0.0" - lambda-leak "^2.0.0" - semver "^6.1.1" - uuid "^3.3.2" - vandium-utils "^1.1.1" - lazystream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" @@ -8906,17 +8818,6 @@ nise@^4.0.1: just-extend "^4.0.2" path-to-regexp "^1.7.0" -nock@^11.7.0: - version "11.9.1" - resolved "https://registry.yarnpkg.com/nock/-/nock-11.9.1.tgz#2b026c5beb6d0dbcb41e7e4cefa671bc36db9c61" - integrity sha512-U5wPctaY4/ar2JJ5Jg4wJxlbBfayxgKbiAeGh+a1kk6Pwnc2ZEuKviLyDSG6t0uXl56q7AALIxoM6FJrBSsVXA== - dependencies: - debug "^4.1.0" - json-stringify-safe "^5.0.1" - lodash "^4.17.13" - mkdirp "^0.5.0" - propagate "^2.0.0" - nock@^12.0.3: version "12.0.3" resolved "https://registry.yarnpkg.com/nock/-/nock-12.0.3.tgz#83f25076dbc4c9aa82b5cdf54c9604c7a778d1c9" @@ -10989,7 +10890,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.x, resolve@^1.1.5, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.3.2, resolve@^1.4.0: +resolve@1.x, resolve@^1.1.5, resolve@^1.10.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.3.2, resolve@^1.4.0: version "1.15.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== @@ -11158,7 +11059,7 @@ semver-intersect@^1.4.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@6.3.0, semver@6.x, semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: +semver@6.3.0, 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== @@ -11168,10 +11069,10 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@^7.1.3, semver@^7.3.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.0.tgz#91f7c70ec944a63e5dc7a74cde2da375d8e0853c" - integrity sha512-uyvgU/igkrMgNHwLgXvlpD9jEADbJhB0+JXSywoO47JgJ6c16iau9F9cjtc/E5o0PoqRYTiTIAPRKaYe84z6eQ== +semver@^7.1.3, semver@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.1.tgz#8fbf3298570e73df7733f1b89e7f08e653cf1b8f" + integrity sha512-r7sBEClKDfDFhPQfIk2D+EF74SS1j4uyfto50/KWQRzQj8IeKD7wqLbwkqb33289rtqQZoKzID5WOavkJ63DGg== send@0.17.1: version "0.17.1" @@ -12735,11 +12636,6 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" -vandium-utils@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/vandium-utils/-/vandium-utils-1.2.0.tgz#44735de4b7641a05de59ebe945f174e582db4f59" - integrity sha1-RHNd5LdkGgXeWevpRfF05YLbT1k= - vendors@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" From 96c52bf6fef47d6340142208742fc2370bce144f Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2020 18:27:59 +0000 Subject: [PATCH 16/20] chore(deps): bump semver from 7.3.1 to 7.3.2 (#7347) Bumps [semver](https://github.com/npm/node-semver) from 7.3.1 to 7.3.2. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/master/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v7.3.1...v7.3.2) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- packages/@aws-cdk/cdk-assets-schema/package.json | 2 +- packages/@aws-cdk/cloud-assembly-schema/package.json | 2 +- packages/@aws-cdk/cx-api/package.json | 2 +- packages/aws-cdk/package.json | 2 +- tools/pkglint/package.json | 2 +- yarn.lock | 8 ++++---- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/@aws-cdk/cdk-assets-schema/package.json b/packages/@aws-cdk/cdk-assets-schema/package.json index cdbee606368d7..3fe3c594c0553 100644 --- a/packages/@aws-cdk/cdk-assets-schema/package.json +++ b/packages/@aws-cdk/cdk-assets-schema/package.json @@ -45,7 +45,7 @@ "organization": true }, "dependencies": { - "semver": "^7.3.1" + "semver": "^7.3.2" }, "jest": { "moduleFileExtensions": [ diff --git a/packages/@aws-cdk/cloud-assembly-schema/package.json b/packages/@aws-cdk/cloud-assembly-schema/package.json index a4404b5c20694..f8fa4dd8af1de 100644 --- a/packages/@aws-cdk/cloud-assembly-schema/package.json +++ b/packages/@aws-cdk/cloud-assembly-schema/package.json @@ -86,7 +86,7 @@ }, "dependencies": { "jsonschema": "^1.2.5", - "semver": "^7.3.1" + "semver": "^7.3.2" }, "awscdkio": { "announce": false diff --git a/packages/@aws-cdk/cx-api/package.json b/packages/@aws-cdk/cx-api/package.json index 7bb660ee6297f..7bd68e2f11646 100644 --- a/packages/@aws-cdk/cx-api/package.json +++ b/packages/@aws-cdk/cx-api/package.json @@ -45,7 +45,7 @@ "organization": true }, "dependencies": { - "semver": "^7.3.1", + "semver": "^7.3.2", "@aws-cdk/cloud-assembly-schema": "0.0.0" }, "peerDependencies": { diff --git a/packages/aws-cdk/package.json b/packages/aws-cdk/package.json index 23e945f20ba34..d994f43c76f3c 100644 --- a/packages/aws-cdk/package.json +++ b/packages/aws-cdk/package.json @@ -87,7 +87,7 @@ "minimatch": ">=3.0", "promptly": "^3.0.3", "proxy-agent": "^3.1.1", - "semver": "^7.3.1", + "semver": "^7.3.2", "source-map-support": "^0.5.16", "table": "^5.4.6", "uuid": "^7.0.3", diff --git a/tools/pkglint/package.json b/tools/pkglint/package.json index c5072fd0c06f9..2292015e280fb 100644 --- a/tools/pkglint/package.json +++ b/tools/pkglint/package.json @@ -43,7 +43,7 @@ "case": "^1.6.3", "colors": "^1.4.0", "fs-extra": "^8.1.0", - "semver": "^7.3.1", + "semver": "^7.3.2", "yargs": "^15.3.1" } } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 73b28a11c10c3..7478e778faff5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11069,10 +11069,10 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@^7.1.3, semver@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.1.tgz#8fbf3298570e73df7733f1b89e7f08e653cf1b8f" - integrity sha512-r7sBEClKDfDFhPQfIk2D+EF74SS1j4uyfto50/KWQRzQj8IeKD7wqLbwkqb33289rtqQZoKzID5WOavkJ63DGg== +semver@^7.1.3, 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== send@0.17.1: version "0.17.1" From 88caa530edb67ecdcaa6e5f0f7c4b30d01d3d399 Mon Sep 17 00:00:00 2001 From: Adam Ruka Date: Tue, 14 Apr 2020 12:22:04 -0700 Subject: [PATCH 17/20] revert: "shrinkwrap CLI and cdk-assets tool" The shrinkwrapping done in #7139 is not compatible with our integration tests, that install packages directly from tarballs. --- packages/aws-cdk/.gitignore | 3 +- packages/aws-cdk/package.json | 3 - packages/cdk-assets/.gitignore | 1 - packages/cdk-assets/package.json | 3 - scripts/align-version.sh | 12 +- tools/cdk-build-tools/bin/cdk-package.ts | 10 - tools/cdk-build-tools/package.json | 3 +- tools/yarn-cling/.gitignore | 7 - tools/yarn-cling/.npmignore | 9 - tools/yarn-cling/LICENSE | 201 ----- tools/yarn-cling/NOTICE | 2 - tools/yarn-cling/README.md | 78 -- tools/yarn-cling/bin/yarn-cling | 2 - tools/yarn-cling/bin/yarn-cling.ts | 18 - tools/yarn-cling/lib/hoisting.ts | 44 - tools/yarn-cling/lib/index.ts | 151 ---- tools/yarn-cling/lib/types.ts | 58 -- tools/yarn-cling/package.json | 65 -- tools/yarn-cling/test/cling.test.ts | 68 -- tools/yarn-cling/test/hoisting.test.ts | 98 --- tools/yarn-cling/test/test-fixture/.gitignore | 1 - .../package1/node_modules/package2 | 1 - .../registrydependency1/package.json | 7 - .../registrydependency2/package.json | 4 - .../test/test-fixture/package1/package.json | 8 - .../test/test-fixture/package2/package.json | 4 - tools/yarn-cling/test/test-fixture/yarn.lock | 9 - tools/yarn-cling/tsconfig.json | 20 - yarn.lock | 762 +----------------- 29 files changed, 27 insertions(+), 1625 deletions(-) delete mode 100644 tools/yarn-cling/.gitignore delete mode 100644 tools/yarn-cling/.npmignore delete mode 100644 tools/yarn-cling/LICENSE delete mode 100644 tools/yarn-cling/NOTICE delete mode 100644 tools/yarn-cling/README.md delete mode 100755 tools/yarn-cling/bin/yarn-cling delete mode 100644 tools/yarn-cling/bin/yarn-cling.ts delete mode 100644 tools/yarn-cling/lib/hoisting.ts delete mode 100644 tools/yarn-cling/lib/index.ts delete mode 100644 tools/yarn-cling/lib/types.ts delete mode 100644 tools/yarn-cling/package.json delete mode 100644 tools/yarn-cling/test/cling.test.ts delete mode 100644 tools/yarn-cling/test/hoisting.test.ts delete mode 100644 tools/yarn-cling/test/test-fixture/.gitignore delete mode 120000 tools/yarn-cling/test/test-fixture/package1/node_modules/package2 delete mode 100644 tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency1/package.json delete mode 100644 tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency2/package.json delete mode 100644 tools/yarn-cling/test/test-fixture/package1/package.json delete mode 100644 tools/yarn-cling/test/test-fixture/package2/package.json delete mode 100644 tools/yarn-cling/test/test-fixture/yarn.lock delete mode 100644 tools/yarn-cling/tsconfig.json diff --git a/packages/aws-cdk/.gitignore b/packages/aws-cdk/.gitignore index 68bfa1992afee..d47d255062905 100644 --- a/packages/aws-cdk/.gitignore +++ b/packages/aws-cdk/.gitignore @@ -17,8 +17,7 @@ nyc.config.js !test/integ/run-wrappers/dist !test/integ/cli/**/* -npm-shrinkwrap.json # Might be created when running regression tests. # But normally should be deleted after execution. -test/integ/cli-backwards-tests-* +test/integ/cli-backwards-tests-* \ No newline at end of file diff --git a/packages/aws-cdk/package.json b/packages/aws-cdk/package.json index d994f43c76f3c..c881a2ffe38c1 100644 --- a/packages/aws-cdk/package.json +++ b/packages/aws-cdk/package.json @@ -35,9 +35,6 @@ ] } }, - "cdk-package": { - "shrinkWrap": true - }, "author": { "name": "Amazon Web Services", "url": "https://aws.amazon.com", diff --git a/packages/cdk-assets/.gitignore b/packages/cdk-assets/.gitignore index abbb776c774b0..2ada129e4b219 100644 --- a/packages/cdk-assets/.gitignore +++ b/packages/cdk-assets/.gitignore @@ -19,4 +19,3 @@ nyc.config.js !test/integ/cli/**/* .* assets.json -npm-shrinkwrap.json diff --git a/packages/cdk-assets/package.json b/packages/cdk-assets/package.json index 2ae4b76e6baeb..d1aed47f4e1df 100644 --- a/packages/cdk-assets/package.json +++ b/packages/cdk-assets/package.json @@ -61,9 +61,6 @@ "engines": { "node": ">= 10.12.0" }, - "cdk-package": { - "shrinkWrap": true - }, "stability": "experimental", "maturity": "experimental", "jest": { diff --git a/scripts/align-version.sh b/scripts/align-version.sh index 6ab4f97be95af..2e6d00798e7f3 100755 --- a/scripts/align-version.sh +++ b/scripts/align-version.sh @@ -9,20 +9,12 @@ scriptdir=$(cd $(dirname $0) && pwd) # go to repo root cd ${scriptdir}/.. -files="./package.json $(npx lerna ls -p -a | xargs -n1 -I@ echo @/package.json)" +files="$(find . -name package.json | grep -v node_modules | xargs)" ${scriptdir}/align-version.js ${files} # validation marker=$(node -p "require('./scripts/get-version-marker').replace(/\./g, '\\\.')") - -# Get a list of all package.json files. None of them shouldn contain 0.0.0 anymore. -# Exclude a couple of specific ones that we don't care about. -package_jsons=$(find . -name package.json |\ - grep -v node_modules |\ - grep -v packages/decdk/test/fixture/package.json |\ - grep -v .github/actions/prlinter/package.json) - -if grep -l "[^0-9]${marker}" $package_jsons; then +if find . -name package.json | grep -v node_modules | xargs grep -E "\"[\^~]?${marker}\""; then echo "ERROR: unexpected version marker ${marker} in a package.json file" exit 1 fi diff --git a/tools/cdk-build-tools/bin/cdk-package.ts b/tools/cdk-build-tools/bin/cdk-package.ts index 8b9995612131e..c2c0066c5f98c 100644 --- a/tools/cdk-build-tools/bin/cdk-package.ts +++ b/tools/cdk-build-tools/bin/cdk-package.ts @@ -1,7 +1,6 @@ import * as fs from 'fs-extra'; import * as path from 'path'; import * as yargs from 'yargs'; -import * as yarnCling from 'yarn-cling'; import { shell } from '../lib/os'; import { Timers } from '../lib/timer'; @@ -32,15 +31,6 @@ async function main() { return; } - // If we need to shrinkwrap this, do so now. - const packageOptions = pkg['cdk-package'] ?? {}; - if (packageOptions.shrinkWrap) { - await yarnCling.generateShrinkwrap({ - packageJsonFile: 'package.json', - outputFile: 'npm-shrinkwrap.json', - }); - } - if (pkg.jsii) { const command = [args['jsii-pacmak'], args.verbose ? '-vvv' : '-v', diff --git a/tools/cdk-build-tools/package.json b/tools/cdk-build-tools/package.json index 073a145226e7c..2946850a1bd6a 100644 --- a/tools/cdk-build-tools/package.json +++ b/tools/cdk-build-tools/package.json @@ -55,8 +55,7 @@ "ts-jest": "^25.3.1", "tslint": "^5.20.1", "typescript": "~3.8.3", - "yargs": "^15.3.1", - "yarn-cling": "0.0.0" + "yargs": "^15.3.1" }, "keywords": [ "aws", diff --git a/tools/yarn-cling/.gitignore b/tools/yarn-cling/.gitignore deleted file mode 100644 index 0f18fe477a6f5..0000000000000 --- a/tools/yarn-cling/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -*.js -*.js.map -*.d.ts -dist - -.LAST_BUILD -*.snk \ No newline at end of file diff --git a/tools/yarn-cling/.npmignore b/tools/yarn-cling/.npmignore deleted file mode 100644 index 89a519f1e02fe..0000000000000 --- a/tools/yarn-cling/.npmignore +++ /dev/null @@ -1,9 +0,0 @@ -# Don't include original .ts files when doing `npm pack` -*.ts -!*.d.ts -coverage -.nyc_output -*.tgz - -.LAST_BUILD -*.snk \ No newline at end of file diff --git a/tools/yarn-cling/LICENSE b/tools/yarn-cling/LICENSE deleted file mode 100644 index b71ec1688783a..0000000000000 --- a/tools/yarn-cling/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/yarn-cling/NOTICE b/tools/yarn-cling/NOTICE deleted file mode 100644 index bfccac9a7f69c..0000000000000 --- a/tools/yarn-cling/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/yarn-cling/README.md b/tools/yarn-cling/README.md deleted file mode 100644 index a89fcb712b40a..0000000000000 --- a/tools/yarn-cling/README.md +++ /dev/null @@ -1,78 +0,0 @@ -# yarn-cling - -Generate an NPM shrinkwrap file from a yarn-managed monorepo. - -## Why do we need an NPM shrinkwrap file? - -When vending JavaScript applications that are installed via NPM, an -`npm-shrinkwrap.json` is necessary to control the dependency tree of the -installed application, ensuring that all the dependencies have the -version that the application vendor expects. - -1. This prevents `npm install ` on the user's computer - from installing an untested combination of versions, one that may potentially - be broken. This *shouldn't* happen if everyone nicely keeps to semantic - versioning, but doing so relies on good intentions. - -2. Since most package's dependencies are written like `^1.2.0`, any application - in the NPM ecosystem can potentially be compromised by someone releasing a - minor or patch version of a library somewhere deep in the dependency tree - with malware in it. All subsequent `npm install `s would happily - install the new version of the now compromised library. - -The only way around both of these issues is an `npm-shrinkwrap.json`, which will -be respected by NPM on doing `npm install` (unlike `package-lock.json`, which -won't). - -Note that yarn doesn't support shrinkwrapping at all. We can't help those -people, but we can at least protect NPM users and tell people to use NPM to -install our applications if they want to have some semblance of installation -safety. - -## Okay fine. Why does this tool need to exist? - -There doesn't seem to be any existing tool that can generate the -`npm-shrinkwrap.json` file from our monorepo. - -### What about 'npm shrinkwrap' ? - -There is the command `npm shrinkwrap`. From various Googles, this command -varyingly used to accept arguments and not accept arguments. Its current -incarnation on my NPM (6.11.3) does not accept arguments, and simply -renames `package-lock.json => npm-shrinkwrap.json`. We don't have -a `package-lock.json` (because we manage our monorepo completely using -Yarn), so that obviously won't work. - -Nevertheless, if I run `npm shrinkwrap` a file IS generated. This file -contains SOME version information, but doesn't contain package integrity -checksums and breaks NPM when a subsequent `npm install` is run. NPM -exits with `npm ERR! Cannot read property 'match' of undefined`. - -### What about 'synp' ? - -There is a tool called synp which can convert `yarn.lock` to `package-lock.json` -(which is the same format as `npm-shrinkwrap.json`). - -Unfortunately, we only have one `yarn.lock` for the whole monorepo, whereas we -would need the subset of dependencies `yarn.lock` that apply to the application -we're trying to bundle. - -This tool does some inspired borrowing from `synp` but is monorepo-aware. - -## How does it work? - -Requires the monorepo dependency tree to have been bootstrapped, so that -we can look at the concrete `node_modules` directories of all packages involved -(because we need each package's `package.json` to separate production dependencies -from devDependencies). - -For all (production) dependencies of the package we're shrinkwrapping: - -- If the dependency is in `yarn.lock`, yarn resolved the version for us and - we copy that entry into the package lock file. -- If the dependency is not in `yarn.lock`, the dependency comes from the monorepo - and will be released at the same time as the current package. Unfortunately, - since it hasn't been downloaded yet we won't have an integrity for it. We simply - add an entry that contains the version number to the package lock. - -Recurse from the dependency's package directory. \ No newline at end of file diff --git a/tools/yarn-cling/bin/yarn-cling b/tools/yarn-cling/bin/yarn-cling deleted file mode 100755 index f5e2c6552f2b5..0000000000000 --- a/tools/yarn-cling/bin/yarn-cling +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env node -require('./yarn-cling.js'); \ No newline at end of file diff --git a/tools/yarn-cling/bin/yarn-cling.ts b/tools/yarn-cling/bin/yarn-cling.ts deleted file mode 100644 index 844c852b15ebe..0000000000000 --- a/tools/yarn-cling/bin/yarn-cling.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { generateShrinkwrap } from '../lib'; - -async function main() { - // No arguments, just assume current directory - await generateShrinkwrap({ - packageJsonFile: 'package.json', - outputFile: 'npm-shrinkwrap.json', - }); - - // tslint:disable-next-line:no-console - console.error('Generated npm-shrinkwrap.json'); -} - -main().catch(e => { - // tslint:disable-next-line:no-console - console.error(e); - process.exitCode = 1; -}); \ No newline at end of file diff --git a/tools/yarn-cling/lib/hoisting.ts b/tools/yarn-cling/lib/hoisting.ts deleted file mode 100644 index 56338d9d2800e..0000000000000 --- a/tools/yarn-cling/lib/hoisting.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { PackageLockPackage } from "./types"; - -/** - * Hoist package-lock dependencies in-place - */ -export function hoistDependencies(packageLockDeps: Record) { - for (const pkg of Object.values(packageLockDeps)) { - recurse(pkg, packageLockDeps); - } - - return packageLockDeps; - - // For each of the deps, move each dependency that has the same version into the current array - function recurse(mutableParent: PackageLockPackage, into: Record) { - if (!mutableParent.dependencies) { return; } - - // First simplify each child of the mutable parent (this may add more dependencies into the - // mutable parent) - for (const depPackage of Object.values(mutableParent.dependencies)) { - // First simplify the package in question as much as possible - recurse(depPackage, mutableParent.dependencies); - } - - // Then push packages from the mutable parent into ITS parent - for (const [depName, depPackage] of Object.entries(mutableParent.dependencies)) { - if (!into[depName]) { - // It's new, we can move it up. - // tslint:disable-next-line:no-console - into[depName] = depPackage; - delete mutableParent.dependencies[depName]; - } else if (into[depName].version === depPackage.version) { - // Already exists, no conflict, delete the child - // tslint:disable-next-line:no-console - delete mutableParent.dependencies[depName]; - } - // Else: there is a conflict, leave the second package where it is. - } - - // Cleanup for nice printing - if (Object.keys(mutableParent.dependencies).length === 0) { - delete mutableParent.dependencies; - } - } -} diff --git a/tools/yarn-cling/lib/index.ts b/tools/yarn-cling/lib/index.ts deleted file mode 100644 index bcf761732cc42..0000000000000 --- a/tools/yarn-cling/lib/index.ts +++ /dev/null @@ -1,151 +0,0 @@ -import * as lockfile from '@yarnpkg/lockfile'; -import { promises as fs } from 'fs'; -import * as path from 'path'; -import { hoistDependencies } from './hoisting'; -import { PackageJson, PackageLock, PackageLockEntry, PackageLockPackage, YarnLock } from './types'; - -export interface ShrinkwrapOptions { - /** - * The package.json file to start scanning for dependencies - */ - packageJsonFile: string; - - /** - * The output lockfile to generate - * - * @default - Don't generate the file, just return the calculated output - */ - outputFile?: string; - - /** - * Whether to hoist dependencies - * - * @default true - */ - hoist?: boolean; -} - -export async function generateShrinkwrap(options: ShrinkwrapOptions): Promise { - // No args (yet) - const packageJsonFile = options.packageJsonFile; - const packageJsonDir = path.dirname(packageJsonFile); - - const yarnLockLoc = await findYarnLock(packageJsonDir); - const yarnLock: YarnLock = lockfile.parse(await fs.readFile(yarnLockLoc, { encoding: 'utf-8' })); - const pkgJson = await loadPackageJson(packageJsonFile); - - const lock = await generateLockFile(pkgJson, yarnLock, packageJsonDir); - - if (options.hoist ?? true) { - hoistDependencies(lock.dependencies || {}); - } - - if (options.outputFile) { - // Write the shrinkwrap file - await fs.writeFile(options.outputFile, JSON.stringify(lock, undefined, 2), { encoding: 'utf-8'} ); - } - - return lock; -} - -async function generateLockFile(pkgJson: PackageJson, yarnLock: YarnLock, rootDir: string): Promise { - return { - name: pkgJson.name, - version: pkgJson.version, - lockfileVersion: 1, - requires: true, - dependencies: await dependenciesFor(pkgJson.dependencies || {}, yarnLock, rootDir), - }; -} - -// tslint:disable-next-line:max-line-length -async function dependenciesFor(deps: Record, yarnLock: YarnLock, rootDir: string): Promise> { - const ret: Record = {}; - - // Get rid of any monorepo symlinks - rootDir = await fs.realpath(rootDir); - - for (const [depName, versionRange] of Object.entries(deps)) { - const depPkgJsonFile = require.resolve(`${depName}/package.json`, { paths: [rootDir] }); - const depPkgJson = await loadPackageJson(depPkgJsonFile); - const depDir = path.dirname(depPkgJsonFile); - const yarnKey = `${depName}@${versionRange}`; - - // Sanity check - if (depPkgJson.name !== depName) { - throw new Error(`Looking for '${depName}' from ${rootDir}, but found '${depPkgJson.name}' in ${depDir}`); - } - - const yarnResolved = yarnLock.object[yarnKey]; - if (yarnResolved) { - // Resolved by Yarn - ret[depName] = { - version: yarnResolved.version, - integrity: yarnResolved.integrity, - resolved: yarnResolved.resolved, - requires: depPkgJson.dependencies, - dependencies: await dependenciesFor(depPkgJson.dependencies || {}, yarnLock, depDir), - }; - } else { - // Comes from monorepo, just use whatever's in package.json - ret[depName] = { - version: depPkgJson.version, - requires: depPkgJson.dependencies, - dependencies: await dependenciesFor(depPkgJson.dependencies || {}, yarnLock, depDir), - }; - } - - // Simplify by removing useless entries - if (Object.keys(ret[depName].requires ?? {}).length === 0) { delete ret[depName].requires; } - if (Object.keys(ret[depName].dependencies ?? {}).length === 0) { delete ret[depName].dependencies; } - } - - return ret; -} - -async function findYarnLock(start: string) { - return findUp('yarn.lock', start); -} - -async function findUp(fileName: string, start: string) { - start = path.resolve(start); - let dir = start; - const yarnLockHere = () => path.join(dir, fileName); - while (!await fileExists(yarnLockHere())) { - const parent = path.dirname(dir); - if (parent === dir) { - throw new Error(`No ${fileName} found upwards from ${start}`); - } - dir = parent; - } - - return yarnLockHere(); -} - -async function loadPackageJson(fileName: string): Promise { - return JSON.parse(await fs.readFile(fileName, { encoding: 'utf-8' })); -} - -async function fileExists(fullPath: string): Promise { - try { - await fs.stat(fullPath); - return true; - } catch (e) { - if (e.code === 'ENOENT' || e.code === 'ENOTDIR') { return false; } - throw e; - } -} - -export function printPackageLock(entry: PackageLockEntry) { - recurse([], entry); - - function recurse(names: string[], thisEntry: PackageLockEntry) { - if (names.length > 0) { - // tslint:disable-next-line:no-console - console.error(names.join(' -> '), '@', thisEntry.version); - } - for (const [depName, depEntry] of Object.entries(thisEntry.dependencies || {})) { - recurse([...names, depName], depEntry); - } - } -} \ No newline at end of file diff --git a/tools/yarn-cling/lib/types.ts b/tools/yarn-cling/lib/types.ts deleted file mode 100644 index 0f800cc50de52..0000000000000 --- a/tools/yarn-cling/lib/types.ts +++ /dev/null @@ -1,58 +0,0 @@ -export interface PackageJson { - name: string; - version: string; - - /** - * Dependency name to version range - */ - dependencies?: Record; -} - -export interface YarnLock { - type: string; - /** - * Dependency range (pkg@^1.2.0) to resolved package - */ - object: Record; -} - -export interface ResolvedYarnPackage { - version: string; - resolved: string; - integrity: string; - - /** - * Dependency name to version range - */ - dependencies: Record; -} - -export interface PackageLock extends PackageLockEntry { - name: string; - lockfileVersion: 1; - requires: true; -} - -export interface PackageLockEntry { - version: string; - /** - * Package name to resolved package - */ - dependencies?: Record; -} - -export interface PackageLockPackage extends PackageLockEntry { - resolved?: string; - integrity?: string; - - /** - * Package name to version number - * - * Must be in 'dependencies' at this level or higher. - */ - requires?: Record; - - bundled?: boolean; - dev?: boolean; - optional?: boolean; -} \ No newline at end of file diff --git a/tools/yarn-cling/package.json b/tools/yarn-cling/package.json deleted file mode 100644 index 40334f414197e..0000000000000 --- a/tools/yarn-cling/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "yarn-cling", - "private": true, - "version": "0.0.0", - "description": "Tool for generating npm-shrinkwrap from yarn.lock", - "main": "lib/index.js", - "repository": { - "type": "git", - "url": "https://github.com/aws/aws-cdk.git", - "directory": "tools/yarn-cling" - }, - "bin": { - "yarn-cling": "bin/yarn-cling" - }, - "scripts": { - "build": "tsc", - "watch": "tsc -w", - "pkglint": "pkglint -f", - "test": "ln -sf ../../package2 test/test-fixture/package1/node_modules/ && jest", - "build+test+package": "npm run build+test", - "build+test": "npm run build && npm test" - }, - "author": { - "name": "Amazon Web Services", - "url": "https://aws.amazon.com", - "organization": true - }, - "license": "Apache-2.0", - "devDependencies": { - "@types/yarnpkg__lockfile": "^1.1.3", - "@types/jest": "^25.1.4", - "jest": "^24.9.0", - "@types/node": "^13.9.1", - "typescript": "~3.8.3", - "pkglint": "0.0.0" - }, - "dependencies": { - "@yarnpkg/lockfile": "^1.1.0" - }, - "jest": { - "moduleFileExtensions": [ - "js" - ], - "coverageThreshold": { - "global": { - "branches": 60, - "statements": 80 - } - }, - "collectCoverage": true, - "coverageReporters": [ - "lcov", - "html", - "text-summary" - ] - }, - "keywords": [ - "aws", - "cdk" - ], - "homepage": "https://github.com/aws/aws-cdk", - "engines": { - "node": ">= 10.3.0" - } -} diff --git a/tools/yarn-cling/test/cling.test.ts b/tools/yarn-cling/test/cling.test.ts deleted file mode 100644 index 6b5854db688ed..0000000000000 --- a/tools/yarn-cling/test/cling.test.ts +++ /dev/null @@ -1,68 +0,0 @@ -import * as path from 'path'; -import { generateShrinkwrap } from "../lib"; - -test('generate lock for fixture directory', async () => { - const lockFile = await generateShrinkwrap({ - packageJsonFile: path.join(__dirname, 'test-fixture', 'package1', 'package.json'), - hoist: false, - }); - - expect(lockFile).toEqual({ - lockfileVersion: 1, - name: "package1", - requires: true, - version: "1.1.1", - dependencies: { - package2: { - version: "2.2.2", - }, - registrydependency1: { - dependencies: { - registrydependency2: { - integrity: "sha512-pineapple", - resolved: "https://registry.bla.com/stuff", - version: "2.3.999", - }, - }, - integrity: "sha512-banana", - requires: { - registrydependency2: "^2.3.4", - }, - resolved: "https://registry.bla.com/stuff", - version: "1.2.999", - }, - }, - }); -}); - -test('generate hoisted lock for fixture directory', async () => { - const lockFile = await generateShrinkwrap({ - packageJsonFile: path.join(__dirname, 'test-fixture', 'package1', 'package.json'), - hoist: true, - }); - - expect(lockFile).toEqual({ - lockfileVersion: 1, - name: "package1", - requires: true, - version: "1.1.1", - dependencies: { - package2: { - version: "2.2.2", - }, - registrydependency1: { - integrity: "sha512-banana", - requires: { - registrydependency2: "^2.3.4", - }, - resolved: "https://registry.bla.com/stuff", - version: "1.2.999", - }, - registrydependency2: { - integrity: "sha512-pineapple", - resolved: "https://registry.bla.com/stuff", - version: "2.3.999", - }, - }, - }); -}); \ No newline at end of file diff --git a/tools/yarn-cling/test/hoisting.test.ts b/tools/yarn-cling/test/hoisting.test.ts deleted file mode 100644 index aa8178eded90d..0000000000000 --- a/tools/yarn-cling/test/hoisting.test.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { hoistDependencies } from "../lib/hoisting"; -import { PackageLockPackage } from "../lib/types"; - -type Tree = Record; - -test('nonconflicting tree gets flattened', () => { - // GIVEN - const tree: Tree = { - stringutil: { - version: '1.0.0', - dependencies: { - leftpad: { version: '2.0.0' } - }, - }, - numutil: { - version: '3.0.0', - dependencies: { - isodd: { version: '4.0.0' } - }, - }, - }; - - // WHEN - hoistDependencies(tree); - - // THEN - expect(tree).toEqual({ - stringutil: { version: '1.0.0' }, - leftpad: { version: '2.0.0' }, - numutil: { version: '3.0.0' }, - isodd: { version: '4.0.0' }, - }); -}); - -test('matching versions get deduped', () => { - // GIVEN - const tree: Tree = { - stringutil: { - version: '1.0.0', - dependencies: { - leftpad: { version: '2.0.0' } - }, - }, - numutil: { - version: '3.0.0', - dependencies: { - leftpad: { version: '2.0.0' }, - isodd: { version: '4.0.0' } - }, - }, - }; - - // WHEN - hoistDependencies(tree); - - // THEN - expect(tree).toEqual({ - stringutil: { version: '1.0.0' }, - leftpad: { version: '2.0.0' }, - numutil: { version: '3.0.0' }, - isodd: { version: '4.0.0' }, - }); -}); - -test('conflicting versions get left in place', () => { - // GIVEN - const tree: Tree = { - stringutil: { - version: '1.0.0', - dependencies: { - leftpad: { version: '2.0.0' } - }, - }, - numutil: { - version: '3.0.0', - dependencies: { - leftpad: { version: '5.0.0' }, - isodd: { version: '4.0.0' } - }, - }, - }; - - // WHEN - hoistDependencies(tree); - - // THEN - expect(tree).toEqual({ - stringutil: { version: '1.0.0' }, - leftpad: { version: '2.0.0' }, - numutil: { - version: '3.0.0', - dependencies: { - leftpad: { version: '5.0.0' }, - }, - }, - isodd: { version: '4.0.0' }, - }); -}); \ No newline at end of file diff --git a/tools/yarn-cling/test/test-fixture/.gitignore b/tools/yarn-cling/test/test-fixture/.gitignore deleted file mode 100644 index cf4bab9ddde9f..0000000000000 --- a/tools/yarn-cling/test/test-fixture/.gitignore +++ /dev/null @@ -1 +0,0 @@ -!node_modules diff --git a/tools/yarn-cling/test/test-fixture/package1/node_modules/package2 b/tools/yarn-cling/test/test-fixture/package1/node_modules/package2 deleted file mode 120000 index 8db12e196dfbd..0000000000000 --- a/tools/yarn-cling/test/test-fixture/package1/node_modules/package2 +++ /dev/null @@ -1 +0,0 @@ -../../package2 \ No newline at end of file diff --git a/tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency1/package.json b/tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency1/package.json deleted file mode 100644 index 8ecbc5b50e2e6..0000000000000 --- a/tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency1/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "registrydependency1", - "version": "1.2.999", - "dependencies": { - "registrydependency2": "^2.3.4" - } -} diff --git a/tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency2/package.json b/tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency2/package.json deleted file mode 100644 index 8b9d7f39ababd..0000000000000 --- a/tools/yarn-cling/test/test-fixture/package1/node_modules/registrydependency2/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "registrydependency2", - "version": "2.3.999" -} diff --git a/tools/yarn-cling/test/test-fixture/package1/package.json b/tools/yarn-cling/test/test-fixture/package1/package.json deleted file mode 100644 index 8edf6d46e6537..0000000000000 --- a/tools/yarn-cling/test/test-fixture/package1/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "package1", - "version": "1.1.1", - "dependencies": { - "registrydependency1": "^1.2.3", - "package2": "2.2.2" - } -} diff --git a/tools/yarn-cling/test/test-fixture/package2/package.json b/tools/yarn-cling/test/test-fixture/package2/package.json deleted file mode 100644 index d10f139d13944..0000000000000 --- a/tools/yarn-cling/test/test-fixture/package2/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "package2", - "version": "2.2.2" -} diff --git a/tools/yarn-cling/test/test-fixture/yarn.lock b/tools/yarn-cling/test/test-fixture/yarn.lock deleted file mode 100644 index fda733502a052..0000000000000 --- a/tools/yarn-cling/test/test-fixture/yarn.lock +++ /dev/null @@ -1,9 +0,0 @@ -"registrydependency1@^1.2.3": - version "1.2.999" - resolved "https://registry.bla.com/stuff" - integrity sha512-banana - -"registrydependency2@^2.3.4": - version "2.3.999" - resolved "https://registry.bla.com/stuff" - integrity sha512-pineapple diff --git a/tools/yarn-cling/tsconfig.json b/tools/yarn-cling/tsconfig.json deleted file mode 100644 index 14499cd2abfaf..0000000000000 --- a/tools/yarn-cling/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/yarn.lock b/yarn.lock index 7478e778faff5..44afdf2b1afa2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -391,7 +391,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== @@ -891,15 +891,6 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== -"@jest/console@^24.7.1", "@jest/console@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" - integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== - dependencies: - "@jest/source-map" "^24.9.0" - chalk "^2.0.1" - slash "^2.0.0" - "@jest/console@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.3.0.tgz#33b56b81238427bf3ebe3f7b3378d2f79cdbd409" @@ -910,40 +901,6 @@ jest-util "^25.3.0" slash "^3.0.0" -"@jest/core@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" - integrity sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A== - dependencies: - "@jest/console" "^24.7.1" - "@jest/reporters" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-changed-files "^24.9.0" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-resolve-dependencies "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - jest-watcher "^24.9.0" - micromatch "^3.1.10" - p-each-series "^1.0.0" - realpath-native "^1.1.0" - rimraf "^2.5.4" - slash "^2.0.0" - strip-ansi "^5.0.0" - "@jest/core@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.3.0.tgz#80f97a7a8b59dde741a24f30871cc26d0197d426" @@ -978,16 +935,6 @@ slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" - integrity sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ== - dependencies: - "@jest/fake-timers" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - "@jest/environment@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.3.0.tgz#587f28ddb4b0dfe97404d3d4a4c9dbfa0245fb2e" @@ -997,15 +944,6 @@ "@jest/types" "^25.3.0" jest-mock "^25.3.0" -"@jest/fake-timers@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" - integrity sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A== - dependencies: - "@jest/types" "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - "@jest/fake-timers@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.3.0.tgz#995aad36d5c8984165ca5db12e740ab8dbf7042a" @@ -1017,33 +955,6 @@ jest-util "^25.3.0" lolex "^5.0.0" -"@jest/reporters@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" - integrity sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.2" - istanbul-lib-coverage "^2.0.2" - istanbul-lib-instrument "^3.0.1" - istanbul-lib-report "^2.0.4" - istanbul-lib-source-maps "^3.0.1" - istanbul-reports "^2.2.6" - jest-haste-map "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - node-notifier "^5.4.2" - slash "^2.0.0" - source-map "^0.6.0" - string-length "^2.0.0" - "@jest/reporters@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.3.0.tgz#7f39f0e6911561cc5112a1b54656de18faee269b" @@ -1075,15 +986,6 @@ optionalDependencies: node-notifier "^6.0.0" -"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" - integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.1.15" - source-map "^0.6.0" - "@jest/source-map@^25.2.6": version "25.2.6" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.2.6.tgz#0ef2209514c6d445ebccea1438c55647f22abb4c" @@ -1093,15 +995,6 @@ graceful-fs "^4.2.3" source-map "^0.6.0" -"@jest/test-result@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" - integrity sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA== - dependencies: - "@jest/console" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/istanbul-lib-coverage" "^2.0.0" - "@jest/test-result@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.3.0.tgz#137fab5e5c6fed36e5d40735d1eb029325e3bf06" @@ -1112,16 +1005,6 @@ "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" - integrity sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A== - dependencies: - "@jest/test-result" "^24.9.0" - jest-haste-map "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - "@jest/test-sequencer@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.3.0.tgz#271ad5f2b8f8137d092ccedc87e16a50f8676209" @@ -1132,28 +1015,6 @@ jest-runner "^25.3.0" jest-runtime "^25.3.0" -"@jest/transform@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" - integrity sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^24.9.0" - babel-plugin-istanbul "^5.1.0" - chalk "^2.0.1" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.1.15" - jest-haste-map "^24.9.0" - jest-regex-util "^24.9.0" - jest-util "^24.9.0" - micromatch "^3.1.10" - pirates "^4.0.1" - realpath-native "^1.1.0" - slash "^2.0.0" - source-map "^0.6.1" - write-file-atomic "2.4.1" - "@jest/transform@^25.3.0": version "25.3.0" resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.3.0.tgz#083c5447d5307d9b9494d6968115b647460e71f1" @@ -1176,15 +1037,6 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/types@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" - integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^13.0.0" - "@jest/types@^25.2.6": version "25.2.6" resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.2.6.tgz#c12f44af9bed444438091e4b59e7ed05f8659cb6" @@ -2092,7 +1944,7 @@ resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.46.tgz#3246348cdc15921bd065966109fc1c6f6d5cfd96" integrity sha512-88E4Hlypo3AE40wslm7N4n09lCIJwgYJm5wsaA3/Vib1xqjC/ANePTaPRpPdj9NzBSpw7Tgon58qGMYEArx4oA== -"@types/babel__core@^7.1.0", "@types/babel__core@^7.1.7": +"@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== @@ -2176,7 +2028,7 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" -"@types/jest@^25.1.4", "@types/jest@^25.2.1": +"@types/jest@^25.2.1": version "25.2.1" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.1.tgz#9544cd438607955381c1bdbdb97767a249297db5" integrity sha512-msra1bCaAeEdkSyA0CZ6gW1ukMIvZ5YoJkdXw/qhQdsuuDlFTcEUrUw8CLCPt2rVRUfXlClVvK2gvPs9IokZaA== @@ -2240,11 +2092,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.18.tgz#ae364d97382aacdebf583fa4e7132af2dfe56a0c" integrity sha512-DQ2hl/Jl3g33KuAUOcMrcAOtsbzb+y/ufakzAdeK9z/H/xsvkpbETZZbPNMIiQuk24f5ZRMCcZIViAwyFIiKmg== -"@types/node@^13.9.1": - version "13.9.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.8.tgz#09976420fc80a7a00bf40680c63815ed8c7616f4" - integrity sha512-1WgO8hsyHynlx7nhP1kr0OFzsgKz5XDQL+Lfc3b1Q3qIln/n8cKD4m09NJ0+P1Rq7Zgnc7N0+SsMnoD1rEb0kA== - "@types/nodeunit@^0.0.30": version "0.0.30" resolved "https://registry.yarnpkg.com/@types/nodeunit/-/nodeunit-0.0.30.tgz#48d2c2719a118c7723b83306c3e800b11a2bf678" @@ -2323,13 +2170,6 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== -"@types/yargs@^13.0.0": - version "13.0.8" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.8.tgz#a38c22def2f1c2068f8971acb3ea734eb3c64a99" - integrity sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA== - dependencies: - "@types/yargs-parser" "*" - "@types/yargs@^15.0.0", "@types/yargs@^15.0.4": version "15.0.4" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.4.tgz#7e5d0f8ca25e9d5849f2ea443cf7c402decd8299" @@ -2337,11 +2177,6 @@ dependencies: "@types/yargs-parser" "*" -"@types/yarnpkg__lockfile@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@types/yarnpkg__lockfile/-/yarnpkg__lockfile-1.1.3.tgz#38fb31d82ed07dea87df6bd565721d11979fd761" - integrity sha512-mhdQq10tYpiNncMkg1vovCud5jQm+rWeRVz6fxjCJlY6uhDlAn9GnMSmBa2DQwqPf/jS5YR0K/xChDEh1jdOQg== - "@typescript-eslint/eslint-plugin@^2.28.0": version "2.28.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.28.0.tgz#4431bc6d3af41903e5255770703d4e55a0ccbdec" @@ -2407,11 +2242,6 @@ semver "^6.3.0" tsutils "^3.17.1" -"@yarnpkg/lockfile@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" - integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== - "@zkochan/cmd-shim@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@zkochan/cmd-shim/-/cmd-shim-3.1.0.tgz#2ab8ed81f5bb5452a85f25758eb9b8681982fd2e" @@ -2439,7 +2269,7 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -acorn-globals@^4.1.0, acorn-globals@^4.3.0, acorn-globals@^4.3.2: +acorn-globals@^4.3.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== @@ -2457,11 +2287,6 @@ acorn-walk@^6.0.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== -acorn@^5.5.3: - version "5.7.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" - integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== - acorn@^6.0.1, acorn@^6.0.4: version "6.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" @@ -2521,7 +2346,7 @@ alphanum-sort@^1.0.0: resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= -ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: +ansi-escapes@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== @@ -2543,7 +2368,7 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= -ansi-regex@^4.0.0, ansi-regex@^4.1.0: +ansi-regex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== @@ -2875,19 +2700,6 @@ axios@^0.19.0: dependencies: follow-redirects "1.5.10" -babel-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" - integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw== - dependencies: - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/babel__core" "^7.1.0" - babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.9.0" - chalk "^2.4.2" - slash "^2.0.0" - babel-jest@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.3.0.tgz#999d0c19e8427f66b796bf9ea233eedf087b957c" @@ -2908,16 +2720,6 @@ babel-plugin-dynamic-import-node@^2.3.0: dependencies: object.assign "^4.1.0" -babel-plugin-istanbul@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" - integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - find-up "^3.0.0" - istanbul-lib-instrument "^3.3.0" - test-exclude "^5.2.3" - babel-plugin-istanbul@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" @@ -2929,13 +2731,6 @@ babel-plugin-istanbul@^6.0.0: istanbul-lib-instrument "^4.0.0" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" - integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw== - dependencies: - "@types/babel__traverse" "^7.0.6" - babel-plugin-jest-hoist@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.2.6.tgz#2af07632b8ac7aad7d414c1e58425d5fc8e84909" @@ -2959,14 +2754,6 @@ 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@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" - integrity sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg== - dependencies: - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.9.0" - babel-preset-jest@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.3.0.tgz#9ab40aee52a19bdc52b8b1ec2403d5914ac3d86b" @@ -4383,7 +4170,7 @@ csso@^4.0.2: dependencies: css-tree "1.0.0-alpha.37" -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4, cssom@~0.3.6: +cssom@0.3.x, cssom@^0.3.4, cssom@~0.3.6: version "0.3.8" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== @@ -4393,7 +4180,7 @@ cssom@^0.4.1: resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== -cssstyle@^1.0.0, cssstyle@^1.1.1: +cssstyle@^1.1.1: version "1.4.0" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== @@ -4438,7 +4225,7 @@ 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.0.0, data-urls@^1.1.0: +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== @@ -4679,11 +4466,6 @@ dezalgo@^1.0.0: asap "^2.0.0" wrappy "1" -diff-sequences@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" - integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== - diff-sequences@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" @@ -5023,7 +4805,7 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -escodegen@1.x.x, escodegen@^1.11.0, escodegen@^1.11.1, escodegen@^1.9.1: +escodegen@1.x.x, escodegen@^1.11.0, escodegen@^1.11.1: version "1.14.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457" integrity sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ== @@ -5295,18 +5077,6 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expect@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" - integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== - dependencies: - "@jest/types" "^24.9.0" - ansi-styles "^3.2.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.9.0" - expect@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/expect/-/expect-25.3.0.tgz#5fd36e51befd05afb7184bc954f8a4792d184c71" @@ -6864,7 +6634,7 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: +istanbul-lib-coverage@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== @@ -6888,7 +6658,7 @@ istanbul-lib-hook@^3.0.0: dependencies: append-transform "^2.0.0" -istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: +istanbul-lib-instrument@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== @@ -6927,7 +6697,7 @@ istanbul-lib-processinfo@^2.0.2: rimraf "^3.0.0" uuid "^3.3.3" -istanbul-lib-report@^2.0.4, istanbul-lib-report@^2.0.8: +istanbul-lib-report@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== @@ -6945,7 +6715,7 @@ istanbul-lib-report@^3.0.0: make-dir "^3.0.0" supports-color "^7.1.0" -istanbul-lib-source-maps@^3.0.1, istanbul-lib-source-maps@^3.0.6: +istanbul-lib-source-maps@^3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== @@ -6965,7 +6735,7 @@ istanbul-lib-source-maps@^4.0.0: istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" -istanbul-reports@^2.2.4, istanbul-reports@^2.2.6: +istanbul-reports@^2.2.4: version "2.2.7" resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== @@ -6980,15 +6750,6 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" - integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg== - dependencies: - "@jest/types" "^24.9.0" - execa "^1.0.0" - throat "^4.0.0" - jest-changed-files@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.3.0.tgz#85d8de6f4bd13dafda9d7f1e3f2565fc0e183c78" @@ -6998,25 +6759,6 @@ jest-changed-files@^25.3.0: execa "^3.2.0" throat "^5.0.0" -jest-cli@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" - integrity sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg== - dependencies: - "@jest/core" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - import-local "^2.0.0" - is-ci "^2.0.0" - jest-config "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - prompts "^2.0.1" - realpath-native "^1.1.0" - yargs "^13.3.0" - jest-cli@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.3.0.tgz#d9e11f5700cc5946583cf0d01a9bdebceed448d2" @@ -7036,29 +6778,6 @@ jest-cli@^25.3.0: realpath-native "^2.0.0" yargs "^15.3.1" -jest-config@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" - integrity sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^24.9.0" - "@jest/types" "^24.9.0" - babel-jest "^24.9.0" - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^24.9.0" - jest-environment-node "^24.9.0" - jest-get-type "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - micromatch "^3.1.10" - pretty-format "^24.9.0" - realpath-native "^1.1.0" - jest-config@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.3.0.tgz#112b5e2f2e57dec4501dd2fe979044c06fb1317e" @@ -7083,16 +6802,6 @@ jest-config@^25.3.0: pretty-format "^25.3.0" realpath-native "^2.0.0" -jest-diff@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" - integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== - dependencies: - chalk "^2.0.1" - diff-sequences "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - jest-diff@^25.2.1: version "25.2.6" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.2.6.tgz#a6d70a9ab74507715ea1092ac513d1ab81c1b5e7" @@ -7113,13 +6822,6 @@ jest-diff@^25.3.0: jest-get-type "^25.2.6" pretty-format "^25.3.0" -jest-docblock@^24.3.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" - integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== - dependencies: - detect-newline "^2.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" @@ -7127,17 +6829,6 @@ jest-docblock@^25.3.0: dependencies: detect-newline "^3.0.0" -jest-each@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" - integrity sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog== - dependencies: - "@jest/types" "^24.9.0" - chalk "^2.0.1" - jest-get-type "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - jest-each@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.3.0.tgz#a319eecf1f6076164ab86f99ca166a55b96c0bd4" @@ -7149,18 +6840,6 @@ jest-each@^25.3.0: jest-util "^25.3.0" pretty-format "^25.3.0" -jest-environment-jsdom@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" - integrity sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - jsdom "^11.5.1" - jest-environment-jsdom@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.3.0.tgz#c493ab8c41f28001520c70ef67dd88b88be6af05" @@ -7173,17 +6852,6 @@ jest-environment-jsdom@^25.3.0: jest-util "^25.3.0" jsdom "^15.2.1" -jest-environment-node@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" - integrity sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - jest-environment-node@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.3.0.tgz#9845f0e63991e8498448cb0ae804935689533db9" @@ -7196,35 +6864,11 @@ jest-environment-node@^25.3.0: jest-util "^25.3.0" semver "^6.3.0" -jest-get-type@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" - integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== - 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-haste-map@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" - integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ== - dependencies: - "@jest/types" "^24.9.0" - anymatch "^2.0.0" - fb-watchman "^2.0.0" - graceful-fs "^4.1.15" - invariant "^2.2.4" - jest-serializer "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.9.0" - micromatch "^3.1.10" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^1.2.7" - jest-haste-map@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.3.0.tgz#b7683031c9c9ddc0521d311564108b244b11e4c6" @@ -7244,28 +6888,6 @@ jest-haste-map@^25.3.0: optionalDependencies: fsevents "^2.1.2" -jest-jasmine2@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" - integrity sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - co "^4.6.0" - expect "^24.9.0" - is-generator-fn "^2.0.0" - jest-each "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - throat "^4.0.0" - jest-jasmine2@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.3.0.tgz#16ae4f68adef65fb45001b26c864bcbcbf972830" @@ -7289,14 +6911,6 @@ jest-jasmine2@^25.3.0: pretty-format "^25.3.0" throat "^5.0.0" -jest-leak-detector@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" - integrity sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA== - dependencies: - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - jest-leak-detector@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.3.0.tgz#5b6bf04903b35be56038915a55f47291771f769f" @@ -7305,16 +6919,6 @@ jest-leak-detector@^25.3.0: jest-get-type "^25.2.6" pretty-format "^25.3.0" -jest-matcher-utils@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" - integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== - dependencies: - chalk "^2.0.1" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - jest-matcher-utils@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.3.0.tgz#76765788a26edaa8bc5f0100aea52ae383559648" @@ -7325,20 +6929,6 @@ jest-matcher-utils@^25.3.0: jest-get-type "^25.2.6" pretty-format "^25.3.0" -jest-message-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" - integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/stack-utils" "^1.0.1" - chalk "^2.0.1" - micromatch "^3.1.10" - slash "^2.0.0" - stack-utils "^1.0.1" - jest-message-util@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.3.0.tgz#e3836826fe5ca538a337b87d9bd2648190867f85" @@ -7352,13 +6942,6 @@ jest-message-util@^25.3.0: slash "^3.0.0" stack-utils "^1.0.1" -jest-mock@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" - integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== - dependencies: - "@jest/types" "^24.9.0" - jest-mock@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.3.0.tgz#d72644509e40987a732a9a2534a1054f4649402c" @@ -7371,25 +6954,11 @@ jest-pnp-resolver@^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-regex-util@^24.3.0, jest-regex-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" - integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== - 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-resolve-dependencies@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" - integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g== - dependencies: - "@jest/types" "^24.9.0" - jest-regex-util "^24.3.0" - jest-snapshot "^24.9.0" - jest-resolve-dependencies@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.3.0.tgz#b0e4ae053dd44ddacc18c6ee12b5b7c28e445a90" @@ -7399,17 +6968,6 @@ jest-resolve-dependencies@^25.3.0: jest-regex-util "^25.2.6" jest-snapshot "^25.3.0" -jest-resolve@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" - integrity sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ== - dependencies: - "@jest/types" "^24.9.0" - browser-resolve "^1.11.3" - chalk "^2.0.1" - jest-pnp-resolver "^1.2.1" - realpath-native "^1.1.0" - jest-resolve@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.3.0.tgz#cb90a5bbea54a02eccdbbf4126a819595dcf91d6" @@ -7422,31 +6980,6 @@ jest-resolve@^25.3.0: realpath-native "^2.0.0" resolve "^1.15.1" -jest-runner@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" - integrity sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg== - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.4.2" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-docblock "^24.3.0" - jest-haste-map "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-leak-detector "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - source-map-support "^0.5.6" - throat "^4.0.0" - jest-runner@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.3.0.tgz#673ef2ac79d2810eb6b2c1a3f82398375a3d1174" @@ -7472,35 +7005,6 @@ jest-runner@^25.3.0: source-map-support "^0.5.6" throat "^5.0.0" -jest-runtime@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" - integrity sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw== - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - realpath-native "^1.1.0" - slash "^2.0.0" - strip-bom "^3.0.0" - yargs "^13.3.0" - jest-runtime@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.3.0.tgz#af4d40dbcc590fa5de9910cb6a120a13d131050b" @@ -7532,35 +7036,11 @@ jest-runtime@^25.3.0: strip-bom "^4.0.0" yargs "^15.3.1" -jest-serializer@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" - integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== - jest-serializer@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.2.6.tgz#3bb4cc14fe0d8358489dbbefbb8a4e708ce039b7" integrity sha512-RMVCfZsezQS2Ww4kB5HJTMaMJ0asmC0BHlnobQC6yEtxiFKIxohFA4QSXSabKwSggaNkqxn6Z2VwdFCjhUWuiQ== -jest-snapshot@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" - integrity sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - expect "^24.9.0" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^24.9.0" - semver "^6.2.0" - jest-snapshot@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.3.0.tgz#d4feb457494f4aaedcc83fbbf1ca21808fc3df71" @@ -7581,24 +7061,6 @@ jest-snapshot@^25.3.0: pretty-format "^25.3.0" semver "^6.3.0" -jest-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" - integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== - dependencies: - "@jest/console" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/source-map" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - callsites "^3.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.15" - is-ci "^2.0.0" - mkdirp "^0.5.1" - slash "^2.0.0" - source-map "^0.6.0" - jest-util@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.3.0.tgz#e3b0064165818f10d78514696fd25efba82cf049" @@ -7609,18 +7071,6 @@ jest-util@^25.3.0: is-ci "^2.0.0" make-dir "^3.0.0" -jest-validate@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" - integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== - dependencies: - "@jest/types" "^24.9.0" - camelcase "^5.3.1" - chalk "^2.0.1" - jest-get-type "^24.9.0" - leven "^3.1.0" - pretty-format "^24.9.0" - jest-validate@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.3.0.tgz#eb95fdee0039647bcd5d4be641b21e4a142a880c" @@ -7633,19 +7083,6 @@ jest-validate@^25.3.0: leven "^3.1.0" pretty-format "^25.3.0" -jest-watcher@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" - integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== - dependencies: - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - jest-util "^24.9.0" - string-length "^2.0.0" - jest-watcher@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.3.0.tgz#fd03fd5ca52f02bd3161ab177466bf1bfdd34e5c" @@ -7658,14 +7095,6 @@ jest-watcher@^25.3.0: jest-util "^25.3.0" string-length "^3.1.0" -jest-worker@^24.6.0, jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== - dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" - jest-worker@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.2.6.tgz#d1292625326794ce187c38f51109faced3846c58" @@ -7674,14 +7103,6 @@ jest-worker@^25.2.6: merge-stream "^2.0.0" supports-color "^7.0.0" -jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" - integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== - dependencies: - import-local "^2.0.0" - jest-cli "^24.9.0" - jest@^25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest/-/jest-25.3.0.tgz#7a5e59741d94b8662664c77a9f346246d6bf228b" @@ -7719,38 +7140,6 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jsdom@^11.5.1: - version "11.12.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" - integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== - dependencies: - abab "^2.0.0" - acorn "^5.5.3" - acorn-globals "^4.1.0" - array-equal "^1.0.0" - cssom ">= 0.3.2 < 0.4.0" - cssstyle "^1.0.0" - data-urls "^1.0.0" - domexception "^1.0.1" - escodegen "^1.9.1" - html-encoding-sniffer "^1.0.2" - left-pad "^1.3.0" - nwsapi "^2.0.7" - parse5 "4.0.0" - pn "^1.1.0" - request "^2.87.0" - request-promise-native "^1.0.5" - sax "^1.2.4" - symbol-tree "^3.2.2" - tough-cookie "^2.3.4" - w3c-hr-time "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.3" - whatwg-mimetype "^2.1.0" - whatwg-url "^6.4.1" - ws "^5.2.0" - xml-name-validator "^3.0.0" - jsdom@^14.1.0: version "14.1.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-14.1.0.tgz#916463b6094956b0a6c1782c94e380cd30e1981b" @@ -8047,11 +7436,6 @@ lcov-parse@^1.0.0: resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-1.0.0.tgz#eb0d46b54111ebc561acb4c408ef9363bdc8f7e0" integrity sha1-6w1GtUER68VhrLTECO+TY73I9+A= -left-pad@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" - integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== - lerna@^3.20.2: version "3.20.2" resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.20.2.tgz#abf84e73055fe84ee21b46e64baf37b496c24864" @@ -8908,17 +8292,6 @@ 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@^5.4.2: - version "5.4.3" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" - integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== - dependencies: - growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" - shellwords "^0.1.1" - which "^1.3.0" - node-notifier@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" @@ -9087,7 +8460,7 @@ number-is-nan@^1.0.0: resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= -nwsapi@^2.0.7, nwsapi@^2.1.3, nwsapi@^2.2.0: +nwsapi@^2.1.3, nwsapi@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== @@ -9368,13 +8741,6 @@ own-or@^1.0.0: resolved "https://registry.yarnpkg.com/own-or/-/own-or-1.0.0.tgz#4e877fbeda9a2ec8000fbc0bcae39645ee8bf8dc" integrity sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw= -p-each-series@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" - integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= - dependencies: - p-reduce "^1.0.0" - p-each-series@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" @@ -9664,11 +9030,6 @@ parse-url@^5.0.0: parse-path "^4.0.0" protocols "^1.4.0" -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== - parse5@5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" @@ -10218,16 +9579,6 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -pretty-format@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" - integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== - dependencies: - "@jest/types" "^24.9.0" - ansi-regex "^4.0.0" - ansi-styles "^3.2.0" - react-is "^16.8.4" - pretty-format@^25.2.1, pretty-format@^25.2.6: version "25.2.6" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.2.6.tgz#542a1c418d019bbf1cca2e3620443bc1323cb8d7" @@ -10507,11 +9858,6 @@ react-is@^16.12.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.0.tgz#0f37c3613c34fe6b37cd7f763a0d6293ab15c527" integrity sha512-GFMtL0vHkiBv9HluwNZTggSn/sCyEt9n02aM0dSAjGGyqyNlAyftYm4phPxdvCigG15JreC5biwxCgTAJZ7yAA== -react-is@^16.8.4: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - read-cmd-shim@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz#87e43eba50098ba5a32d0ceb583ab8e43b961c16" @@ -10657,13 +10003,6 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -realpath-native@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" - integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== - dependencies: - util.promisify "^1.0.0" - realpath-native@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-2.0.0.tgz#7377ac429b6e1fd599dc38d08ed942d0d7beb866" @@ -10810,7 +10149,7 @@ request-promise-native@^1.0.5, request-promise-native@^1.0.7: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.87.0, request@^2.88.0: +request@^2.88.0: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -11035,7 +10374,7 @@ sax@1.2.1: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= -sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: +sax@>=0.6.0, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -11575,14 +10914,6 @@ streamroller@^2.2.3: debug "^4.1.1" fs-extra "^8.1.0" -string-length@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" - integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= - dependencies: - astral-regex "^1.0.0" - strip-ansi "^4.0.0" - string-length@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" @@ -12034,11 +11365,6 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" -throat@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= - throat@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" @@ -12163,7 +11489,7 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== -tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5.0: +tough-cookie@^2.3.3, tough-cookie@^2.5.0, tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== @@ -12568,7 +11894,7 @@ util-promisify@^2.1.0: dependencies: object.getownpropertydescriptors "^2.0.3" -util.promisify@^1.0.0, util.promisify@~1.0.0: +util.promisify@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== @@ -12695,27 +12021,18 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: +whatwg-encoding@^1.0.1, 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.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: +whatwg-mimetype@^2.2.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== -whatwg-url@^6.4.1: - version "6.5.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" - integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-url@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" @@ -12835,15 +12152,6 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" - integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: version "2.4.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" @@ -12902,7 +12210,7 @@ write@1.0.3: dependencies: mkdirp "^0.5.1" -ws@^5.1.1, ws@^5.2.0: +ws@^5.1.1: version "5.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== @@ -13019,14 +12327,6 @@ yargs-parser@^13.0.0, yargs-parser@^13.1.1: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^15.0.0: version "15.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.0.tgz#cdd7a97490ec836195f59f3f4dbe5ea9e8f75f08" @@ -13084,22 +12384,6 @@ yargs@^13.2.2: y18n "^4.0.0" yargs-parser "^13.1.1" -yargs@^13.3.0: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.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 "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - yargs@^14.0.0, yargs@^14.2.2: version "14.2.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.2.tgz#2769564379009ff8597cdd38fba09da9b493c4b5" From 03e33ebe179d94a2be8f93c343ff8f8eaa7b3277 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2020 21:32:42 +0000 Subject: [PATCH 18/20] chore(deps): bump archiver from 3.1.1 to 4.0.0 (#7352) Bumps [archiver](https://github.com/archiverjs/node-archiver) from 3.1.1 to 4.0.0. - [Release notes](https://github.com/archiverjs/node-archiver/releases) - [Changelog](https://github.com/archiverjs/node-archiver/blob/master/CHANGELOG.md) - [Commits](https://github.com/archiverjs/node-archiver/compare/3.1.1...4.0.0) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- packages/aws-cdk/package.json | 2 +- packages/cdk-assets/package.json | 2 +- yarn.lock | 22 +++++++++++----------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/aws-cdk/package.json b/packages/aws-cdk/package.json index c881a2ffe38c1..1d961ad39c564 100644 --- a/packages/aws-cdk/package.json +++ b/packages/aws-cdk/package.json @@ -72,7 +72,7 @@ "@aws-cdk/cx-api": "0.0.0", "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "archiver": "^3.1.1", + "archiver": "^4.0.0", "aws-sdk": "^2.656.0", "camelcase": "^6.0.0", "cdk-assets": "0.0.0", diff --git a/packages/cdk-assets/package.json b/packages/cdk-assets/package.json index d1aed47f4e1df..7b95c1f638640 100644 --- a/packages/cdk-assets/package.json +++ b/packages/cdk-assets/package.json @@ -43,7 +43,7 @@ }, "dependencies": { "@aws-cdk/cdk-assets-schema": "0.0.0", - "archiver": "^3.1.1", + "archiver": "^4.0.0", "aws-sdk": "^2.656.0", "glob": "^7.1.6", "yargs": "^15.3.1" diff --git a/yarn.lock b/yarn.lock index 44afdf2b1afa2..45e93197734f8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2466,18 +2466,18 @@ archiver-utils@^2.1.0: normalize-path "^3.0.0" readable-stream "^2.0.0" -archiver@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/archiver/-/archiver-3.1.1.tgz#9db7819d4daf60aec10fe86b16cb9258ced66ea0" - integrity sha512-5Hxxcig7gw5Jod/8Gq0OneVgLYET+oNHcxgWItq4TbhOzRLKNAFUb9edAftiMKXvXfCB0vbGrJdZDNq0dWMsxg== +archiver@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/archiver/-/archiver-4.0.0.tgz#f905272e3a5999c2d44fd6ee9ee7bb4d291df865" + integrity sha512-2ay76fdYM1OtC3rgPQVX1fXfgn8Yac5IEvMJU5rUuTPot5jrl3LmFhKuTDOGNUIlTZ6cJEaAidli4favNvvKYg== dependencies: archiver-utils "^2.1.0" async "^2.6.3" buffer-crc32 "^0.2.1" - glob "^7.1.4" - readable-stream "^3.4.0" - tar-stream "^2.1.0" - zip-stream "^2.1.2" + glob "^7.1.6" + readable-stream "^3.6.0" + tar-stream "^2.1.2" + zip-stream "^2.1.3" archy@^1.0.0: version "1.0.0" @@ -9975,7 +9975,7 @@ readable-stream@1.1.x: isarray "0.0.1" string_decoder "~0.10.x" -"readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0: +"readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -11242,7 +11242,7 @@ tap@^12.0.1: write-file-atomic "^2.4.2" yapool "^1.0.0" -tar-stream@^2.1.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== @@ -12443,7 +12443,7 @@ yn@3.1.1: resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== -zip-stream@^2.1.2: +zip-stream@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-2.1.3.tgz#26cc4bdb93641a8590dd07112e1f77af1758865b" integrity sha512-EkXc2JGcKhO5N5aZ7TmuNo45budRaFGHOmz24wtJR7znbNqDPmdZtUauKX6et8KAVseAMBOyWJqEpXcHTBsh7Q== From 7ad154d9a883d18c913a5d98e0e1ea0cc84a240e Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2020 22:19:03 +0000 Subject: [PATCH 19/20] chore(deps): bump archiver from 4.0.0 to 4.0.1 (#7353) Bumps [archiver](https://github.com/archiverjs/node-archiver) from 4.0.0 to 4.0.1. - [Release notes](https://github.com/archiverjs/node-archiver/releases) - [Changelog](https://github.com/archiverjs/node-archiver/blob/master/CHANGELOG.md) - [Commits](https://github.com/archiverjs/node-archiver/compare/4.0.0...4.0.1) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- packages/aws-cdk/package.json | 2 +- packages/cdk-assets/package.json | 2 +- yarn.lock | 34 ++++++++++++++++---------------- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/packages/aws-cdk/package.json b/packages/aws-cdk/package.json index 1d961ad39c564..79be6b5339ed6 100644 --- a/packages/aws-cdk/package.json +++ b/packages/aws-cdk/package.json @@ -72,7 +72,7 @@ "@aws-cdk/cx-api": "0.0.0", "@aws-cdk/cloud-assembly-schema": "0.0.0", "@aws-cdk/region-info": "0.0.0", - "archiver": "^4.0.0", + "archiver": "^4.0.1", "aws-sdk": "^2.656.0", "camelcase": "^6.0.0", "cdk-assets": "0.0.0", diff --git a/packages/cdk-assets/package.json b/packages/cdk-assets/package.json index 7b95c1f638640..d970b65919d80 100644 --- a/packages/cdk-assets/package.json +++ b/packages/cdk-assets/package.json @@ -43,7 +43,7 @@ }, "dependencies": { "@aws-cdk/cdk-assets-schema": "0.0.0", - "archiver": "^4.0.0", + "archiver": "^4.0.1", "aws-sdk": "^2.656.0", "glob": "^7.1.6", "yargs": "^15.3.1" diff --git a/yarn.lock b/yarn.lock index 45e93197734f8..08d3749901f26 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2466,10 +2466,10 @@ archiver-utils@^2.1.0: normalize-path "^3.0.0" readable-stream "^2.0.0" -archiver@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/archiver/-/archiver-4.0.0.tgz#f905272e3a5999c2d44fd6ee9ee7bb4d291df865" - integrity sha512-2ay76fdYM1OtC3rgPQVX1fXfgn8Yac5IEvMJU5rUuTPot5jrl3LmFhKuTDOGNUIlTZ6cJEaAidli4favNvvKYg== +archiver@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/archiver/-/archiver-4.0.1.tgz#3f722b121777e361ca9fad374ecda38e77e63c7f" + integrity sha512-/YV1pU4Nhpf/rJArM23W6GTUjT0l++VbjykrCRua1TSXrn+yM8Qs7XvtwSiRse0iCe49EPNf7ktXnPsWuSb91Q== dependencies: archiver-utils "^2.1.0" async "^2.6.3" @@ -2477,7 +2477,7 @@ archiver@^4.0.0: glob "^7.1.6" readable-stream "^3.6.0" tar-stream "^2.1.2" - zip-stream "^2.1.3" + zip-stream "^3.0.1" archy@^1.0.0: version "1.0.0" @@ -3564,15 +3564,15 @@ component-emitter@^1.2.1: resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== -compress-commons@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-2.1.1.tgz#9410d9a534cf8435e3fbbb7c6ce48de2dc2f0610" - integrity sha512-eVw6n7CnEMFzc3duyFVrQEuY1BlHR3rYsSztyG32ibGMW722i3C6IizEGMFmfMU+A+fALvBIwxN3czffTcdA+Q== +compress-commons@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-3.0.0.tgz#833944d84596e537224dd91cf92f5246823d4f1d" + integrity sha512-FyDqr8TKX5/X0qo+aVfaZ+PVmNJHJeckFBlq8jZGSJOgnynhfifoyl24qaqdUdDIBe0EVTHByN6NAkqYvE/2Xg== dependencies: buffer-crc32 "^0.2.13" crc32-stream "^3.0.1" normalize-path "^3.0.0" - readable-stream "^2.3.6" + readable-stream "^2.3.7" concat-map@0.0.1: version "0.0.1" @@ -9952,7 +9952,7 @@ read@1, read@^1.0.4, read@~1.0.1: dependencies: mute-stream "~0.0.4" -"readable-stream@1 || 2", readable-stream@2, readable-stream@^2, readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.3, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@2, readable-stream@^2, readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@^2.3.7, readable-stream@~2.3.3, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -12443,11 +12443,11 @@ yn@3.1.1: resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== -zip-stream@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-2.1.3.tgz#26cc4bdb93641a8590dd07112e1f77af1758865b" - integrity sha512-EkXc2JGcKhO5N5aZ7TmuNo45budRaFGHOmz24wtJR7znbNqDPmdZtUauKX6et8KAVseAMBOyWJqEpXcHTBsh7Q== +zip-stream@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-3.0.1.tgz#cb8db9d324a76c09f9b76b31a12a48638b0b9708" + integrity sha512-r+JdDipt93ttDjsOVPU5zaq5bAyY+3H19bDrThkvuVxC0xMQzU1PJcS6D+KrP3u96gH9XLomcHPb+2skoDjulQ== dependencies: archiver-utils "^2.1.0" - compress-commons "^2.1.1" - readable-stream "^3.4.0" + compress-commons "^3.0.0" + readable-stream "^3.6.0" From 996167bc7a3364b1b5f0c3d9d4251da2125b8d1d Mon Sep 17 00:00:00 2001 From: Ryan England Date: Tue, 14 Apr 2020 01:13:21 -0400 Subject: [PATCH 20/20] feat(aws-s3-asssets): add s3ObjectUrl property to asset closes #7221 Add s3ObjectUrl property. Rename s3Url to httpUrl to prevent confusion. Update integ.assets.refs.lit.ts and integ.assets.refs.lit.expected.json. Integration tests completed successfully. Shout out to Elad Ben-Israel for his guidance. --- packages/@aws-cdk/aws-s3-assets/README.md | 3 +- packages/@aws-cdk/aws-s3-assets/lib/asset.ts | 13 +++- .../test/integ.assets.refs.lit.expected.json | 60 +++++++++++++++---- .../test/integ.assets.refs.lit.ts | 3 +- packages/@aws-cdk/core/lib/assets.ts | 2 +- packages/@aws-cdk/core/lib/stack.ts | 4 +- 6 files changed, 67 insertions(+), 18 deletions(-) diff --git a/packages/@aws-cdk/aws-s3-assets/README.md b/packages/@aws-cdk/aws-s3-assets/README.md index 44d054c962eab..e696bebca6e6a 100644 --- a/packages/@aws-cdk/aws-s3-assets/README.md +++ b/packages/@aws-cdk/aws-s3-assets/README.md @@ -40,9 +40,10 @@ to an S3 bucket during deployment. `Asset` constructs expose the following deploy-time attributes: + * `httpUrl` - the HTTP URL of the asset (i.e. https://s3.us-east-1.amazonaws.com/mybucket/mykey.zip) * `s3BucketName` - the name of the assets S3 bucket. * `s3ObjectKey` - the S3 object key of the asset file (whether it's a file or a zip archive) - * `s3Url` - the S3 URL of the asset (i.e. https://s3.us-east-1.amazonaws.com/mybucket/mykey.zip) + * `s3UrlObject` - the S3 URL of the asset (i.e. s3://mybucket/mykey.zip) In the following example, the various asset attributes are exported as stack outputs: diff --git a/packages/@aws-cdk/aws-s3-assets/lib/asset.ts b/packages/@aws-cdk/aws-s3-assets/lib/asset.ts index d2b7712564e03..0385e335ee4f9 100644 --- a/packages/@aws-cdk/aws-s3-assets/lib/asset.ts +++ b/packages/@aws-cdk/aws-s3-assets/lib/asset.ts @@ -51,6 +51,12 @@ export interface AssetProps extends AssetOptions { * and then can be referenced within a CDK application. */ export class Asset extends cdk.Construct implements assets.IAsset { + /** + * Attribute which represents the HTTP URL of this asset. + * @example https://s3.us-west-1.amazonaws.com/bucket/key + */ + public readonly httpUrl: string; + /** * Attribute that represents the name of the bucket this asset exists in. */ @@ -63,9 +69,9 @@ export class Asset extends cdk.Construct implements assets.IAsset { /** * Attribute which represents the S3 URL of this asset. - * @example https://s3.us-west-1.amazonaws.com/bucket/key + * @example s3://bucket/key */ - public readonly s3Url: string; + public readonly s3ObjectUrl: string; /** * The path to the asset (stringinfied token). @@ -116,9 +122,10 @@ export class Asset extends cdk.Construct implements assets.IAsset { fileName: staging.stagedPath }); + this.httpUrl = location.httpUrl; this.s3BucketName = location.bucketName; this.s3ObjectKey = location.objectKey; - this.s3Url = location.s3Url; + this.s3ObjectUrl = `s3://${this.s3BucketName}/${this.s3ObjectKey}`; this.bucket = s3.Bucket.fromBucketName(this, 'AssetBucket', this.s3BucketName); diff --git a/packages/@aws-cdk/aws-s3-assets/test/integ.assets.refs.lit.expected.json b/packages/@aws-cdk/aws-s3-assets/test/integ.assets.refs.lit.expected.json index 6b25a2e5cdc63..dcd5cc5a123d3 100644 --- a/packages/@aws-cdk/aws-s3-assets/test/integ.assets.refs.lit.expected.json +++ b/packages/@aws-cdk/aws-s3-assets/test/integ.assets.refs.lit.expected.json @@ -14,6 +14,54 @@ } }, "Outputs": { + "HTTPURL": { + "Value": { + "Fn::Join": [ + "", + [ + "https://s3.", + { + "Ref": "AWS::Region" + }, + ".", + { + "Ref": "AWS::URLSuffix" + }, + "/", + { + "Ref": "AssetParameters6b84b87243a4a01c592d78e1fd3855c4bfef39328cd0a450cc97e81717fea2a2S3Bucket50B5A10B" + }, + "/", + { + "Fn::Select": [ + 0, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters6b84b87243a4a01c592d78e1fd3855c4bfef39328cd0a450cc97e81717fea2a2S3VersionKey1F7D75F9" + } + ] + } + ] + }, + { + "Fn::Select": [ + 1, + { + "Fn::Split": [ + "||", + { + "Ref": "AssetParameters6b84b87243a4a01c592d78e1fd3855c4bfef39328cd0a450cc97e81717fea2a2S3VersionKey1F7D75F9" + } + ] + } + ] + } + ] + ] + } + }, "S3BucketName": { "Value": { "Ref": "AssetParameters6b84b87243a4a01c592d78e1fd3855c4bfef39328cd0a450cc97e81717fea2a2S3Bucket50B5A10B" @@ -54,20 +102,12 @@ ] } }, - "S3URL": { + "S3ObjectUrl": { "Value": { "Fn::Join": [ "", [ - "https://s3.", - { - "Ref": "AWS::Region" - }, - ".", - { - "Ref": "AWS::URLSuffix" - }, - "/", + "s3://", { "Ref": "AssetParameters6b84b87243a4a01c592d78e1fd3855c4bfef39328cd0a450cc97e81717fea2a2S3Bucket50B5A10B" }, diff --git a/packages/@aws-cdk/aws-s3-assets/test/integ.assets.refs.lit.ts b/packages/@aws-cdk/aws-s3-assets/test/integ.assets.refs.lit.ts index b7311353f8de1..94185dc587117 100644 --- a/packages/@aws-cdk/aws-s3-assets/test/integ.assets.refs.lit.ts +++ b/packages/@aws-cdk/aws-s3-assets/test/integ.assets.refs.lit.ts @@ -12,9 +12,10 @@ class TestStack extends cdk.Stack { path: path.join(__dirname, 'sample-asset-directory') }); + new cdk.CfnOutput(this, 'HTTPURL', { value: asset.httpUrl }); new cdk.CfnOutput(this, 'S3BucketName', { value: asset.s3BucketName }); new cdk.CfnOutput(this, 'S3ObjectKey', { value: asset.s3ObjectKey }); - new cdk.CfnOutput(this, 'S3URL', { value: asset.s3Url }); + new cdk.CfnOutput(this, 'S3ObjectUrl', { value: asset.s3ObjectUrl }); /// !hide // we need at least one resource diff --git a/packages/@aws-cdk/core/lib/assets.ts b/packages/@aws-cdk/core/lib/assets.ts index a397a8aa6624a..7222d08ca86fb 100644 --- a/packages/@aws-cdk/core/lib/assets.ts +++ b/packages/@aws-cdk/core/lib/assets.ts @@ -114,7 +114,7 @@ export interface FileAssetLocation { * * @example https://s3-us-east-1.amazonaws.com/mybucket/myobject */ - readonly s3Url: string; + readonly httpUrl: string; } /** diff --git a/packages/@aws-cdk/core/lib/stack.ts b/packages/@aws-cdk/core/lib/stack.ts index 104dd362b4196..6ee59eedda220 100644 --- a/packages/@aws-cdk/core/lib/stack.ts +++ b/packages/@aws-cdk/core/lib/stack.ts @@ -563,9 +563,9 @@ export class Stack extends Construct implements ITaggable { const s3Filename = Fn.select(1, Fn.split(cxapi.ASSET_PREFIX_SEPARATOR, encodedKey)); const objectKey = `${s3Prefix}${s3Filename}`; - const s3Url = `https://s3.${this.region}.${this.urlSuffix}/${bucketName}/${objectKey}`; + const httpUrl = `https://s3.${this.region}.${this.urlSuffix}/${bucketName}/${objectKey}`; - return { bucketName, objectKey, s3Url }; + return { bucketName, objectKey, httpUrl }; } public addDockerImageAsset(asset: DockerImageAssetSource): DockerImageAssetLocation {