diff --git a/packages/@aws-cdk/app-delivery/package-lock.json b/packages/@aws-cdk/app-delivery/package-lock.json index b42160748caf2..3a138b10b25e5 100644 --- a/packages/@aws-cdk/app-delivery/package-lock.json +++ b/packages/@aws-cdk/app-delivery/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/app-delivery", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/app-delivery/package.json b/packages/@aws-cdk/app-delivery/package.json index df47462c5b26a..cb3f299f3438f 100644 --- a/packages/@aws-cdk/app-delivery/package.json +++ b/packages/@aws-cdk/app-delivery/package.json @@ -74,7 +74,9 @@ "@aws-cdk/aws-codepipeline": "^0.28.0", "@aws-cdk/aws-codepipeline-actions": "^0.28.0", "@aws-cdk/aws-iam": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/aws-codebuild": "^0.28.0", + "@aws-cdk/cx-api": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/applet-js/package-lock.json b/packages/@aws-cdk/applet-js/package-lock.json index d8a818655f886..1ea49186d742d 100644 --- a/packages/@aws-cdk/applet-js/package-lock.json +++ b/packages/@aws-cdk/applet-js/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/applet-js", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/assert/package-lock.json b/packages/@aws-cdk/assert/package-lock.json index 1dde198c79e55..3f47eb0cc34ea 100644 --- a/packages/@aws-cdk/assert/package-lock.json +++ b/packages/@aws-cdk/assert/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/assert", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/assets-docker/package.json b/packages/@aws-cdk/assets-docker/package.json index 3026076d33fa1..75ef7038086bc 100644 --- a/packages/@aws-cdk/assets-docker/package.json +++ b/packages/@aws-cdk/assets-docker/package.json @@ -80,7 +80,10 @@ "@aws-cdk/aws-iam": "^0.28.0", "@aws-cdk/assets": "^0.28.0", "@aws-cdk/aws-s3": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/aws-cloudformation": "^0.28.0", + "@aws-cdk/aws-lambda": "^0.28.0", + "@aws-cdk/cx-api": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/assets/package.json b/packages/@aws-cdk/assets/package.json index a2e2d66613d07..bd8b0f37eb994 100644 --- a/packages/@aws-cdk/assets/package.json +++ b/packages/@aws-cdk/assets/package.json @@ -78,7 +78,8 @@ "peerDependencies": { "@aws-cdk/aws-iam": "^0.28.0", "@aws-cdk/aws-s3": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/cx-api": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-apigateway/lib/restapi.ts b/packages/@aws-cdk/aws-apigateway/lib/restapi.ts index 9c2d19be0f204..ce4b0419bba56 100644 --- a/packages/@aws-cdk/aws-apigateway/lib/restapi.ts +++ b/packages/@aws-cdk/aws-apigateway/lib/restapi.ts @@ -157,7 +157,7 @@ export interface RestApiProps extends ResourceOptions { export class RestApi extends cdk.Construct implements IRestApi { /** * Imports an existing REST API resource. - * @param parent Parent construct + * @param scope Parent construct * @param id Construct ID * @param props Imported rest API properties */ diff --git a/packages/@aws-cdk/aws-applicationautoscaling/package-lock.json b/packages/@aws-cdk/aws-applicationautoscaling/package-lock.json index a96643c8f2f4f..2b6383edfdca3 100644 --- a/packages/@aws-cdk/aws-applicationautoscaling/package-lock.json +++ b/packages/@aws-cdk/aws-applicationautoscaling/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/aws-applicationautoscaling", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/aws-applicationautoscaling/package.json b/packages/@aws-cdk/aws-applicationautoscaling/package.json index a584c26fd9e3e..fd618f41e1223 100644 --- a/packages/@aws-cdk/aws-applicationautoscaling/package.json +++ b/packages/@aws-cdk/aws-applicationautoscaling/package.json @@ -75,7 +75,8 @@ "peerDependencies": { "@aws-cdk/aws-cloudwatch": "^0.28.0", "@aws-cdk/aws-iam": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/aws-autoscaling-common": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-appmesh/.npmignore b/packages/@aws-cdk/aws-appmesh/.npmignore index 0ed32f4a4a755..2895a406c8e61 100644 --- a/packages/@aws-cdk/aws-appmesh/.npmignore +++ b/packages/@aws-cdk/aws-appmesh/.npmignore @@ -15,3 +15,7 @@ dist .LAST_BUILD .LAST_PACKAGE .jsii + + +# Include .jsii +!.jsii diff --git a/packages/@aws-cdk/aws-autoscaling-common/package-lock.json b/packages/@aws-cdk/aws-autoscaling-common/package-lock.json index 54917ccc204a9..b336e0fa64130 100644 --- a/packages/@aws-cdk/aws-autoscaling-common/package-lock.json +++ b/packages/@aws-cdk/aws-autoscaling-common/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/aws-autoscaling-common", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/aws-autoscaling/package.json b/packages/@aws-cdk/aws-autoscaling/package.json index 18174f95c5626..8218b79cd663f 100644 --- a/packages/@aws-cdk/aws-autoscaling/package.json +++ b/packages/@aws-cdk/aws-autoscaling/package.json @@ -85,7 +85,8 @@ "@aws-cdk/aws-elasticloadbalancingv2": "^0.28.0", "@aws-cdk/aws-iam": "^0.28.0", "@aws-cdk/aws-sns": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/aws-autoscaling-common": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-certificatemanager/lambda-packages/dns_validated_certificate_handler/package-lock.json b/packages/@aws-cdk/aws-certificatemanager/lambda-packages/dns_validated_certificate_handler/package-lock.json index 22d07be2586a4..7e220c404d802 100644 --- a/packages/@aws-cdk/aws-certificatemanager/lambda-packages/dns_validated_certificate_handler/package-lock.json +++ b/packages/@aws-cdk/aws-certificatemanager/lambda-packages/dns_validated_certificate_handler/package-lock.json @@ -1,6 +1,6 @@ { "name": "dns_validated_certificate_handler", - "version": "0.27.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/aws-cloudfront/package-lock.json b/packages/@aws-cdk/aws-cloudfront/package-lock.json index 6923e7bc7fa55..ef143b7a5aa33 100644 --- a/packages/@aws-cdk/aws-cloudfront/package-lock.json +++ b/packages/@aws-cdk/aws-cloudfront/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/aws-cloudfront", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/aws-cloudfront/package.json b/packages/@aws-cdk/aws-cloudfront/package.json index 2faba6030aeb2..a7432f2f4d1be 100644 --- a/packages/@aws-cdk/aws-cloudfront/package.json +++ b/packages/@aws-cdk/aws-cloudfront/package.json @@ -78,7 +78,10 @@ "peerDependencies": { "@aws-cdk/aws-route53": "^0.28.0", "@aws-cdk/aws-s3": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/aws-certificatemanager": "^0.28.0", + "@aws-cdk/aws-iam": "^0.28.0", + "@aws-cdk/aws-kms": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-cloudtrail/package-lock.json b/packages/@aws-cdk/aws-cloudtrail/package-lock.json index 6055f554ff583..a9201ac276658 100644 --- a/packages/@aws-cdk/aws-cloudtrail/package-lock.json +++ b/packages/@aws-cdk/aws-cloudtrail/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/aws-cloudtrail", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/aws-cloudtrail/package.json b/packages/@aws-cdk/aws-cloudtrail/package.json index dda523a6fc725..0e6848a0c8ebb 100644 --- a/packages/@aws-cdk/aws-cloudtrail/package.json +++ b/packages/@aws-cdk/aws-cloudtrail/package.json @@ -78,7 +78,9 @@ "peerDependencies": { "@aws-cdk/aws-kms": "^0.28.0", "@aws-cdk/aws-logs": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/aws-iam": "^0.28.0", + "@aws-cdk/aws-s3": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-codebuild/lib/project.ts b/packages/@aws-cdk/aws-codebuild/lib/project.ts index 548ba56cf24c0..2a59aa28b2a12 100644 --- a/packages/@aws-cdk/aws-codebuild/lib/project.ts +++ b/packages/@aws-cdk/aws-codebuild/lib/project.ts @@ -567,8 +567,8 @@ export class Project extends ProjectBase { * has permissions to access the S3 Bucket of that Pipeline - * otherwise, builds in that Pipeline will always fail. * - * @param parent the parent Construct for this Construct - * @param name the logical name of this Construct + * @param scope the parent Construct for this Construct + * @param id the logical name of this Construct * @param props the properties of the referenced Project * @returns a reference to the existing Project */ diff --git a/packages/@aws-cdk/aws-codebuild/package-lock.json b/packages/@aws-cdk/aws-codebuild/package-lock.json index 4ccdc4c0687aa..741474cc8d276 100644 --- a/packages/@aws-cdk/aws-codebuild/package-lock.json +++ b/packages/@aws-cdk/aws-codebuild/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/aws-codebuild", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/aws-codecommit/package-lock.json b/packages/@aws-cdk/aws-codecommit/package-lock.json index ad54001d3feb4..bce6d506f021d 100644 --- a/packages/@aws-cdk/aws-codecommit/package-lock.json +++ b/packages/@aws-cdk/aws-codecommit/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/aws-codecommit", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/aws-codedeploy-api/package.json b/packages/@aws-cdk/aws-codedeploy-api/package.json index ce357ea3140e0..2e846dc4df8d6 100644 --- a/packages/@aws-cdk/aws-codedeploy-api/package.json +++ b/packages/@aws-cdk/aws-codedeploy-api/package.json @@ -66,5 +66,8 @@ "homepage": "https://github.com/awslabs/aws-cdk", "engines": { "node": ">= 8.10.0" + }, + "peerDependencies": { + "@aws-cdk/cdk": "^0.28.0" } } diff --git a/packages/@aws-cdk/aws-codedeploy/lib/lambda/deployment-group.ts b/packages/@aws-cdk/aws-codedeploy/lib/lambda/deployment-group.ts index e661ad5bd5b2c..6308a656a37c1 100644 --- a/packages/@aws-cdk/aws-codedeploy/lib/lambda/deployment-group.ts +++ b/packages/@aws-cdk/aws-codedeploy/lib/lambda/deployment-group.ts @@ -200,7 +200,7 @@ export class LambdaDeploymentGroup extends cdk.Construct implements ILambdaDeplo /** * Associate a function to run after deployment completes. - * @param preHook function to run after deployment completes + * @param postHook function to run after deployment completes * @throws an error if a post-hook function is already configured */ public onPostHook(postHook: lambda.IFunction): void { @@ -215,7 +215,7 @@ export class LambdaDeploymentGroup extends cdk.Construct implements ILambdaDeplo /** * Grant a principal permission to codedeploy:PutLifecycleEventHookExecutionStatus * on this deployment group resource. - * @param principal to grant permission to + * @param grantee to grant permission to */ public grantPutLifecycleEventHookExecutionStatus(grantee: iam.IGrantable): iam.Grant { return iam.Grant.addToPrincipal({ diff --git a/packages/@aws-cdk/aws-codedeploy/package.json b/packages/@aws-cdk/aws-codedeploy/package.json index 46f5a91e3802a..5d9f7cb3a3862 100644 --- a/packages/@aws-cdk/aws-codedeploy/package.json +++ b/packages/@aws-cdk/aws-codedeploy/package.json @@ -87,7 +87,8 @@ "@aws-cdk/aws-codedeploy-api": "^0.28.0", "@aws-cdk/aws-iam": "^0.28.0", "@aws-cdk/aws-lambda": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/aws-s3": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-codepipeline-actions/package-lock.json b/packages/@aws-cdk/aws-codepipeline-actions/package-lock.json index 7c59ec4be6731..0506c5f031647 100644 --- a/packages/@aws-cdk/aws-codepipeline-actions/package-lock.json +++ b/packages/@aws-cdk/aws-codepipeline-actions/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/aws-codepipeline-actions", - "version": "0.27.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/aws-codepipeline/package.json b/packages/@aws-cdk/aws-codepipeline/package.json index 359d657a6ad93..7065361a1293d 100644 --- a/packages/@aws-cdk/aws-codepipeline/package.json +++ b/packages/@aws-cdk/aws-codepipeline/package.json @@ -93,7 +93,8 @@ "construct-ctor:@aws-cdk/aws-codepipeline.CrossRegionScaffoldStack..params[0]", "construct-ctor:@aws-cdk/aws-codepipeline.CrossRegionScaffoldStack..params[1]", "export:@aws-cdk/aws-codepipeline.IPipeline", - "import-props-interface:@aws-cdk/aws-codepipeline.PipelineImportProps" + "import-props-interface:@aws-cdk/aws-codepipeline.PipelineImportProps", + "resource-attribute:@aws-cdk/aws-codepipeline.IPipeline.pipelineVersion" ] } } diff --git a/packages/@aws-cdk/aws-cognito/package.json b/packages/@aws-cdk/aws-cognito/package.json index 41521a638050a..102f57e8ec2d8 100644 --- a/packages/@aws-cdk/aws-cognito/package.json +++ b/packages/@aws-cdk/aws-cognito/package.json @@ -72,7 +72,8 @@ "homepage": "https://github.com/awslabs/aws-cdk", "peerDependencies": { "@aws-cdk/aws-lambda": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/aws-iam": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-dynamodb-global/lambda-packages/aws-global-table-coordinator/package-lock.json b/packages/@aws-cdk/aws-dynamodb-global/lambda-packages/aws-global-table-coordinator/package-lock.json index 22d07be2586a4..8dca95c9ad048 100644 --- a/packages/@aws-cdk/aws-dynamodb-global/lambda-packages/aws-global-table-coordinator/package-lock.json +++ b/packages/@aws-cdk/aws-dynamodb-global/lambda-packages/aws-global-table-coordinator/package-lock.json @@ -1,6 +1,6 @@ { - "name": "dns_validated_certificate_handler", - "version": "0.27.0", + "name": "aws-global-lambda-coordinator", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/aws-dynamodb/lib/table.ts b/packages/@aws-cdk/aws-dynamodb/lib/table.ts index 0063db5787f66..65912651c6246 100644 --- a/packages/@aws-cdk/aws-dynamodb/lib/table.ts +++ b/packages/@aws-cdk/aws-dynamodb/lib/table.ts @@ -437,7 +437,7 @@ export class Table extends Construct { /** * Permits an IAM principal all data read operations from this table: * BatchGetItem, GetRecords, GetShardIterator, Query, GetItem, Scan. - * @param principal The principal to grant access to + * @param grantee The principal to grant access to */ public grantReadData(grantee: iam.IGrantable) { return this.grant(grantee, ...READ_DATA_ACTIONS); @@ -456,7 +456,7 @@ export class Table extends Construct { /** * Permits an IAM principal all data write operations to this table: * BatchWriteItem, PutItem, UpdateItem, DeleteItem. - * @param principal The principal to grant access to + * @param grantee The principal to grant access to */ public grantWriteData(grantee: iam.IGrantable) { return this.grant(grantee, ...WRITE_DATA_ACTIONS); diff --git a/packages/@aws-cdk/aws-ecs/package-lock.json b/packages/@aws-cdk/aws-ecs/package-lock.json index 7c814cf29d749..e5b20a0754726 100644 --- a/packages/@aws-cdk/aws-ecs/package-lock.json +++ b/packages/@aws-cdk/aws-ecs/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/aws-ecs", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/aws-ecs/package.json b/packages/@aws-cdk/aws-ecs/package.json index f613de1ea7960..43540d812c6a5 100644 --- a/packages/@aws-cdk/aws-ecs/package.json +++ b/packages/@aws-cdk/aws-ecs/package.json @@ -106,7 +106,11 @@ "@aws-cdk/aws-route53": "^0.28.0", "@aws-cdk/aws-secretsmanager": "^0.28.0", "@aws-cdk/aws-servicediscovery": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/aws-cloudformation": "^0.28.0", + "@aws-cdk/aws-lambda": "^0.28.0", + "@aws-cdk/aws-sns": "^0.28.0", + "@aws-cdk/cx-api": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-eks/lib/cluster.ts b/packages/@aws-cdk/aws-eks/lib/cluster.ts index 8dcdd35f767f0..c694ac4567504 100644 --- a/packages/@aws-cdk/aws-eks/lib/cluster.ts +++ b/packages/@aws-cdk/aws-eks/lib/cluster.ts @@ -21,8 +21,6 @@ export interface ClusterProps { * * If you want to create public load balancers, this must include public subnets. * - * @example - * * For example, to only select private subnets, supply the following: * * ```ts diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json b/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json index 865750f894c9e..4970e40c619a0 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json @@ -81,7 +81,8 @@ "@aws-cdk/aws-ec2": "^0.28.0", "@aws-cdk/aws-route53": "^0.28.0", "@aws-cdk/aws-s3": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/aws-iam": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-events/package.json b/packages/@aws-cdk/aws-events/package.json index 6e5277b59a74c..9fddbed20e182 100644 --- a/packages/@aws-cdk/aws-events/package.json +++ b/packages/@aws-cdk/aws-events/package.json @@ -71,7 +71,8 @@ }, "homepage": "https://github.com/awslabs/aws-cdk", "peerDependencies": { - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/aws-iam": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-fsx/.npmignore b/packages/@aws-cdk/aws-fsx/.npmignore index 0ed32f4a4a755..2895a406c8e61 100644 --- a/packages/@aws-cdk/aws-fsx/.npmignore +++ b/packages/@aws-cdk/aws-fsx/.npmignore @@ -15,3 +15,7 @@ dist .LAST_BUILD .LAST_PACKAGE .jsii + + +# Include .jsii +!.jsii diff --git a/packages/@aws-cdk/aws-greengrass/.npmignore b/packages/@aws-cdk/aws-greengrass/.npmignore index 0ed32f4a4a755..2895a406c8e61 100644 --- a/packages/@aws-cdk/aws-greengrass/.npmignore +++ b/packages/@aws-cdk/aws-greengrass/.npmignore @@ -15,3 +15,7 @@ dist .LAST_BUILD .LAST_PACKAGE .jsii + + +# Include .jsii +!.jsii diff --git a/packages/@aws-cdk/aws-iam/lib/lazy-role.ts b/packages/@aws-cdk/aws-iam/lib/lazy-role.ts index 9b4a290b9fa1f..f7f7cc11a5f08 100644 --- a/packages/@aws-cdk/aws-iam/lib/lazy-role.ts +++ b/packages/@aws-cdk/aws-iam/lib/lazy-role.ts @@ -33,7 +33,7 @@ export class LazyRole extends cdk.Construct implements IRole { /** * Adds a permission to the role's default policy document. * If there is no default policy attached to this role, it will be created. - * @param permission The permission statement to add to the policy document + * @param statement The permission statement to add to the policy document */ public addToPolicy(statement: PolicyStatement): boolean { if (this.role) { diff --git a/packages/@aws-cdk/aws-iam/lib/policy-document.ts b/packages/@aws-cdk/aws-iam/lib/policy-document.ts index a2d7dad8f6b97..613442a1ba456 100644 --- a/packages/@aws-cdk/aws-iam/lib/policy-document.ts +++ b/packages/@aws-cdk/aws-iam/lib/policy-document.ts @@ -377,7 +377,7 @@ export class PolicyStatement extends cdk.Token { * Adds a service principal to this policy statement. * * @param service the service name for which a service principal is requested (e.g: `s3.amazonaws.com`). - * @param region the region in which the service principal lives (defaults to the current stack's region). + * @param opts options for adding the service principal (such as specifying a principal in a different region) */ public addServicePrincipal(service: string, opts?: ServicePrincipalOpts): this { return this.addPrincipal(new ServicePrincipal(service, opts)); diff --git a/packages/@aws-cdk/aws-iam/lib/role.ts b/packages/@aws-cdk/aws-iam/lib/role.ts index dc20cdbf382d8..6d2696cb21b02 100644 --- a/packages/@aws-cdk/aws-iam/lib/role.ts +++ b/packages/@aws-cdk/aws-iam/lib/role.ts @@ -180,7 +180,7 @@ export class Role extends Construct implements IRole { /** * Adds a permission to the role's default policy document. * If there is no default policy attached to this role, it will be created. - * @param permission The permission statement to add to the policy document + * @param statement The permission statement to add to the policy document */ public addToPolicy(statement: PolicyStatement): boolean { if (!this.defaultPolicy) { diff --git a/packages/@aws-cdk/aws-kinesis/lib/stream.ts b/packages/@aws-cdk/aws-kinesis/lib/stream.ts index 1e86c62ad84bd..d2e29906e97c2 100644 --- a/packages/@aws-cdk/aws-kinesis/lib/stream.ts +++ b/packages/@aws-cdk/aws-kinesis/lib/stream.ts @@ -286,8 +286,7 @@ export class Stream extends StreamBase { * * @param scope The parent creating construct (usually `this`). * @param id The construct's name. - * @param ref A `StreamAttributes` object. Can be obtained from a call to - * `stream.export()`. + * @param props Stream import properties */ public static import(scope: cdk.Construct, id: string, props: StreamImportProps): IStream { return new ImportedStream(scope, id, props); diff --git a/packages/@aws-cdk/aws-lambda-event-sources/package.json b/packages/@aws-cdk/aws-lambda-event-sources/package.json index 84352368ac838..974f6f49f6148 100644 --- a/packages/@aws-cdk/aws-lambda-event-sources/package.json +++ b/packages/@aws-cdk/aws-lambda-event-sources/package.json @@ -80,7 +80,10 @@ "@aws-cdk/aws-lambda": "^0.28.0", "@aws-cdk/aws-s3": "^0.28.0", "@aws-cdk/aws-sns": "^0.28.0", - "@aws-cdk/aws-sqs": "^0.28.0" + "@aws-cdk/aws-sqs": "^0.28.0", + "@aws-cdk/aws-events": "^0.28.0", + "@aws-cdk/aws-iam": "^0.28.0", + "@aws-cdk/cdk": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-lambda/lib/function.ts b/packages/@aws-cdk/aws-lambda/lib/function.ts index 324783d9605e8..240daadfb7230 100644 --- a/packages/@aws-cdk/aws-lambda/lib/function.ts +++ b/packages/@aws-cdk/aws-lambda/lib/function.ts @@ -229,7 +229,7 @@ export class Function extends FunctionBase { * * Lambda.import(this, 'MyImportedFunction', { lambdaArn: new LambdaArn('arn:aws:...') }); * - * @param parent The parent construct + * @param scope The parent construct * @param id The name of the lambda construct * @param props A reference to a Lambda function. Can be created manually (see * example above) or obtained through a call to `lambda.export()`. diff --git a/packages/@aws-cdk/aws-lambda/package-lock.json b/packages/@aws-cdk/aws-lambda/package-lock.json index 7da9748305bf3..8796a553ccda6 100644 --- a/packages/@aws-cdk/aws-lambda/package-lock.json +++ b/packages/@aws-cdk/aws-lambda/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/aws-lambda", - "version": "0.27.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/aws-lambda/package.json b/packages/@aws-cdk/aws-lambda/package.json index 16b968b017767..b5e99b0f41305 100644 --- a/packages/@aws-cdk/aws-lambda/package.json +++ b/packages/@aws-cdk/aws-lambda/package.json @@ -102,7 +102,8 @@ "@aws-cdk/aws-s3-notifications": "^0.28.0", "@aws-cdk/aws-sqs": "^0.28.0", "@aws-cdk/aws-stepfunctions": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/cx-api": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-quickstarts/package.json b/packages/@aws-cdk/aws-quickstarts/package.json index 782ee19cc2d22..65bf2412fc769 100644 --- a/packages/@aws-cdk/aws-quickstarts/package.json +++ b/packages/@aws-cdk/aws-quickstarts/package.json @@ -67,7 +67,10 @@ "homepage": "https://github.com/awslabs/aws-cdk", "peerDependencies": { "@aws-cdk/aws-ec2": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/aws-cloudformation": "^0.28.0", + "@aws-cdk/aws-iam": "^0.28.0", + "@aws-cdk/aws-rds": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-ram/.npmignore b/packages/@aws-cdk/aws-ram/.npmignore index 0ed32f4a4a755..2895a406c8e61 100644 --- a/packages/@aws-cdk/aws-ram/.npmignore +++ b/packages/@aws-cdk/aws-ram/.npmignore @@ -15,3 +15,7 @@ dist .LAST_BUILD .LAST_PACKAGE .jsii + + +# Include .jsii +!.jsii diff --git a/packages/@aws-cdk/aws-rds/package.json b/packages/@aws-cdk/aws-rds/package.json index 48586de0e0d4b..cf1ecec7da04d 100644 --- a/packages/@aws-cdk/aws-rds/package.json +++ b/packages/@aws-cdk/aws-rds/package.json @@ -79,7 +79,10 @@ "@aws-cdk/aws-ec2": "^0.28.0", "@aws-cdk/aws-kms": "^0.28.0", "@aws-cdk/aws-secretsmanager": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/aws-iam": "^0.28.0", + "@aws-cdk/aws-lambda": "^0.28.0", + "@aws-cdk/aws-sam": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-robomaker/.npmignore b/packages/@aws-cdk/aws-robomaker/.npmignore index 0ed32f4a4a755..2895a406c8e61 100644 --- a/packages/@aws-cdk/aws-robomaker/.npmignore +++ b/packages/@aws-cdk/aws-robomaker/.npmignore @@ -15,3 +15,7 @@ dist .LAST_BUILD .LAST_PACKAGE .jsii + + +# Include .jsii +!.jsii diff --git a/packages/@aws-cdk/aws-route53/package-lock.json b/packages/@aws-cdk/aws-route53/package-lock.json index d9189f3b693a0..9233bdab94867 100644 --- a/packages/@aws-cdk/aws-route53/package-lock.json +++ b/packages/@aws-cdk/aws-route53/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/aws-route53", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/aws-route53/package.json b/packages/@aws-cdk/aws-route53/package.json index 6637f48dcd57f..31ce3ba532d66 100644 --- a/packages/@aws-cdk/aws-route53/package.json +++ b/packages/@aws-cdk/aws-route53/package.json @@ -75,7 +75,9 @@ "homepage": "https://github.com/awslabs/aws-cdk", "peerDependencies": { "@aws-cdk/aws-ec2": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/aws-logs": "^0.28.0", + "@aws-cdk/cx-api": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-s3-deployment/package.json b/packages/@aws-cdk/aws-s3-deployment/package.json index 4a9d005acbf10..0e6eb62341777 100644 --- a/packages/@aws-cdk/aws-s3-deployment/package.json +++ b/packages/@aws-cdk/aws-s3-deployment/package.json @@ -89,7 +89,11 @@ "homepage": "https://github.com/awslabs/aws-cdk", "peerDependencies": { "@aws-cdk/aws-s3": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/assets": "^0.28.0", + "@aws-cdk/aws-cloudformation": "^0.28.0", + "@aws-cdk/aws-iam": "^0.28.0", + "@aws-cdk/aws-lambda": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/@aws-cdk/aws-s3/lib/bucket.ts b/packages/@aws-cdk/aws-s3/lib/bucket.ts index ed071d793276b..4f50619370e45 100644 --- a/packages/@aws-cdk/aws-s3/lib/bucket.ts +++ b/packages/@aws-cdk/aws-s3/lib/bucket.ts @@ -644,7 +644,7 @@ export class Bucket extends BucketBase { /** * Creates a Bucket construct that represents an external bucket. * - * @param parent The parent creating construct (usually `this`). + * @param scope The parent creating construct (usually `this`). * @param id The construct's name. * @param props A `BucketAttributes` object. Can be obtained from a call to * `bucket.export()` or manually created. diff --git a/packages/@aws-cdk/aws-sns/lib/topic-base.ts b/packages/@aws-cdk/aws-sns/lib/topic-base.ts index f455cb8648dcb..73e1cd063330c 100644 --- a/packages/@aws-cdk/aws-sns/lib/topic-base.ts +++ b/packages/@aws-cdk/aws-sns/lib/topic-base.ts @@ -36,7 +36,6 @@ export interface ITopic extends * The queue resource policy will be updated to allow this SNS topic to send * messages to the queue. * - * @param name The subscription name * @param queue The target queue * @param rawMessageDelivery Enable raw message delivery */ @@ -48,7 +47,6 @@ export interface ITopic extends * The Lambda's resource policy will be updated to allow this topic to * invoke the function. * - * @param name A name for the subscription * @param lambdaFunction The Lambda function to invoke */ subscribeLambda(lambdaFunction: lambda.IFunction): Subscription; @@ -58,7 +56,7 @@ export interface ITopic extends * * @param name A name for the subscription * @param emailAddress The email address to use. - * @param jsonFormat True if the email content should be in JSON format (default is false). + * @param options Options to use for email subscription */ subscribeEmail(name: string, emailAddress: string, options?: EmailSubscriptionOptions): Subscription; @@ -135,7 +133,6 @@ export abstract class TopicBase extends cdk.Construct implements ITopic { * The queue resource policy will be updated to allow this SNS topic to send * messages to the queue. * - * @param name The subscription name * @param queue The target queue * @param rawMessageDelivery Enable raw message delivery */ @@ -176,7 +173,6 @@ export abstract class TopicBase extends cdk.Construct implements ITopic { * The Lambda's resource policy will be updated to allow this topic to * invoke the function. * - * @param name A name for the subscription * @param lambdaFunction The Lambda function to invoke */ public subscribeLambda(lambdaFunction: lambda.IFunction): Subscription { diff --git a/packages/@aws-cdk/aws-sqs/lib/queue-base.ts b/packages/@aws-cdk/aws-sqs/lib/queue-base.ts index 1a281b5691fdd..d8d7dec2a499a 100644 --- a/packages/@aws-cdk/aws-sqs/lib/queue-base.ts +++ b/packages/@aws-cdk/aws-sqs/lib/queue-base.ts @@ -81,7 +81,6 @@ export interface IQueue extends cdk.IConstruct, s3n.IBucketNotificationDestinati * - sqs:GetQueueUrl * * @param grantee Principal to grant send rights to - * @param queueActions additional queue actions to allow */ grantPurge(grantee: iam.IGrantable): iam.Grant; @@ -257,7 +256,6 @@ export abstract class QueueBase extends cdk.Construct implements IQueue { * - sqs:GetQueueUrl * * @param grantee Principal to grant send rights to - * @param queueActions additional queue actions to allow */ public grantPurge(grantee: iam.IGrantable) { return this.grant(grantee, diff --git a/packages/@aws-cdk/aws-sqs/package-lock.json b/packages/@aws-cdk/aws-sqs/package-lock.json index 3e518f04ac96f..80f9a3a651a91 100644 --- a/packages/@aws-cdk/aws-sqs/package-lock.json +++ b/packages/@aws-cdk/aws-sqs/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/aws-sqs", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/cdk/lib/cfn-element.ts b/packages/@aws-cdk/cdk/lib/cfn-element.ts index 2d08e69a619ea..8d728fc07cdf8 100644 --- a/packages/@aws-cdk/cdk/lib/cfn-element.ts +++ b/packages/@aws-cdk/cdk/lib/cfn-element.ts @@ -37,7 +37,7 @@ export abstract class CfnElement extends Construct { * Creates an entity and binds it to a tree. * Note that the root of the tree must be a Stack object (not just any Root). * - * @param parent The parent construct + * @param scope The parent construct * @param props Construct properties */ constructor(scope: Construct, id: string) { @@ -153,4 +153,4 @@ export abstract class CfnRefElement extends CfnElement { } import { CfnReference } from "./cfn-reference"; -import { findTokens } from "./resolve"; \ No newline at end of file +import { findTokens } from "./resolve"; diff --git a/packages/@aws-cdk/cdk/lib/cfn-output.ts b/packages/@aws-cdk/cdk/lib/cfn-output.ts index 8118ef308ec81..813b0f78fce3a 100644 --- a/packages/@aws-cdk/cdk/lib/cfn-output.ts +++ b/packages/@aws-cdk/cdk/lib/cfn-output.ts @@ -72,7 +72,7 @@ export class CfnOutput extends CfnElement { /** * Creates an CfnOutput value for this stack. - * @param parent The parent construct. + * @param scope The parent construct. * @param props CfnOutput properties. */ constructor(scope: Construct, id: string, props: CfnOutputProps) { diff --git a/packages/@aws-cdk/cdk/lib/cfn-parameter.ts b/packages/@aws-cdk/cdk/lib/cfn-parameter.ts index ad5f84d7a91c5..2550b9671a1d2 100644 --- a/packages/@aws-cdk/cdk/lib/cfn-parameter.ts +++ b/packages/@aws-cdk/cdk/lib/cfn-parameter.ts @@ -98,7 +98,7 @@ export class CfnParameter extends CfnRefElement { * Note that the name (logical ID) of the parameter will derive from it's `coname` and location * within the stack. Therefore, it is recommended that parameters are defined at the stack level. * - * @param parent The parent construct. + * @param scope The parent construct. * @param props The parameter properties. */ constructor(scope: Construct, id: string, props: CfnParameterProps) { diff --git a/packages/@aws-cdk/cdk/lib/cfn-rule.ts b/packages/@aws-cdk/cdk/lib/cfn-rule.ts index aeae6537e9183..a663b78dc1bb3 100644 --- a/packages/@aws-cdk/cdk/lib/cfn-rule.ts +++ b/packages/@aws-cdk/cdk/lib/cfn-rule.ts @@ -66,7 +66,7 @@ export class CfnRule extends CfnRefElement { /** * Creates and adds a rule. - * @param parent The parent construct. + * @param scope The parent construct. * @param props The rule props. */ constructor(scope: Construct, id: string, props?: CfnRuleProps) { diff --git a/packages/@aws-cdk/cdk/lib/construct.ts b/packages/@aws-cdk/cdk/lib/construct.ts index 080c97fd7b602..cba979ee5ab25 100644 --- a/packages/@aws-cdk/cdk/lib/construct.ts +++ b/packages/@aws-cdk/cdk/lib/construct.ts @@ -148,7 +148,7 @@ export class ConstructNode { * Note that if the original ID of the construct you are looking for contained * a '/', then it would have been replaced by '--'. * - * @param name Relative name of a direct or indirect child + * @param path Relative path of a direct or indirect child * @returns a child by path or undefined if not found. */ public tryFindChild(path: string): IConstruct | undefined { @@ -172,7 +172,7 @@ export class ConstructNode { * Note that if the original ID of the construct you are looking for contained * a '/', then it would have been replaced by '--'. * - * @param name Relative name of a direct or indirect child + * @param path Relative path of a direct or indirect child * @returns Child with the given path. */ public findChild(path: string): IConstruct { @@ -354,7 +354,7 @@ export class ConstructNode { /** * Return the ancestors (including self) of this Construct up until and excluding the indicated component * - * @param to The construct to return the path components relative to, or + * @param upTo The construct to return the path components relative to, or * the entire list of ancestors (including root) if omitted. */ public ancestors(upTo?: Construct): IConstruct[] { @@ -398,7 +398,7 @@ export class ConstructNode { * Adds a child construct to this node. * * @param child The child construct - * @param name The type name of the child construct. + * @param childName The type name of the child construct. * @returns The resolved path part name of the child */ public addChild(child: IConstruct, childName: string) { diff --git a/packages/@aws-cdk/cdk/lib/fn.ts b/packages/@aws-cdk/cdk/lib/fn.ts index 8d281673cbe47..807ec36b2b01d 100644 --- a/packages/@aws-cdk/cdk/lib/fn.ts +++ b/packages/@aws-cdk/cdk/lib/fn.ts @@ -173,7 +173,7 @@ export class Fn { * attribute, update policy attribute, and property values in the Resources * section and Outputs sections of a template. You can use the AWS::NoValue * pseudo parameter as a return value to remove the corresponding property. - * @param condition A reference to a condition in the Conditions section. Use + * @param conditionId A reference to a condition in the Conditions section. Use * the condition's name to reference it. * @param valueIfTrue A value to be returned if the specified condition * evaluates to true. diff --git a/packages/@aws-cdk/cdk/lib/include.ts b/packages/@aws-cdk/cdk/lib/include.ts index 50998841c415f..b63e7cff1493e 100644 --- a/packages/@aws-cdk/cdk/lib/include.ts +++ b/packages/@aws-cdk/cdk/lib/include.ts @@ -22,7 +22,7 @@ export class Include extends CfnElement { * Creates an adopted template construct. The template will be incorporated into the stack as-is with no changes at all. * This means that logical IDs of entities within this template may conflict with logical IDs of entities that are part of the * stack. - * @param parent The parent construct of this template + * @param scope The parent construct of this template * @param id The ID of this construct * @param template The template to adopt. */ diff --git a/packages/@aws-cdk/cdk/lib/stack.ts b/packages/@aws-cdk/cdk/lib/stack.ts index ed63d77e9e5d7..6f7a66206c42f 100644 --- a/packages/@aws-cdk/cdk/lib/stack.ts +++ b/packages/@aws-cdk/cdk/lib/stack.ts @@ -422,7 +422,8 @@ export class Stack extends Construct { * 'path/to/exampleobject.png' but simply 'path'. This is a limitation * because there is no slicing functionality in CloudFormation templates. * - * @param sep The separator used to separate resource from resourceName + * @param arn The ARN string to parse + * @param sepIfToken The separator used to separate resource from resourceName * @param hasName Whether there is a name component in the ARN at all. For * example, SNS Topics ARNs have the 'resource' component contain the topic * name, and no 'resourceName' component. diff --git a/packages/@aws-cdk/cdk/package-lock.json b/packages/@aws-cdk/cdk/package-lock.json index b6f124bfcc11a..44878b5a18ec8 100644 --- a/packages/@aws-cdk/cdk/package-lock.json +++ b/packages/@aws-cdk/cdk/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/cdk", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/cfnspec/package-lock.json b/packages/@aws-cdk/cfnspec/package-lock.json index 27e9eab019c5e..cb0bf8c664c2f 100644 --- a/packages/@aws-cdk/cfnspec/package-lock.json +++ b/packages/@aws-cdk/cfnspec/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/cfnspec", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/cloudformation-diff/package-lock.json b/packages/@aws-cdk/cloudformation-diff/package-lock.json index faf6305d408f9..2ecac4d8b674f 100644 --- a/packages/@aws-cdk/cloudformation-diff/package-lock.json +++ b/packages/@aws-cdk/cloudformation-diff/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/cloudformation-diff", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/region-info/package-lock.json b/packages/@aws-cdk/region-info/package-lock.json index 274a1ffd6aa89..4cbbe7fdcfd01 100644 --- a/packages/@aws-cdk/region-info/package-lock.json +++ b/packages/@aws-cdk/region-info/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aws-cdk/region-info", - "version": "0.27.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/@aws-cdk/runtime-values/lib/rtv.ts b/packages/@aws-cdk/runtime-values/lib/rtv.ts index ac60a15dc3a81..89584c5c72271 100644 --- a/packages/@aws-cdk/runtime-values/lib/rtv.ts +++ b/packages/@aws-cdk/runtime-values/lib/rtv.ts @@ -72,7 +72,7 @@ export class RuntimeValue extends cdk.Construct { /** * Grants a principal read permissions on this runtime value. - * @param principal The principal (e.g. Role, User, Group) + * @param grantee The principal (e.g. Role, User, Group) */ public grantRead(grantee: iam.IGrantable) { return iam.Grant.addToPrincipal({ diff --git a/packages/@aws-cdk/runtime-values/package.json b/packages/@aws-cdk/runtime-values/package.json index 4c0e235b176be..0cc6acb97d846 100644 --- a/packages/@aws-cdk/runtime-values/package.json +++ b/packages/@aws-cdk/runtime-values/package.json @@ -70,7 +70,8 @@ "homepage": "https://github.com/awslabs/aws-cdk", "peerDependencies": { "@aws-cdk/aws-iam": "^0.28.0", - "@aws-cdk/cdk": "^0.28.0" + "@aws-cdk/cdk": "^0.28.0", + "@aws-cdk/aws-ssm": "^0.28.0" }, "engines": { "node": ">= 8.10.0" diff --git a/packages/aws-cdk/package-lock.json b/packages/aws-cdk/package-lock.json index dac5833770557..fabedf89ec722 100644 --- a/packages/aws-cdk/package-lock.json +++ b/packages/aws-cdk/package-lock.json @@ -1,6 +1,6 @@ { "name": "aws-cdk", - "version": "0.27.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/decdk/lib/declarative-stack.ts b/packages/decdk/lib/declarative-stack.ts index f1733ce65be05..c508362714123 100644 --- a/packages/decdk/lib/declarative-stack.ts +++ b/packages/decdk/lib/declarative-stack.ts @@ -2,7 +2,7 @@ import cdk = require('@aws-cdk/cdk'); import reflect = require('jsii-reflect'); import jsonschema = require('jsonschema'); import { renderFullSchema } from './cdk-schema'; -import { isConstruct, isEnumLikeClass, isSerializableInterface, SchemaContext, schemaForPolymorphic, isDataType } from './jsii2schema'; +import { isConstruct, isDataType, isEnumLikeClass, isSerializableInterface, SchemaContext, schemaForPolymorphic } from './jsii2schema'; export interface DeclarativeStackProps extends cdk.StackProps { typeSystem: reflect.TypeSystem; @@ -37,7 +37,7 @@ export class DeclarativeStack extends cdk.Stack { const typeInfo = typeSystem.findFqn(rprops.Type + 'Props'); const typeRef = new reflect.TypeReference(typeSystem, typeInfo); const Ctor = resolveType(rprops.Type); - new Ctor(this, logicalId, deserializeValue(this, typeRef, 'Properties', rprops.Properties || { })); + new Ctor(this, logicalId, deserializeValue(this, typeRef, true, 'Properties', rprops.Properties)); delete template.Resources[logicalId]; } @@ -90,14 +90,14 @@ function tryResolveGetAtt(value: any) { return fn.val; } -function deserializeValue(stack: cdk.Stack, typeRef: reflect.TypeReference, key: string, value: any): any { +function deserializeValue(stack: cdk.Stack, typeRef: reflect.TypeReference, optional: boolean, key: string, value: any): any { // console.error('====== deserializer ==================='); // console.error(`type: ${typeRef}`); // console.error(`value: ${JSON.stringify(value, undefined, 2)}`); // console.error('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`'); if (value === undefined) { - if (typeRef.optional) { + if (optional) { return undefined; } @@ -110,7 +110,7 @@ function deserializeValue(stack: cdk.Stack, typeRef: reflect.TypeReference, key: throw new Error(`Expecting array for ${key} in ${typeRef}`); } - return value.map((x, i) => deserializeValue(stack, typeRef.arrayOfType!, `${key}[${i}]`, x)); + return value.map((x, i) => deserializeValue(stack, typeRef.arrayOfType!, false, `${key}[${i}]`, x)); } const asRef = tryResolveRef(value); @@ -150,7 +150,7 @@ function deserializeValue(stack: cdk.Stack, typeRef: reflect.TypeReference, key: const out: any = { }; for (const [ k, v ] of Object.entries(value)) { - out[k] = deserializeValue(stack, typeRef.mapOfType, `${key}.${k}`, v); + out[k] = deserializeValue(stack, typeRef.mapOfType, false, `${key}.${k}`, v); } return out; @@ -160,7 +160,7 @@ function deserializeValue(stack: cdk.Stack, typeRef: reflect.TypeReference, key: const errors = new Array(); for (const x of typeRef.unionOfTypes) { try { - return deserializeValue(stack, x, key, value); + return deserializeValue(stack, x, optional, key, value); } catch (e) { if (!(e instanceof ValidationError)) { throw e; @@ -185,8 +185,8 @@ function deserializeValue(stack: cdk.Stack, typeRef: reflect.TypeReference, key: } // if this is an enum type, use the name to dereference - if (typeRef.fqn instanceof reflect.EnumType) { - const enumType = resolveType(typeRef.fqn.fqn); + if (typeRef.type instanceof reflect.EnumType) { + const enumType = resolveType(typeRef.type.fqn); return enumType[value]; } @@ -208,48 +208,48 @@ function deserializeValue(stack: cdk.Stack, typeRef: reflect.TypeReference, key: } function deconstructEnum(_stack: cdk.Stack, typeRef: reflect.TypeReference, _key: string, value: any) { - if (!(typeRef.fqn instanceof reflect.EnumType)) { + if (!(typeRef.type instanceof reflect.EnumType)) { return undefined; } - const enumType = resolveType(typeRef.fqn.fqn); + const enumType = resolveType(typeRef.type.fqn); return enumType[value]; } function deconstructInterface(stack: cdk.Stack, typeRef: reflect.TypeReference, key: string, value: any) { - if (!isSerializableInterface(typeRef.fqn)) { + if (!isSerializableInterface(typeRef.type)) { return undefined; } const out: any = { }; - for (const prop of typeRef.fqn.getProperties(true)) { + for (const prop of typeRef.type.allProperties) { const propValue = value[prop.name]; if (!propValue) { - if (!prop.type.optional) { + if (!prop.optional) { throw new ValidationError(`Missing required property ${key}.${prop.name} in ${typeRef}`); } continue; } - out[prop.name] = deserializeValue(stack, prop.type, `${key}.${prop.name}`, propValue); + out[prop.name] = deserializeValue(stack, prop.type, prop.optional, `${key}.${prop.name}`, propValue); } return out; } function deconstructEnumLike(stack: cdk.Stack, typeRef: reflect.TypeReference, value: any) { - if (!isEnumLikeClass(typeRef.fqn)) { + if (!isEnumLikeClass(typeRef.type)) { return undefined; } // if the value is a string, we deconstruct it as a static property if (typeof(value) === 'string') { - return deconstructStaticProperty(typeRef.fqn, value); + return deconstructStaticProperty(typeRef.type, value); } // if the value is an object, we deconstruct it as a static method if (typeof(value) === 'object' && !Array.isArray(value)) { - return deconstructStaticMethod(stack, typeRef.fqn, value); + return deconstructStaticMethod(stack, typeRef.type, value); } throw new Error(`Invalid value for enum-like class ${typeRef.fqn}: ${JSON.stringify(value)}`); @@ -258,7 +258,7 @@ function deconstructEnumLike(stack: cdk.Stack, typeRef: reflect.TypeReference, v function deconstructType(stack: cdk.Stack, typeRef: reflect.TypeReference, value: any) { const schemaDefs: any = {}; const ctx = SchemaContext.root(schemaDefs); - const schemaRef = schemaForPolymorphic(typeRef.fqn, ctx); + const schemaRef = schemaForPolymorphic(typeRef.type, ctx); if (!schemaRef) { return undefined; } @@ -307,7 +307,7 @@ function deconstructStaticProperty(typeRef: reflect.ClassType, value: string) { } function deconstructStaticMethod(stack: cdk.Stack, typeRef: reflect.ClassType, value: any) { - const methods = typeRef.getMethods(true).filter(m => m.static); + const methods = typeRef.allMethods.filter(m => m.static); const members = methods.map(x => x.name); if (typeof(value) === 'object') { @@ -330,7 +330,7 @@ function deconstructStaticMethod(stack: cdk.Stack, typeRef: reflect.ClassType, v } } -function invokeMethod(stack: cdk.Stack, method: reflect.Method, parameters: any) { +function invokeMethod(stack: cdk.Stack, method: reflect.Callable, parameters: any) { const typeClass = resolveType(method.parentType.fqn); const args = new Array(); @@ -338,24 +338,24 @@ function invokeMethod(stack: cdk.Stack, method: reflect.Method, parameters: any) const p = method.parameters[i]; // kwargs: if this is the last argument and a data type, flatten (treat as keyword args) - if (i === method.parameters.length - 1 && isDataType(p.type.fqn)) { + if (i === method.parameters.length - 1 && isDataType(p.type.type)) { // we pass in all parameters are the value, and the positional arguments will be ignored since // we are promised there are no conflicts - const kwargs = deserializeValue(stack, p.type, p.name, parameters); + const kwargs = deserializeValue(stack, p.type, p.optional, p.name, parameters); args.push(kwargs); } else { const val = parameters[p.name]; - if (val === undefined && !p.type.optional) { + if (val === undefined && !p.optional) { throw new Error(`Missing required parameter '${p.name}' for ${method.parentType.fqn}.${method.name}`); } if (val !== undefined) { - args.push(deserializeValue(stack, p.type, p.name, val)); + args.push(deserializeValue(stack, p.type, p.optional, p.name, val)); } } } - if (method.initializer) { + if (reflect.Initializer.isInitializer(method)) { return new typeClass(...args); } diff --git a/packages/decdk/lib/jsii2schema.ts b/packages/decdk/lib/jsii2schema.ts index 01de5154fc82e..ee92f1b21e426 100644 --- a/packages/decdk/lib/jsii2schema.ts +++ b/packages/decdk/lib/jsii2schema.ts @@ -113,22 +113,22 @@ export function schemaForTypeReference(type: jsiiReflect.TypeReference, ctx: Sch return constructRef; } - const iface = schemaForInterface(type.fqn, ctx); + const iface = schemaForInterface(type.type, ctx); if (iface) { return iface; } - const enm = schemaForEnum(type.fqn); + const enm = schemaForEnum(type.type); if (enm) { return enm; } - const enumLike = schemaForEnumLikeClass(type.fqn, ctx); + const enumLike = schemaForEnumLikeClass(type.type, ctx); if (enumLike) { return enumLike; } - const cls = schemaForPolymorphic(type.fqn, ctx); + const cls = schemaForPolymorphic(type.type, ctx); if (cls) { return cls; } @@ -278,7 +278,7 @@ export function schemaForInterface(type: jsiiReflect.Type | undefined, ctx: Sche return undefined; // skip } - if (type.getMethods(true).length > 0) { + if (type.allMethods.length > 0) { return undefined; } @@ -290,15 +290,15 @@ export function schemaForInterface(type: jsiiReflect.Type | undefined, ctx: Sche const properties: any = {}; const required = new Array(); - for (const prop of type.getProperties(/* inherit */ true)) { + for (const prop of type.allProperties) { - ctx = ifctx.child(prop.type.optional ? 'optional' : 'required' + ' property', prop.name); + ctx = ifctx.child(prop.optional ? 'optional' : 'required' + ' property', prop.name); const schema = schemaForTypeReference(prop.type, ctx); if (!schema) { // if prop is not serializable but optional, we can still serialize // but without this property. - if (prop.type.optional) { + if (prop.optional) { ctx.warning(`optional proprety omitted because it cannot be schematized`); continue; } @@ -310,12 +310,12 @@ export function schemaForInterface(type: jsiiReflect.Type | undefined, ctx: Sche properties[prop.name] = schema; - const docstring = prop.docs.docs.comment; + const docstring = prop.docs.toString(); if (docstring) { properties[prop.name].description = docstring; } - if (!prop.type.optional) { + if (!prop.optional) { required.push(prop.name); } } @@ -376,7 +376,7 @@ function schemaForEnumLikeClass(type: jsiiReflect.Type | undefined, ctx: SchemaC }); } -function methodSchema(method: jsiiReflect.Method, ctx: SchemaContext) { +function methodSchema(method: jsiiReflect.Callable, ctx: SchemaContext) { ctx = ctx.child('method', method.name); const fqn = `${method.parentType.fqn}.${method.name}`; @@ -387,19 +387,19 @@ function methodSchema(method: jsiiReflect.Method, ctx: SchemaContext) { const properties: any = { }; const required = new Array(); - const addProperty = (name: string, type: jsiiReflect.TypeReference): void => { - const param = schemaForTypeReference(type, ctx); + const addProperty = (prop: jsiiReflect.Property | jsiiReflect.Parameter): void => { + const param = schemaForTypeReference(prop.type, ctx); // bail out - can't serialize a required parameter, so we can't serialize the method - if (!param && !type.optional) { + if (!param && !prop.optional) { ctx.error(`cannot schematize method because parameter cannot be schematized`); return undefined; } - properties[name] = param; + properties[prop.name] = param; - if (!type.optional) { - required.push(name); + if (!prop.optional) { + required.push(prop.name); } }; @@ -408,15 +408,15 @@ function methodSchema(method: jsiiReflect.Method, ctx: SchemaContext) { methodctx.child('param', p.name); // if this is the last parameter and it's a data type, treat as keyword arguments - if (i === method.parameters.length - 1 && isDataType(p.type.fqn)) { - const kwargs = schemaForInterface(p.type.fqn, ctx); + if (i === method.parameters.length - 1 && isDataType(p.type.type)) { + const kwargs = schemaForInterface(p.type.type, ctx); if (kwargs) { - for (const prop of p.type.fqn.getProperties(true)) { - addProperty(prop.name, prop.type); + for (const prop of p.type.type.allProperties) { + addProperty(prop); } } } else { - addProperty(p.name, p.type); + addProperty(p); } } @@ -451,8 +451,8 @@ export function isSerializableTypeReference(type: jsiiReflect.TypeReference, err return isSerializableTypeReference(type.mapOfType, errorPrefix); } - if (type.fqn) { - return isSerializableType(type.fqn, errorPrefix); + if (type.type) { + return isSerializableType(type.type, errorPrefix); } if (type.unionOfTypes) { @@ -498,14 +498,14 @@ export function isSerializableInterface(type: jsiiReflect.Type | undefined, erro return false; } - if (type.getMethods(true).length > 0) { + if (type.allMethods.length > 0) { return false; } - return type.getProperties(true).every(p => + return type.allProperties.every(p => isSerializableTypeReference(p.type, errorPrefix) || isConstruct(p.type) - || p.type.optional); + || p.optional); } function isEnum(type: jsiiReflect.Type): type is jsiiReflect.EnumType { @@ -525,11 +525,11 @@ export function isEnumLikeClass(cls: jsiiReflect.Type | undefined): cls is jsiiR } export function enumLikeClassMethods(cls: jsiiReflect.ClassType) { - return cls.getMethods(true).filter(m => m.static && m.returns && m.returns.fqn && extendsType(m.returns.fqn, cls)); + return cls.allMethods.filter(m => m.static && m.returns && m.returns.type.type && extendsType(m.returns.type.type, cls)); } export function enumLikeClassProperties(cls: jsiiReflect.ClassType) { - return cls.getProperties(true).filter(p => p.static && p.type.fqn && extendsType(p.type.fqn, cls)); + return cls.allProperties.filter(p => p.static && p.type.type && extendsType(p.type.type, cls)); } export function extendsType(derived: jsiiReflect.Type, base: jsiiReflect.Type) { @@ -566,8 +566,8 @@ export function isConstruct(typeOrTypeRef: jsiiReflect.TypeReference | jsiiRefle return typeOrTypeRef.unionOfTypes.some(x => isConstruct(x)); } - if (typeOrTypeRef.fqn) { - type = typeOrTypeRef.fqn; + if (typeOrTypeRef.type) { + type = typeOrTypeRef.type; } else { return false; } diff --git a/packages/decdk/lib/util.ts b/packages/decdk/lib/util.ts index 99a313e3e9603..1ff1029c724f8 100644 --- a/packages/decdk/lib/util.ts +++ b/packages/decdk/lib/util.ts @@ -12,7 +12,7 @@ export async function readTemplate(templateFile: string) { return template; } -export async function loadTypeSystem() { +export async function loadTypeSystem(validate = true) { const typeSystem = new jsiiReflect.TypeSystem(); const packageJson = require('../package.json'); @@ -21,7 +21,7 @@ export async function loadTypeSystem() { if (!fs.existsSync(path.resolve(jsiiModuleDir, '.jsii'))) { continue; } - await typeSystem.load(jsiiModuleDir); + await typeSystem.load(jsiiModuleDir, { validate }); } return typeSystem; diff --git a/packages/decdk/package-lock.json b/packages/decdk/package-lock.json index cdb7328c8fbb4..7359a665ebacd 100644 --- a/packages/decdk/package-lock.json +++ b/packages/decdk/package-lock.json @@ -1,6 +1,6 @@ { "name": "decdk", - "version": "0.27.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2746,65 +2746,76 @@ "dev": true }, "jsii": { - "version": "0.7.15", - "resolved": "https://registry.npmjs.org/jsii/-/jsii-0.7.15.tgz", - "integrity": "sha512-J49txVIwIo+Re0HqP5v6LPnR5VSamg8ygjzUhDAMkpiGM5wk61+bexvndH+e1Q5o/EYkgQlLju3wJdI7bw7cmw==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/jsii/-/jsii-0.10.0.tgz", + "integrity": "sha512-51JdGnVHIxt85RN4GGF1mHXa/0LWQt1ASnrUynOWmSvg7oTelVRB0xmPSzUtA7DBTGudbCDJs0yoUZHvSWEoCQ==", "dev": true, "requires": { "case": "^1.6.1", "colors": "^1.3.3", "deep-equal": "^1.0.1", "fs-extra": "^7.0.1", - "jsii-spec": "^0.7.15", + "jsii-spec": "^0.10.0", "log4js": "^4.0.2", "semver": "^5.6.0", "sort-json": "^2.0.0", "spdx-license-list": "^5.0.0", - "typescript": "^3.3.3333", - "yargs": "^12.0.5" + "typescript": "^3.4.2", + "yargs": "^13.2.2" }, "dependencies": { - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true }, "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", + "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", "dev": true, "requires": { "cliui": "^4.0.0", - "decamelize": "^1.2.0", "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^3.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" + "y18n": "^4.0.0", + "yargs-parser": "^13.0.0" + } + }, + "yargs-parser": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", + "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } }, "jsii-reflect": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-0.8.0.tgz", - "integrity": "sha512-rK6syj+Usm+rFzVSBM3FCT7ThzYUWck1YWyI+eDV1ffOjnh7rSG4NvUK3VcA+/IZ+DmJ/sPGnnTJ9w9XjZ7/2g==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-0.10.0.tgz", + "integrity": "sha512-ggHE2Lg5/icxktO/r/POMYedPxF8OwN11gpdrozxdTiGMgsPmo8lyu0jIxkO8SfsrK+QeN6hjMmYb5KlUCameA==", "requires": { "colors": "^1.3.3", "fs-extra": "^7.0.1", - "jsii-spec": "^0.8.0", - "oo-ascii-tree": "^0.8.0", + "jsii-spec": "^0.10.0", + "oo-ascii-tree": "^0.10.0", "yargs": "^13.2.1" }, "dependencies": { @@ -2814,9 +2825,9 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "jsii-spec": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/jsii-spec/-/jsii-spec-0.8.0.tgz", - "integrity": "sha512-vkPtZKE36nwKsJ9MfVmmy4tjRJ5rb/dVemCYGkmJ5+xX88BzxZCfHfhdbB3rEAMQPt5KKXc9aV/OrF1m6pc5HQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/jsii-spec/-/jsii-spec-0.10.0.tgz", + "integrity": "sha512-4DWD12FcMnh+JOZWN48obxQ0swAh7zKN51MQi3aVWc/k/t6zcmTVlM3upzE2Mhp9b0x514zngizi0Exs8H1xxQ==", "requires": { "jsonschema": "^1.2.4" } @@ -2856,9 +2867,9 @@ } }, "jsii-spec": { - "version": "0.7.15", - "resolved": "https://registry.npmjs.org/jsii-spec/-/jsii-spec-0.7.15.tgz", - "integrity": "sha512-OytA5XH4EvhJXTEac9h8ugqEosg9GZcqsIYQEzIi6zD44gjjIIPSbfyL8X70Z1dR3hlVNz7NdbTrxI88+X+h/w==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/jsii-spec/-/jsii-spec-0.10.0.tgz", + "integrity": "sha512-4DWD12FcMnh+JOZWN48obxQ0swAh7zKN51MQi3aVWc/k/t6zcmTVlM3upzE2Mhp9b0x514zngizi0Exs8H1xxQ==", "dev": true, "requires": { "jsonschema": "^1.2.4" @@ -2998,22 +3009,22 @@ "dev": true }, "log4js": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.0.2.tgz", - "integrity": "sha512-KE7HjiieVDPPdveA3bJZSuu0n8chMkFl8mIoisBFxwEJ9FmXe4YzNuiqSwYUiR1K8q8/5/8Yd6AClENY1RA9ww==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.1.0.tgz", + "integrity": "sha512-eDa+zZPeVEeK6QGJAePyXM6pg4P3n3TO5rX9iZMVY48JshsTyLJZLIL5HipI1kQ2qLsSyOpUqNND/C5H4WhhiA==", "dev": true, "requires": { "date-format": "^2.0.0", - "debug": "^3.1.0", + "debug": "^4.1.1", "flatted": "^2.0.0", "rfdc": "^1.1.2", - "streamroller": "^1.0.1" + "streamroller": "^1.0.4" }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { "ms": "^2.1.1" @@ -3365,9 +3376,9 @@ } }, "oo-ascii-tree": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-0.8.0.tgz", - "integrity": "sha512-NAE24C9mESzpHJsT92kA9+cdBD0FvPO2XNKxPonn2iZ2kPlcQ0V0N+Vytrfv5RNg3iVgV0ep7Ac0RSy26w++Ag==" + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-0.10.0.tgz", + "integrity": "sha512-NSjMeRTb83046XyDcPKpqSmos1TDbvJKSSJaQtEXev/3T1KkK3R4fhmNF5OVCMd7zDmEq6a7ekfiVX2pYf7MWw==" }, "optimist": { "version": "0.6.1", @@ -4082,14 +4093,6 @@ "detect-indent": "^5.0.0", "detect-newline": "^2.1.0", "minimist": "^1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } } }, "source-map": { @@ -4231,9 +4234,9 @@ "dev": true }, "streamroller": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.3.tgz", - "integrity": "sha512-P7z9NwP51EltdZ81otaGAN3ob+/F88USJE546joNq7bqRNTe6jc74fTBDyynxP4qpIfKlt/CesEYicuMzI0yJg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.4.tgz", + "integrity": "sha512-Wc2Gm5ygjSX8ZpW9J7Y9FwiSzTlKSvcl0FTTMd3rn7RoxDXpBW+xD9TY5sWL2n0UR61COB0LG1BQvN6nTUQbLQ==", "dev": true, "requires": { "async": "^2.6.1", @@ -4454,9 +4457,9 @@ } }, "typescript": { - "version": "3.3.3333", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.3333.tgz", - "integrity": "sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.3.tgz", + "integrity": "sha512-FFgHdPt4T/duxx6Ndf7hwgMZZjZpB+U0nMNGVCYPq0rEzWKjEDobm4J6yb3CS7naZ0yURFqdw9Gwc7UOh/P9oQ==", "dev": true }, "uglify-js": { diff --git a/packages/decdk/package.json b/packages/decdk/package.json index d3175398d409c..b6913183cedae 100644 --- a/packages/decdk/package.json +++ b/packages/decdk/package.json @@ -126,7 +126,7 @@ "@aws-cdk/region-info": "^0.28.0", "@aws-cdk/runtime-values": "^0.28.0", "fs-extra": "^7.0.1", - "jsii-reflect": "^0.8.0", + "jsii-reflect": "^0.10.0", "jsonschema": "^1.2.4", "yaml": "1.3.2", "yargs": "^13.1.0" @@ -137,7 +137,7 @@ "@types/yaml": "1.0.1", "@types/yargs": "^12.0.8", "jest": "^24.4.0", - "jsii": "^0.7.15" + "jsii": "^0.10.0" }, "keywords": [ "aws", diff --git a/packages/decdk/test/fixture/index.ts b/packages/decdk/test/fixture/index.ts index 0e6da40217e57..96e95092a170c 100644 --- a/packages/decdk/test/fixture/index.ts +++ b/packages/decdk/test/fixture/index.ts @@ -5,31 +5,31 @@ export interface InterfaceWithPrimitives { /** * A property of type number. */ - numberProperty: number; + readonly numberProperty: number; /** * A property of type string. */ - stringProperty: string; + readonly stringProperty: string; /** * Array of strings. */ - arrayOfStrings: string[]; + readonly arrayOfStrings: string[]; /** * Optional boolean */ - optionalBoolean?: boolean; + readonly optionalBoolean?: boolean; // // intentionally left blank (to check that description is omitted) // - mapOfNumbers: { [key: string]: number } + readonly mapOfNumbers: { [key: string]: number } } export enum MyNormalEnum { EnumMember1, EnumMember2, EnumMember3 -} \ No newline at end of file +} diff --git a/packages/decdk/test/fixture/tsconfig.json b/packages/decdk/test/fixture/tsconfig.json index 2b3bd2b10172f..bae30fba4645c 100644 --- a/packages/decdk/test/fixture/tsconfig.json +++ b/packages/decdk/test/fixture/tsconfig.json @@ -1,34 +1,36 @@ { - "compilerOptions": { - "alwaysStrict": true, - "charset": "utf8", - "declaration": true, - "experimentalDecorators": true, - "inlineSourceMap": true, - "inlineSources": true, - "lib": [ - "es2016", - "es2017.object", - "es2017.string" - ], - "module": "CommonJS", - "noEmitOnError": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "resolveJsonModule": true, - "strict": true, - "strictNullChecks": true, - "target": "ES2018" - }, - "include": [ - "**/*.ts" + "compilerOptions": { + "alwaysStrict": true, + "charset": "utf8", + "declaration": true, + "experimentalDecorators": true, + "inlineSourceMap": true, + "inlineSources": true, + "lib": [ + "es2016", + "es2017.object", + "es2017.string" ], - "exclude": [ - "node_modules" - ], - "_generated_by_jsii_": "Generated by jsii - safe to delete, and ideally should be in .gitignore" + "module": "CommonJS", + "noEmitOnError": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "resolveJsonModule": true, + "strict": true, + "strictNullChecks": true, + "strictPropertyInitialization": false, + "stripInternal": true, + "target": "ES2018" + }, + "include": [ + "**/*.ts" + ], + "exclude": [ + "node_modules" + ], + "_generated_by_jsii_": "Generated by jsii - safe to delete, and ideally should be in .gitignore" } diff --git a/packages/decdk/test/schema.test.ts b/packages/decdk/test/schema.test.ts index 50eefb6a40f26..c4a9c4613a82a 100644 --- a/packages/decdk/test/schema.test.ts +++ b/packages/decdk/test/schema.test.ts @@ -1,10 +1,8 @@ -import { exec as execAsync } from 'child_process'; +import { spawn as spawnAsync, SpawnOptions } from 'child_process'; import reflect = require('jsii-reflect'); import path = require('path'); -import { promisify } from 'util'; import { SchemaContext, schemaForInterface } from '../lib/jsii2schema'; -const exec = promisify(execAsync); const fixturedir = path.join(__dirname, 'fixture'); // tslint:disable:no-console @@ -15,11 +13,12 @@ jest.setTimeout(10_000); let typesys: reflect.TypeSystem; beforeAll(async () => { + typesys = new reflect.TypeSystem(); + // jsii-compile the fixtures module - await exec(require.resolve('jsii/bin/jsii'), { cwd: fixturedir }); + await spawn(require.resolve('jsii/bin/jsii'), { cwd: fixturedir, }); // load the resulting file system - typesys = new reflect.TypeSystem(); await typesys.loadFile(path.join(fixturedir, '.jsii')); await typesys.load(path.dirname(require.resolve('@aws-cdk/cdk/.jsii'))); }); @@ -59,7 +58,7 @@ test('schemaForInterface: interface with primitives', async () => { }, optionalBoolean: { type: 'boolean', - description: 'Optional boolean' + description: 'Optional boolean.' } }, required: [ @@ -72,3 +71,21 @@ test('schemaForInterface: interface with primitives', async () => { } }); }); + +/** + * Version of spawn() that returns a promise + * + * Need spawn() so that we can set stdio to inherit so that any jsii errors + * are propagated outwards. + */ +function spawn(command: string, options: SpawnOptions | undefined) { + return new Promise((resolve, reject) => { + const cp = spawnAsync(command, { stdio: 'inherit', ...options }); + + cp.on('error', reject); + cp.on('exit', (code) => { + if (code === 0) { resolve(); } + reject(new Error(`Subprocess exited with ${code}`)); + }); + }); +} diff --git a/packages/decdk/test/synth.test.ts b/packages/decdk/test/synth.test.ts index e1f11b72f6896..28324dd00d9d5 100644 --- a/packages/decdk/test/synth.test.ts +++ b/packages/decdk/test/synth.test.ts @@ -1,14 +1,34 @@ import cdk = require('@aws-cdk/cdk'); import fs = require('fs'); +import reflect = require('jsii-reflect'); import path = require('path'); import { DeclarativeStack, loadTypeSystem, readTemplate, stackNameFromFileName } from '../lib'; +const VALIDATE_ASSEMBLIES = true; + const dir = path.join(__dirname, '..', 'examples'); +if (VALIDATE_ASSEMBLIES) { + // With validation loading all assemblies takes 10s on my machine. + // Without validation it's 600ms. + // + // Add a big margin for slower machines in case validation is enabled. + jest.setTimeout(60 * 1000); +} + +let _cachedTS: reflect.TypeSystem; +async function obtainTypeSystem() { + // Load the typesystem only once, it's quite expensive + if (!_cachedTS) { + _cachedTS = await loadTypeSystem(VALIDATE_ASSEMBLIES); + } + return _cachedTS; +} + for (const templateFile of fs.readdirSync(dir)) { test(templateFile, async () => { const template = await readTemplate(path.resolve(dir, templateFile)); - const typeSystem = await loadTypeSystem(); + const typeSystem = await obtainTypeSystem(); const app = new cdk.App(); const stackName = stackNameFromFileName(templateFile); diff --git a/packages/simple-resource-bundler/package-lock.json b/packages/simple-resource-bundler/package-lock.json index 045577385fa86..a4a303b7a9e8c 100644 --- a/packages/simple-resource-bundler/package-lock.json +++ b/packages/simple-resource-bundler/package-lock.json @@ -1,6 +1,6 @@ { "name": "simple-resource-bundler", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/tools/awslint/lib/cfn-resources.ts b/tools/awslint/lib/cfn-resources.ts index b9e725e819572..5707058b0dcf2 100644 --- a/tools/awslint/lib/cfn-resources.ts +++ b/tools/awslint/lib/cfn-resources.ts @@ -36,14 +36,14 @@ export function findCfnResources(assembly: reflect.Assembly): CfnResourceSpec[] return assembly.classes.filter(c => isCfnResource(c)).map(layer1 => { const basename = layer1.name.substr('Cfn'.length); - const doc = layer1.docs.docs.link || ''; + const docLink = layer1.docs.docs.see || ''; // HACK: extract full CFN name from initializer docs - const initializerDoc = (layer1.initializer && layer1.initializer.docs.docs.comment) || ''; + const initializerDoc = (layer1.initializer && layer1.initializer.docs.docs.summary) || ''; const out = /a new `([^`]+)`/.exec(initializerDoc); const fullname = out && out[1]; if (!fullname) { - throw new Error('Unable to extract CloudFormation resource name from initializer documentation'); + throw new Error(`Unable to extract CloudFormation resource name from initializer documentation of ${layer1}`); } const namespace = fullname.split('::').slice(0, 2).join('::'); @@ -51,7 +51,7 @@ export function findCfnResources(assembly: reflect.Assembly): CfnResourceSpec[] const resource: CfnResourceSpec = { namespace, fullname, - doc, + doc: docLink, basename, attributes: parseResourceAttributes(layer1) }; @@ -60,7 +60,7 @@ export function findCfnResources(assembly: reflect.Assembly): CfnResourceSpec[] }); function parseResourceAttributes(cfnResourceClass: reflect.ClassType) { - return cfnResourceClass.properties.filter(p => p.docs.docs.cloudformation_attribute).map(p => p.name); + return cfnResourceClass.ownProperties.filter(p => (p.docs.docs.custom || {}).cloudformationAttribute).map(p => p.name); } function isCfnResource(c: reflect.ClassType) { diff --git a/tools/awslint/lib/linter.ts b/tools/awslint/lib/linter.ts index 0e80795e3e1d2..04751e36a137b 100644 --- a/tools/awslint/lib/linter.ts +++ b/tools/awslint/lib/linter.ts @@ -122,10 +122,10 @@ export class Evaluation { return this.assert(a.toString() === e.toString(), scope, ` (expected="${e}",actual="${a}")`); } - public assertSignature(method: reflect.Method, expectations: MethodSignatureExpectations) { + public assertSignature(method: reflect.Callable, expectations: MethodSignatureExpectations) { const scope = method.parentType.fqn + '.' + method.name; - if (expectations.returns) { - this.assertTypesEqual(method.system, method.returns, expectations.returns, scope); + if (expectations.returns && reflect.Method.isMethod(method)) { + this.assertTypesEqual(method.system, method.returns.type, expectations.returns, scope); } if (expectations.parameters) { diff --git a/tools/awslint/lib/rules/resource.ts b/tools/awslint/lib/rules/resource.ts index bc59f7efaad3c..0b8cea2ff738f 100644 --- a/tools/awslint/lib/rules/resource.ts +++ b/tools/awslint/lib/rules/resource.ts @@ -115,7 +115,7 @@ resourceLinter.add({ // verify that the interface has all attributes as readonly properties const resourceAttributes = new Array(); for (const attr of e.ctx.resource.attributes) { - const attribute: reflect.Property | undefined = e.ctx.resourceInterface.properties.find(p => p.name === attr); + const attribute: reflect.Property | undefined = e.ctx.resourceInterface.ownProperties.find(p => p.name === attr); const scope: string = e.ctx.resourceInterface.fqn + '.' + attr; if (e.assert(attribute, scope)) { resourceAttributes.push(attribute); @@ -145,7 +145,7 @@ resourceLinter.add({ if (!e.ctx.resourceInterface) { return; } if (!e.ctx.importPropsInterface) { return; } - const importMethod = e.ctx.resourceClass.methods.find(m => m.static && m.name === 'import'); + const importMethod = e.ctx.resourceClass.ownMethods.find(m => m.static && m.name === 'import'); if (!e.assert(importMethod, e.ctx.resourceClass.fqn)) { return; } @@ -167,7 +167,7 @@ resourceLinter.add({ eval: e => { if (!e.ctx.resourceInterface) { return; } - const exportMethod = e.ctx.resourceInterface.methods.find(m => m.name === 'export'); + const exportMethod = e.ctx.resourceInterface.ownMethods.find(m => m.name === 'export'); if (!e.assert(exportMethod, e.ctx.resourceInterface.fqn)) { return; } @@ -188,7 +188,7 @@ resourceLinter.add({ if (!e.ctx.resourceClass) { return; } const grantResultType = e.ctx.ts.findFqn(GRANT_RESULT_FQN); - const grantMethods = e.ctx.resourceClass.getMethods(true).filter(m => m.name.startsWith('grant')); + const grantMethods = e.ctx.resourceClass.allMethods.filter(m => m.name.startsWith('grant')); for (const grantMethod of grantMethods) { e.assertSignature(grantMethod, { diff --git a/tools/awslint/package-lock.json b/tools/awslint/package-lock.json index 8f012af8ca82a..b1ad79a602ba9 100644 --- a/tools/awslint/package-lock.json +++ b/tools/awslint/package-lock.json @@ -1,6 +1,6 @@ { "name": "awslint", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -411,21 +411,21 @@ } }, "jsii-reflect": { - "version": "0.7.15", - "resolved": "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-0.7.15.tgz", - "integrity": "sha512-ZY/1utHln83ly1UscerO93O+O4b5ZFaMlZDO1S+4wvhYs2yLxjLMhgzToHXdLiy1ja9hXqFpSBVDpUKB2sC9rA==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-0.10.0.tgz", + "integrity": "sha512-ggHE2Lg5/icxktO/r/POMYedPxF8OwN11gpdrozxdTiGMgsPmo8lyu0jIxkO8SfsrK+QeN6hjMmYb5KlUCameA==", "requires": { "colors": "^1.3.3", "fs-extra": "^7.0.1", - "jsii-spec": "^0.7.15", - "oo-ascii-tree": "^0.7.15", + "jsii-spec": "^0.10.0", + "oo-ascii-tree": "^0.10.0", "yargs": "^13.2.1" } }, "jsii-spec": { - "version": "0.7.15", - "resolved": "https://registry.npmjs.org/jsii-spec/-/jsii-spec-0.7.15.tgz", - "integrity": "sha512-OytA5XH4EvhJXTEac9h8ugqEosg9GZcqsIYQEzIi6zD44gjjIIPSbfyL8X70Z1dR3hlVNz7NdbTrxI88+X+h/w==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/jsii-spec/-/jsii-spec-0.10.0.tgz", + "integrity": "sha512-4DWD12FcMnh+JOZWN48obxQ0swAh7zKN51MQi3aVWc/k/t6zcmTVlM3upzE2Mhp9b0x514zngizi0Exs8H1xxQ==", "requires": { "jsonschema": "^1.2.4" } @@ -534,9 +534,9 @@ } }, "oo-ascii-tree": { - "version": "0.7.15", - "resolved": "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-0.7.15.tgz", - "integrity": "sha512-fMGG/Ns+kMO9def/XmzhH2M7X4Z0/BFJBTjo36puDjG6tieLIdgu+38yvTS3/PCV/JUr0v37ZrXOh/Hu/yX2Jg==" + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-0.10.0.tgz", + "integrity": "sha512-NSjMeRTb83046XyDcPKpqSmos1TDbvJKSSJaQtEXev/3T1KkK3R4fhmNF5OVCMd7zDmEq6a7ekfiVX2pYf7MWw==" }, "os-locale": { "version": "3.1.0", diff --git a/tools/awslint/package.json b/tools/awslint/package.json index 3fdbd6482e69a..4623bb8da6916 100644 --- a/tools/awslint/package.json +++ b/tools/awslint/package.json @@ -16,7 +16,8 @@ "dependencies": { "colors": "^1.3.3", "fs-extra": "^7.0.1", - "jsii-reflect": "^0.7.15", + "jsii-reflect": "^0.10.0", + "jsii-spec": "^0.10.0", "yargs": "^13.2.1" }, "devDependencies": { diff --git a/tools/cdk-build-tools/package-lock.json b/tools/cdk-build-tools/package-lock.json index e716f752a5427..109f6ea09a874 100644 --- a/tools/cdk-build-tools/package-lock.json +++ b/tools/cdk-build-tools/package-lock.json @@ -1,6 +1,6 @@ { "name": "cdk-build-tools", - "version": "0.27.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -973,13 +973,20 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "codemaker": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/codemaker/-/codemaker-0.8.2.tgz", - "integrity": "sha512-agUY157vcCXFnJ9gDM8/iKbq62PWHkccnztbeuS1NZ8Pm9Z13Z9FHMuXWrh/zOQjggXpr5y3pPBpCHOlDYnHLw==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/codemaker/-/codemaker-0.10.0.tgz", + "integrity": "sha512-yvapbLsDM2PCSqfDRKjzJfrS6najsyMil6SHJNPtq0aC9Hfjm4zKwjE5jkLSeb86hte38czlZiY6PR15hcR8eA==", "requires": { - "camelcase": "^5.2.0", + "camelcase": "^5.3.1", "decamelize": "^1.2.0", "fs-extra": "^7.0.1" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + } } }, "collection-visit": { @@ -2642,42 +2649,49 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, "jsii": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/jsii/-/jsii-0.8.2.tgz", - "integrity": "sha512-VbRwBFWlmWDoiNoNreX96ii37LEwviFvfSyTY37tMZFXs8QSG5NIrR66JmNaF/ejbQpubqAKxW/Nb/YWCqhRbg==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/jsii/-/jsii-0.10.0.tgz", + "integrity": "sha512-51JdGnVHIxt85RN4GGF1mHXa/0LWQt1ASnrUynOWmSvg7oTelVRB0xmPSzUtA7DBTGudbCDJs0yoUZHvSWEoCQ==", "requires": { "case": "^1.6.1", "colors": "^1.3.3", "deep-equal": "^1.0.1", "fs-extra": "^7.0.1", - "jsii-spec": "^0.8.2", + "jsii-spec": "^0.10.0", "log4js": "^4.0.2", "semver": "^5.6.0", "sort-json": "^2.0.0", "spdx-license-list": "^5.0.0", - "typescript": "^3.3.3333", + "typescript": "^3.4.2", "yargs": "^13.2.2" + }, + "dependencies": { + "typescript": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.3.tgz", + "integrity": "sha512-FFgHdPt4T/duxx6Ndf7hwgMZZjZpB+U0nMNGVCYPq0rEzWKjEDobm4J6yb3CS7naZ0yURFqdw9Gwc7UOh/P9oQ==" + } } }, "jsii-pacmak": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-0.8.2.tgz", - "integrity": "sha512-guqjntPr9uVkGGR+4fAralIoHpPsdCLsQsDf7Kh3GCRjgLn20JeHBgv4vT6Wym0nqjqL/5fY4nsXI/9w/OVZ0A==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-0.10.0.tgz", + "integrity": "sha512-vOIEI+e7HtQJPaQprfnhflkA+9mgzMWdQwZS/eYmEEgADWUtk2Cq9LnkHnW1+OpMLnr4Yw+/o6CfbH+dUZRk0Q==", "requires": { "clone": "^2.1.2", - "codemaker": "^0.8.2", + "codemaker": "^0.10.0", "escape-string-regexp": "^1.0.5", "fs-extra": "^7.0.1", - "jsii-spec": "^0.8.2", + "jsii-spec": "^0.10.0", "spdx-license-list": "^5.0.0", "xmlbuilder": "^11.0.0", "yargs": "^13.2.2" } }, "jsii-spec": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/jsii-spec/-/jsii-spec-0.8.2.tgz", - "integrity": "sha512-eDL96xDOMwk5tzSBqbOi1Hh17Y42eLyovoo4CEcwaHpBRR0mSccPyjXyjAEWJVMg1yyA2UEX0DrPgJa2yY7oeQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/jsii-spec/-/jsii-spec-0.10.0.tgz", + "integrity": "sha512-4DWD12FcMnh+JOZWN48obxQ0swAh7zKN51MQi3aVWc/k/t6zcmTVlM3upzE2Mhp9b0x514zngizi0Exs8H1xxQ==", "requires": { "jsonschema": "^1.2.4" } diff --git a/tools/cdk-build-tools/package.json b/tools/cdk-build-tools/package.json index ff178dabcffca..ef451902ab955 100644 --- a/tools/cdk-build-tools/package.json +++ b/tools/cdk-build-tools/package.json @@ -37,10 +37,11 @@ "awslint": "^0.28.0", "fs-extra": "^7.0.1", "jest": "^24.4.0", - "jsii": "^0.8.2", - "jsii-pacmak": "^0.8.2", + "jsii": "^0.10.0", + "jsii-pacmak": "^0.10.0", "nodeunit": "^0.11.3", "nyc": "^13.3.0", + "pkglint": "^0.28.0", "ts-jest": "^24.0.0", "tslint": "^5.13.1", "typescript": "^3.3.3333", diff --git a/tools/cdk-integ-tools/package-lock.json b/tools/cdk-integ-tools/package-lock.json index 6efc3446c73ff..aac3624f09314 100644 --- a/tools/cdk-integ-tools/package-lock.json +++ b/tools/cdk-integ-tools/package-lock.json @@ -1,6 +1,6 @@ { "name": "cdk-integ-tools", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/tools/cfn2ts/package-lock.json b/tools/cfn2ts/package-lock.json index 40b48c88c01d6..37359a929974d 100644 --- a/tools/cfn2ts/package-lock.json +++ b/tools/cfn2ts/package-lock.json @@ -1,6 +1,6 @@ { "name": "cfn2ts", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/tools/pkglint/package-lock.json b/tools/pkglint/package-lock.json index f5745c72cd588..f8221336d5614 100644 --- a/tools/pkglint/package-lock.json +++ b/tools/pkglint/package-lock.json @@ -1,6 +1,6 @@ { "name": "pkglint", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/tools/pkgtools/package-lock.json b/tools/pkgtools/package-lock.json index 6d6923ab2fbd9..783d493d87bc8 100644 --- a/tools/pkgtools/package-lock.json +++ b/tools/pkgtools/package-lock.json @@ -1,6 +1,6 @@ { "name": "pkgtools", - "version": "0.26.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": {