diff --git a/packages/@aws-cdk/assets/package.json b/packages/@aws-cdk/assets/package.json index c49caff605aff..f84ffee4600cf 100644 --- a/packages/@aws-cdk/assets/package.json +++ b/packages/@aws-cdk/assets/package.json @@ -14,6 +14,12 @@ "artifactId": "cdk-assets" } }, + "dotnet": { + "namespace": "Amazon.CDK.Assets", + "packageId": "Amazon.CDK.Assets", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-apigateway/package.json b/packages/@aws-cdk/aws-apigateway/package.json index 5670f75631835..f1108afc7ea6c 100644 --- a/packages/@aws-cdk/aws-apigateway/package.json +++ b/packages/@aws-cdk/aws-apigateway/package.json @@ -14,6 +14,12 @@ "artifactId": "apigateway" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.APIGateway", + "packageId": "Amazon.CDK.AWS.APIGateway", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-applicationautoscaling/package.json b/packages/@aws-cdk/aws-applicationautoscaling/package.json index 2a17281776d42..24cb0946b0137 100644 --- a/packages/@aws-cdk/aws-applicationautoscaling/package.json +++ b/packages/@aws-cdk/aws-applicationautoscaling/package.json @@ -14,6 +14,12 @@ "artifactId": "applicationautoscaling" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.ApplicationAutoScaling", + "packageId": "Amazon.CDK.AWS.ApplicationAutoScaling", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-appsync/package.json b/packages/@aws-cdk/aws-appsync/package.json index 315794105d2f2..0805b63be92c0 100644 --- a/packages/@aws-cdk/aws-appsync/package.json +++ b/packages/@aws-cdk/aws-appsync/package.json @@ -14,6 +14,12 @@ "artifactId": "appsync" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.AppSync", + "packageId": "Amazon.CDK.AWS.AppSync", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-athena/package.json b/packages/@aws-cdk/aws-athena/package.json index c4787a4e1cb7c..44919e573cb3c 100644 --- a/packages/@aws-cdk/aws-athena/package.json +++ b/packages/@aws-cdk/aws-athena/package.json @@ -14,6 +14,12 @@ "artifactId": "athena" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Athena", + "packageId": "Amazon.CDK.AWS.Athena", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-autoscaling/package.json b/packages/@aws-cdk/aws-autoscaling/package.json index d5d132ceab7c6..b9d497d639888 100644 --- a/packages/@aws-cdk/aws-autoscaling/package.json +++ b/packages/@aws-cdk/aws-autoscaling/package.json @@ -14,6 +14,12 @@ "artifactId": "autoscaling" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.AutoScaling", + "packageId": "Amazon.CDK.AWS.AutoScaling", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-autoscalingplans/package.json b/packages/@aws-cdk/aws-autoscalingplans/package.json index 5c74515f3adc4..bc4b0e340678c 100644 --- a/packages/@aws-cdk/aws-autoscalingplans/package.json +++ b/packages/@aws-cdk/aws-autoscalingplans/package.json @@ -14,6 +14,12 @@ "artifactId": "autoscalingplans" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.AutoScalingPlans", + "packageId": "Amazon.CDK.AWS.AutoScalingPlans", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-batch/package.json b/packages/@aws-cdk/aws-batch/package.json index ece92006d3c8e..e4b1c5a6a51a6 100644 --- a/packages/@aws-cdk/aws-batch/package.json +++ b/packages/@aws-cdk/aws-batch/package.json @@ -14,6 +14,12 @@ "artifactId": "batch" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Batch", + "packageId": "Amazon.CDK.AWS.Batch", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-budgets/package.json b/packages/@aws-cdk/aws-budgets/package.json index a5324bc311d76..048e43fde7937 100644 --- a/packages/@aws-cdk/aws-budgets/package.json +++ b/packages/@aws-cdk/aws-budgets/package.json @@ -14,6 +14,12 @@ "artifactId": "budgets" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Budgets", + "packageId": "Amazon.CDK.AWS.Budgets", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-certificatemanager/package.json b/packages/@aws-cdk/aws-certificatemanager/package.json index dc480300312f2..a5923a951b859 100644 --- a/packages/@aws-cdk/aws-certificatemanager/package.json +++ b/packages/@aws-cdk/aws-certificatemanager/package.json @@ -14,6 +14,12 @@ "artifactId": "certificatemanager" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.CertificateManager", + "packageId": "Amazon.CDK.AWS.CertificateManager", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-cloud9/package.json b/packages/@aws-cdk/aws-cloud9/package.json index d6a6205aa0116..688b95a06edce 100644 --- a/packages/@aws-cdk/aws-cloud9/package.json +++ b/packages/@aws-cdk/aws-cloud9/package.json @@ -14,6 +14,12 @@ "artifactId": "cloud9" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Cloud9", + "packageId": "Amazon.CDK.AWS.Cloud9", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-cloudformation/package.json b/packages/@aws-cdk/aws-cloudformation/package.json index d83c026aaec66..63f84c349b52b 100644 --- a/packages/@aws-cdk/aws-cloudformation/package.json +++ b/packages/@aws-cdk/aws-cloudformation/package.json @@ -14,6 +14,12 @@ "artifactId": "cloudformation" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.CloudFormation", + "packageId": "Amazon.CDK.AWS.CloudFormation", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-cloudfront/package.json b/packages/@aws-cdk/aws-cloudfront/package.json index 755f05b2cab47..a42032c4b39e5 100644 --- a/packages/@aws-cdk/aws-cloudfront/package.json +++ b/packages/@aws-cdk/aws-cloudfront/package.json @@ -14,6 +14,12 @@ "artifactId": "cloudfront" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.CloudFront", + "packageId": "Amazon.CDK.AWS.CloudFront", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-cloudtrail/package.json b/packages/@aws-cdk/aws-cloudtrail/package.json index 1a7d4b77acf9e..36ef018052deb 100644 --- a/packages/@aws-cdk/aws-cloudtrail/package.json +++ b/packages/@aws-cdk/aws-cloudtrail/package.json @@ -14,6 +14,12 @@ "artifactId": "cloudtrail" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.CloudTrail", + "packageId": "Amazon.CDK.AWS.CloudTrail", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-cloudwatch/package.json b/packages/@aws-cdk/aws-cloudwatch/package.json index 08552bd88fa63..91c19ced93125 100644 --- a/packages/@aws-cdk/aws-cloudwatch/package.json +++ b/packages/@aws-cdk/aws-cloudwatch/package.json @@ -14,6 +14,12 @@ "artifactId": "cloudwatch" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.CloudWatch", + "packageId": "Amazon.CDK.AWS.CloudWatch", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-codebuild/package.json b/packages/@aws-cdk/aws-codebuild/package.json index 58c2313f0f4b8..07cdd352cc3fb 100644 --- a/packages/@aws-cdk/aws-codebuild/package.json +++ b/packages/@aws-cdk/aws-codebuild/package.json @@ -14,6 +14,12 @@ "artifactId": "codebuild" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.CodeBuild", + "packageId": "Amazon.CDK.AWS.CodeBuild", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-codecommit/package.json b/packages/@aws-cdk/aws-codecommit/package.json index 1a94afbe6649a..6c1c6006889d7 100644 --- a/packages/@aws-cdk/aws-codecommit/package.json +++ b/packages/@aws-cdk/aws-codecommit/package.json @@ -14,6 +14,12 @@ "artifactId": "codecommit" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.CodeCommit", + "packageId": "Amazon.CDK.AWS.CodeCommit", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-codedeploy/package.json b/packages/@aws-cdk/aws-codedeploy/package.json index 908da1692e30a..256f4201ec0cd 100644 --- a/packages/@aws-cdk/aws-codedeploy/package.json +++ b/packages/@aws-cdk/aws-codedeploy/package.json @@ -14,6 +14,12 @@ "artifactId": "codedeploy" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.CodeDeploy", + "packageId": "Amazon.CDK.AWS.CodeDeploy", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-codepipeline-api/package.json b/packages/@aws-cdk/aws-codepipeline-api/package.json index e67fa2dd3d73b..3b11c26f76adf 100644 --- a/packages/@aws-cdk/aws-codepipeline-api/package.json +++ b/packages/@aws-cdk/aws-codepipeline-api/package.json @@ -14,6 +14,12 @@ "artifactId": "codepipeline-api" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Codepipeline.Api", + "packageId": "Amazon.CDK.AWS.Codepipeline.Api", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-codepipeline/package.json b/packages/@aws-cdk/aws-codepipeline/package.json index 621ba215ed725..d7a1d48413757 100644 --- a/packages/@aws-cdk/aws-codepipeline/package.json +++ b/packages/@aws-cdk/aws-codepipeline/package.json @@ -14,6 +14,12 @@ "artifactId": "codepipeline" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.CodePipeline", + "packageId": "Amazon.CDK.AWS.CodePipeline", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-cognito/package.json b/packages/@aws-cdk/aws-cognito/package.json index d8a0c4fda9344..394ef0ef941a0 100644 --- a/packages/@aws-cdk/aws-cognito/package.json +++ b/packages/@aws-cdk/aws-cognito/package.json @@ -14,6 +14,12 @@ "artifactId": "cognito" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Cognito", + "packageId": "Amazon.CDK.AWS.Cognito", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-config/package.json b/packages/@aws-cdk/aws-config/package.json index e8cc8dfdbc80e..96b9aa4b37fda 100644 --- a/packages/@aws-cdk/aws-config/package.json +++ b/packages/@aws-cdk/aws-config/package.json @@ -14,6 +14,12 @@ "artifactId": "config" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Config", + "packageId": "Amazon.CDK.AWS.Config", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-datapipeline/package.json b/packages/@aws-cdk/aws-datapipeline/package.json index 4ac01bd20fb22..d5305a9246c7c 100644 --- a/packages/@aws-cdk/aws-datapipeline/package.json +++ b/packages/@aws-cdk/aws-datapipeline/package.json @@ -14,6 +14,12 @@ "artifactId": "datapipeline" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.DataPipeline", + "packageId": "Amazon.CDK.AWS.DataPipeline", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-dax/package.json b/packages/@aws-cdk/aws-dax/package.json index 07250c7d88d46..44f7d29138fae 100644 --- a/packages/@aws-cdk/aws-dax/package.json +++ b/packages/@aws-cdk/aws-dax/package.json @@ -14,6 +14,12 @@ "artifactId": "dax" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.DAX", + "packageId": "Amazon.CDK.AWS.DAX", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-directoryservice/package.json b/packages/@aws-cdk/aws-directoryservice/package.json index fe881730225de..6eebe73f1c66b 100644 --- a/packages/@aws-cdk/aws-directoryservice/package.json +++ b/packages/@aws-cdk/aws-directoryservice/package.json @@ -14,6 +14,12 @@ "artifactId": "directoryservice" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.DirectoryService", + "packageId": "Amazon.CDK.AWS.DirectoryService", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-dms/package.json b/packages/@aws-cdk/aws-dms/package.json index e077e71332233..5ca15312645ea 100644 --- a/packages/@aws-cdk/aws-dms/package.json +++ b/packages/@aws-cdk/aws-dms/package.json @@ -14,6 +14,12 @@ "artifactId": "dms" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.DMS", + "packageId": "Amazon.CDK.AWS.DMS", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-dynamodb/package.json b/packages/@aws-cdk/aws-dynamodb/package.json index b52e07e95fd74..f8daff4db1763 100644 --- a/packages/@aws-cdk/aws-dynamodb/package.json +++ b/packages/@aws-cdk/aws-dynamodb/package.json @@ -14,6 +14,12 @@ "artifactId": "dynamodb" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.DynamoDB", + "packageId": "Amazon.CDK.AWS.DynamoDB", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-ec2/package.json b/packages/@aws-cdk/aws-ec2/package.json index 02896585ccfa6..f81e5b54fa1b5 100644 --- a/packages/@aws-cdk/aws-ec2/package.json +++ b/packages/@aws-cdk/aws-ec2/package.json @@ -14,6 +14,12 @@ "artifactId": "ec2" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.EC2", + "packageId": "Amazon.CDK.AWS.EC2", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-ecr/package.json b/packages/@aws-cdk/aws-ecr/package.json index be91cef2b48d2..95bd4746549f7 100644 --- a/packages/@aws-cdk/aws-ecr/package.json +++ b/packages/@aws-cdk/aws-ecr/package.json @@ -14,6 +14,12 @@ "artifactId": "ecr" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.ECR", + "packageId": "Amazon.CDK.AWS.ECR", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-ecs/package.json b/packages/@aws-cdk/aws-ecs/package.json index 861cf4d400b82..b91f5e98e4fcd 100644 --- a/packages/@aws-cdk/aws-ecs/package.json +++ b/packages/@aws-cdk/aws-ecs/package.json @@ -14,6 +14,12 @@ "artifactId": "ecs" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.ECS", + "packageId": "Amazon.CDK.AWS.ECS", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-efs/package.json b/packages/@aws-cdk/aws-efs/package.json index 82acfda9bbce8..2693fb7ac4081 100644 --- a/packages/@aws-cdk/aws-efs/package.json +++ b/packages/@aws-cdk/aws-efs/package.json @@ -14,6 +14,12 @@ "artifactId": "efs" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.EFS", + "packageId": "Amazon.CDK.AWS.EFS", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-eks/package.json b/packages/@aws-cdk/aws-eks/package.json index a85e1a2028360..35a05e2a2fd00 100644 --- a/packages/@aws-cdk/aws-eks/package.json +++ b/packages/@aws-cdk/aws-eks/package.json @@ -14,6 +14,12 @@ "artifactId": "eks" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.EKS", + "packageId": "Amazon.CDK.AWS.EKS", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-elasticache/package.json b/packages/@aws-cdk/aws-elasticache/package.json index 6ca05b0a97b07..72102674e8145 100644 --- a/packages/@aws-cdk/aws-elasticache/package.json +++ b/packages/@aws-cdk/aws-elasticache/package.json @@ -14,6 +14,12 @@ "artifactId": "elasticache" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.ElastiCache", + "packageId": "Amazon.CDK.AWS.ElastiCache", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-elasticbeanstalk/package.json b/packages/@aws-cdk/aws-elasticbeanstalk/package.json index 6a2a639198bf4..aa0ef42102557 100644 --- a/packages/@aws-cdk/aws-elasticbeanstalk/package.json +++ b/packages/@aws-cdk/aws-elasticbeanstalk/package.json @@ -14,6 +14,12 @@ "artifactId": "elasticbeanstalk" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.ElasticBeanstalk", + "packageId": "Amazon.CDK.AWS.ElasticBeanstalk", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-elasticloadbalancing/package.json b/packages/@aws-cdk/aws-elasticloadbalancing/package.json index 0635636e77849..4f99681d76e0a 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancing/package.json +++ b/packages/@aws-cdk/aws-elasticloadbalancing/package.json @@ -14,6 +14,12 @@ "artifactId": "elasticloadbalancing" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.ElasticLoadBalancing", + "packageId": "Amazon.CDK.AWS.ElasticLoadBalancing", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json b/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json index dd88cead20ad7..0f34bc1e97cf2 100644 --- a/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json +++ b/packages/@aws-cdk/aws-elasticloadbalancingv2/package.json @@ -14,6 +14,12 @@ "artifactId": "elasticloadbalancingv2" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.ElasticLoadBalancingV2", + "packageId": "Amazon.CDK.AWS.ElasticLoadBalancingV2", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-elasticsearch/package.json b/packages/@aws-cdk/aws-elasticsearch/package.json index c7b9bc5287db2..f0bed23f501e3 100644 --- a/packages/@aws-cdk/aws-elasticsearch/package.json +++ b/packages/@aws-cdk/aws-elasticsearch/package.json @@ -14,6 +14,12 @@ "artifactId": "elasticsearch" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Elasticsearch", + "packageId": "Amazon.CDK.AWS.Elasticsearch", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-emr/package.json b/packages/@aws-cdk/aws-emr/package.json index 74ecde77b128d..f66b113a4dd47 100644 --- a/packages/@aws-cdk/aws-emr/package.json +++ b/packages/@aws-cdk/aws-emr/package.json @@ -14,6 +14,12 @@ "artifactId": "emr" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.EMR", + "packageId": "Amazon.CDK.AWS.EMR", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-events/package.json b/packages/@aws-cdk/aws-events/package.json index 73ae2611289a1..9823c616fd69b 100644 --- a/packages/@aws-cdk/aws-events/package.json +++ b/packages/@aws-cdk/aws-events/package.json @@ -14,6 +14,12 @@ "artifactId": "events" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Events", + "packageId": "Amazon.CDK.AWS.Events", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-gamelift/package.json b/packages/@aws-cdk/aws-gamelift/package.json index 161b690602afc..605fcf8b53883 100644 --- a/packages/@aws-cdk/aws-gamelift/package.json +++ b/packages/@aws-cdk/aws-gamelift/package.json @@ -14,6 +14,12 @@ "artifactId": "gamelift" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.GameLift", + "packageId": "Amazon.CDK.AWS.GameLift", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-glue/package.json b/packages/@aws-cdk/aws-glue/package.json index d866c41a20ac2..5c272a605f046 100644 --- a/packages/@aws-cdk/aws-glue/package.json +++ b/packages/@aws-cdk/aws-glue/package.json @@ -14,6 +14,12 @@ "artifactId": "glue" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Glue", + "packageId": "Amazon.CDK.AWS.Glue", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-guardduty/package.json b/packages/@aws-cdk/aws-guardduty/package.json index fabead2f6f1dd..10447b1c691b0 100644 --- a/packages/@aws-cdk/aws-guardduty/package.json +++ b/packages/@aws-cdk/aws-guardduty/package.json @@ -14,6 +14,12 @@ "artifactId": "guardduty" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.GuardDuty", + "packageId": "Amazon.CDK.AWS.GuardDuty", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-iam/package.json b/packages/@aws-cdk/aws-iam/package.json index b9b28326e483b..388bb73ce4b3d 100644 --- a/packages/@aws-cdk/aws-iam/package.json +++ b/packages/@aws-cdk/aws-iam/package.json @@ -14,6 +14,12 @@ "artifactId": "iam" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.IAM", + "packageId": "Amazon.CDK.AWS.IAM", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-inspector/package.json b/packages/@aws-cdk/aws-inspector/package.json index 739b74b96ec31..2a07ef82a1fba 100644 --- a/packages/@aws-cdk/aws-inspector/package.json +++ b/packages/@aws-cdk/aws-inspector/package.json @@ -14,6 +14,12 @@ "artifactId": "inspector" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Inspector", + "packageId": "Amazon.CDK.AWS.Inspector", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-iot/package.json b/packages/@aws-cdk/aws-iot/package.json index f45013cfc3608..47056e5bed7a7 100644 --- a/packages/@aws-cdk/aws-iot/package.json +++ b/packages/@aws-cdk/aws-iot/package.json @@ -14,6 +14,12 @@ "artifactId": "iot" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.IoT", + "packageId": "Amazon.CDK.AWS.IoT", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-kinesis/package.json b/packages/@aws-cdk/aws-kinesis/package.json index 11f939a8ad06a..f5bc8f023b296 100644 --- a/packages/@aws-cdk/aws-kinesis/package.json +++ b/packages/@aws-cdk/aws-kinesis/package.json @@ -14,6 +14,12 @@ "artifactId": "kinesis" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Kinesis", + "packageId": "Amazon.CDK.AWS.Kinesis", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-kinesisanalytics/package.json b/packages/@aws-cdk/aws-kinesisanalytics/package.json index 09f3e18194d14..0c87c4684e871 100644 --- a/packages/@aws-cdk/aws-kinesisanalytics/package.json +++ b/packages/@aws-cdk/aws-kinesisanalytics/package.json @@ -14,6 +14,12 @@ "artifactId": "kinesisanalytics" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.KinesisAnalytics", + "packageId": "Amazon.CDK.AWS.KinesisAnalytics", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-kinesisfirehose/package.json b/packages/@aws-cdk/aws-kinesisfirehose/package.json index 596f868a2650a..4bd448f67c4b3 100644 --- a/packages/@aws-cdk/aws-kinesisfirehose/package.json +++ b/packages/@aws-cdk/aws-kinesisfirehose/package.json @@ -14,6 +14,12 @@ "artifactId": "kinesisfirehose" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.KinesisFirehose", + "packageId": "Amazon.CDK.AWS.KinesisFirehose", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-kms/package.json b/packages/@aws-cdk/aws-kms/package.json index c32783c317c53..0efe8a44d2d18 100644 --- a/packages/@aws-cdk/aws-kms/package.json +++ b/packages/@aws-cdk/aws-kms/package.json @@ -14,6 +14,12 @@ "artifactId": "kms" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.KMS", + "packageId": "Amazon.CDK.AWS.KMS", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-lambda/lib/runtime.ts b/packages/@aws-cdk/aws-lambda/lib/runtime.ts index 4163c6bc608dc..2fc7ce50a610b 100644 --- a/packages/@aws-cdk/aws-lambda/lib/runtime.ts +++ b/packages/@aws-cdk/aws-lambda/lib/runtime.ts @@ -10,6 +10,7 @@ export interface LambdaRuntimeProps { * Lambda function runtime environment. */ export class Runtime implements InlinableRuntime, InlinableJavaScriptRuntime { + /* tslint:disable variable-name */ public static readonly NodeJS = new Runtime('nodejs', { supportsInlineCode: true }) as InlinableJavaScriptRuntime; // Using ``as InlinableLambdaRuntime`` because that class cannot be defined just yet public static readonly NodeJS43 = new Runtime('nodejs4.3', { supportsInlineCode: true }) as InlinableJavaScriptRuntime; @@ -26,6 +27,7 @@ export class Runtime implements InlinableRuntime, InlinableJavaScriptRuntime { public static readonly DotNetCore2 = new Runtime('dotnetcore2.0'); public static readonly DotNetCore21 = new Runtime('dotnetcore2.1'); public static readonly Go1x = new Runtime('go1.x'); + /* tslint:enable variable-name */ /** The name of this runtime, as expected by the Lambda resource. */ public readonly name: string; diff --git a/packages/@aws-cdk/aws-lambda/package.json b/packages/@aws-cdk/aws-lambda/package.json index 4b9bef096fef7..f1c499cd33a67 100644 --- a/packages/@aws-cdk/aws-lambda/package.json +++ b/packages/@aws-cdk/aws-lambda/package.json @@ -14,6 +14,12 @@ "artifactId": "lambda" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Lambda", + "packageId": "Amazon.CDK.AWS.Lambda", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-logs/lib/pattern.ts b/packages/@aws-cdk/aws-logs/lib/pattern.ts index 90a79572a5c96..0b5141f746466 100644 --- a/packages/@aws-cdk/aws-logs/lib/pattern.ts +++ b/packages/@aws-cdk/aws-logs/lib/pattern.ts @@ -295,7 +295,9 @@ export class SpaceDelimitedTextPattern implements IFilterPattern { return new SpaceDelimitedTextPattern(columns, {}); } - private constructor(private readonly columns: string[], private readonly restrictions: RestrictionMap) { + // TODO: Temporarily changed from private to protected to unblock build. We need to think + // about how to handle jsii types with private constructors. + protected constructor(private readonly columns: string[], private readonly restrictions: RestrictionMap) { // Private constructor so we validate in the .construct() factory function } diff --git a/packages/@aws-cdk/aws-logs/package.json b/packages/@aws-cdk/aws-logs/package.json index accaa50d35923..f189ce9ceb703 100644 --- a/packages/@aws-cdk/aws-logs/package.json +++ b/packages/@aws-cdk/aws-logs/package.json @@ -14,6 +14,12 @@ "artifactId": "logs" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Logs", + "packageId": "Amazon.CDK.AWS.Logs", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-neptune/package.json b/packages/@aws-cdk/aws-neptune/package.json index 1ab1b355ba374..539c766aff601 100644 --- a/packages/@aws-cdk/aws-neptune/package.json +++ b/packages/@aws-cdk/aws-neptune/package.json @@ -14,6 +14,12 @@ "artifactId": "neptune" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Neptune", + "packageId": "Amazon.CDK.AWS.Neptune", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-opsworks/package.json b/packages/@aws-cdk/aws-opsworks/package.json index 4027b6bf46788..a75f9fb349e86 100644 --- a/packages/@aws-cdk/aws-opsworks/package.json +++ b/packages/@aws-cdk/aws-opsworks/package.json @@ -14,6 +14,12 @@ "artifactId": "opsworks" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.OpsWorks", + "packageId": "Amazon.CDK.AWS.OpsWorks", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-quickstarts/package.json b/packages/@aws-cdk/aws-quickstarts/package.json index d9e83c2f4367d..ef820a81b4667 100644 --- a/packages/@aws-cdk/aws-quickstarts/package.json +++ b/packages/@aws-cdk/aws-quickstarts/package.json @@ -14,6 +14,12 @@ "artifactId": "quickstarts" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.QuickStarts", + "packageId": "Amazon.CDK.AWS.QuickStarts", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-rds/package.json b/packages/@aws-cdk/aws-rds/package.json index 658b12a094d26..0fced57ff8e6a 100644 --- a/packages/@aws-cdk/aws-rds/package.json +++ b/packages/@aws-cdk/aws-rds/package.json @@ -14,6 +14,12 @@ "artifactId": "rds" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.RDS", + "packageId": "Amazon.CDK.AWS.RDS", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-redshift/package.json b/packages/@aws-cdk/aws-redshift/package.json index b1a2998a615df..7e5f1c6d60982 100644 --- a/packages/@aws-cdk/aws-redshift/package.json +++ b/packages/@aws-cdk/aws-redshift/package.json @@ -14,6 +14,12 @@ "artifactId": "redshift" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Redshift", + "packageId": "Amazon.CDK.AWS.Redshift", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-route53/package.json b/packages/@aws-cdk/aws-route53/package.json index 91f94e8688a09..34a9614c78629 100644 --- a/packages/@aws-cdk/aws-route53/package.json +++ b/packages/@aws-cdk/aws-route53/package.json @@ -14,6 +14,12 @@ "artifactId": "route53" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Route53", + "packageId": "Amazon.CDK.AWS.Route53", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-s3-notifications/package.json b/packages/@aws-cdk/aws-s3-notifications/package.json index 4c7e187bd32af..88b1ccafef885 100644 --- a/packages/@aws-cdk/aws-s3-notifications/package.json +++ b/packages/@aws-cdk/aws-s3-notifications/package.json @@ -14,6 +14,12 @@ "artifactId": "s3-notifications" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.S3.Notifications", + "packageId": "Amazon.CDK.AWS.S3.Notifications", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-s3/package.json b/packages/@aws-cdk/aws-s3/package.json index 18e0d44456e80..beab6c1950340 100644 --- a/packages/@aws-cdk/aws-s3/package.json +++ b/packages/@aws-cdk/aws-s3/package.json @@ -14,6 +14,12 @@ "artifactId": "s3" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.S3", + "packageId": "Amazon.CDK.AWS.S3", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-sagemaker/.npmignore b/packages/@aws-cdk/aws-sagemaker/.npmignore index bad75ae282e9f..ad475e81689b6 100644 --- a/packages/@aws-cdk/aws-sagemaker/.npmignore +++ b/packages/@aws-cdk/aws-sagemaker/.npmignore @@ -14,3 +14,7 @@ dist .LAST_BUILD .LAST_PACKAGE .jsii + + +# Include .jsii +!.jsii diff --git a/packages/@aws-cdk/aws-sagemaker/package.json b/packages/@aws-cdk/aws-sagemaker/package.json index 9b1e37b9ca13f..fbd940e630c20 100644 --- a/packages/@aws-cdk/aws-sagemaker/package.json +++ b/packages/@aws-cdk/aws-sagemaker/package.json @@ -14,6 +14,12 @@ "artifactId": "sagemaker" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Sagemaker", + "packageId": "Amazon.CDK.AWS.Sagemaker", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-sdb/package.json b/packages/@aws-cdk/aws-sdb/package.json index 49454e84b56b6..beca9a8281bf4 100644 --- a/packages/@aws-cdk/aws-sdb/package.json +++ b/packages/@aws-cdk/aws-sdb/package.json @@ -14,6 +14,12 @@ "artifactId": "sdb" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.SDB", + "packageId": "Amazon.CDK.AWS.SDB", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-serverless/package.json b/packages/@aws-cdk/aws-serverless/package.json index bbc58d7b4b00c..69d5263ed6b80 100644 --- a/packages/@aws-cdk/aws-serverless/package.json +++ b/packages/@aws-cdk/aws-serverless/package.json @@ -14,6 +14,12 @@ "artifactId": "serverless" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.Serverless", + "packageId": "Amazon.CDK.AWS.Serverless", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-servicecatalog/package.json b/packages/@aws-cdk/aws-servicecatalog/package.json index 47d4d453c68a5..c9533cbad89f0 100644 --- a/packages/@aws-cdk/aws-servicecatalog/package.json +++ b/packages/@aws-cdk/aws-servicecatalog/package.json @@ -14,6 +14,12 @@ "artifactId": "servicecatalog" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.ServiceCatalog", + "packageId": "Amazon.CDK.AWS.ServiceCatalog", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-servicediscovery/package.json b/packages/@aws-cdk/aws-servicediscovery/package.json index 5dd0569bb64ba..ac6dc08668de4 100644 --- a/packages/@aws-cdk/aws-servicediscovery/package.json +++ b/packages/@aws-cdk/aws-servicediscovery/package.json @@ -14,6 +14,12 @@ "artifactId": "servicediscovery" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.ServiceDiscovery", + "packageId": "Amazon.CDK.AWS.ServiceDiscovery", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-ses/package.json b/packages/@aws-cdk/aws-ses/package.json index 067684f4924fc..6ad3fa0c4b78d 100644 --- a/packages/@aws-cdk/aws-ses/package.json +++ b/packages/@aws-cdk/aws-ses/package.json @@ -14,6 +14,12 @@ "artifactId": "ses" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.SES", + "packageId": "Amazon.CDK.AWS.SES", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-sns/package.json b/packages/@aws-cdk/aws-sns/package.json index 42f318b6a292f..d6d78bc1142c2 100644 --- a/packages/@aws-cdk/aws-sns/package.json +++ b/packages/@aws-cdk/aws-sns/package.json @@ -14,6 +14,12 @@ "artifactId": "sns" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.SNS", + "packageId": "Amazon.CDK.AWS.SNS", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-sqs/package.json b/packages/@aws-cdk/aws-sqs/package.json index 79e721b269339..dcbb734350804 100644 --- a/packages/@aws-cdk/aws-sqs/package.json +++ b/packages/@aws-cdk/aws-sqs/package.json @@ -14,6 +14,12 @@ "artifactId": "sqs" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.SQS", + "packageId": "Amazon.CDK.AWS.SQS", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-ssm/package.json b/packages/@aws-cdk/aws-ssm/package.json index 6ab415905782a..b30941214733f 100644 --- a/packages/@aws-cdk/aws-ssm/package.json +++ b/packages/@aws-cdk/aws-ssm/package.json @@ -14,6 +14,12 @@ "artifactId": "ssm" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.SSM", + "packageId": "Amazon.CDK.AWS.SSM", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-stepfunctions/package.json b/packages/@aws-cdk/aws-stepfunctions/package.json index c56a228d11f07..c428de7119686 100644 --- a/packages/@aws-cdk/aws-stepfunctions/package.json +++ b/packages/@aws-cdk/aws-stepfunctions/package.json @@ -14,6 +14,12 @@ "artifactId": "stepfunctions" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.StepFunctions", + "packageId": "Amazon.CDK.AWS.StepFunctions", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-waf/package.json b/packages/@aws-cdk/aws-waf/package.json index 7344abf179258..9d69bb8ec7eb3 100644 --- a/packages/@aws-cdk/aws-waf/package.json +++ b/packages/@aws-cdk/aws-waf/package.json @@ -14,6 +14,12 @@ "artifactId": "waf" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.WAF", + "packageId": "Amazon.CDK.AWS.WAF", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-wafregional/package.json b/packages/@aws-cdk/aws-wafregional/package.json index 2a72114c45470..2fd9be57db951 100644 --- a/packages/@aws-cdk/aws-wafregional/package.json +++ b/packages/@aws-cdk/aws-wafregional/package.json @@ -14,6 +14,12 @@ "artifactId": "wafregional" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.WAFRegional", + "packageId": "Amazon.CDK.AWS.WAFRegional", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/aws-workspaces/package.json b/packages/@aws-cdk/aws-workspaces/package.json index 09b73556d67f4..3336c7029e069 100644 --- a/packages/@aws-cdk/aws-workspaces/package.json +++ b/packages/@aws-cdk/aws-workspaces/package.json @@ -14,6 +14,12 @@ "artifactId": "workspaces" } }, + "dotnet": { + "namespace": "Amazon.CDK.AWS.WorkSpaces", + "packageId": "Amazon.CDK.AWS.WorkSpaces", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/cdk/package.json b/packages/@aws-cdk/cdk/package.json index 49db8e68c8104..ff22fd388774a 100644 --- a/packages/@aws-cdk/cdk/package.json +++ b/packages/@aws-cdk/cdk/package.json @@ -14,6 +14,12 @@ "artifactId": "cdk" } }, + "dotnet": { + "namespace": "Amazon.CDK", + "packageId": "Amazon.CDK", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/cx-api/package.json b/packages/@aws-cdk/cx-api/package.json index 4bfbd73ec1196..96c6d1b268914 100644 --- a/packages/@aws-cdk/cx-api/package.json +++ b/packages/@aws-cdk/cx-api/package.json @@ -14,6 +14,12 @@ "artifactId": "cdk-cx-api" } }, + "dotnet": { + "namespace": "Amazon.CDK.CXAPI", + "packageId": "Amazon.CDK.CXAPI", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/@aws-cdk/runtime-values/package.json b/packages/@aws-cdk/runtime-values/package.json index 2e1a2960c2af7..518250bd93ceb 100644 --- a/packages/@aws-cdk/runtime-values/package.json +++ b/packages/@aws-cdk/runtime-values/package.json @@ -14,6 +14,12 @@ "artifactId": "cdk-runtime-values" } }, + "dotnet": { + "namespace": "Amazon.CDK.RuntimeValues", + "packageId": "Amazon.CDK.RuntimeValues", + "signAssembly": true, + "assemblyOriginatorKeyFile": "../../key.snk" + }, "sphinx": {} } }, diff --git a/packages/aws-cdk/lib/init-templates/app/dotnet/.template.gitignore b/packages/aws-cdk/lib/init-templates/app/dotnet/.template.gitignore new file mode 100644 index 0000000000000..8f83e36d4919a --- /dev/null +++ b/packages/aws-cdk/lib/init-templates/app/dotnet/.template.gitignore @@ -0,0 +1,339 @@ + +# Created by https://www.gitignore.io/api/csharp + +### Csharp ### +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + + +# End of https://www.gitignore.io/api/csharp \ No newline at end of file diff --git a/packages/aws-cdk/lib/init-templates/app/dotnet/README.md b/packages/aws-cdk/lib/init-templates/app/dotnet/README.md new file mode 100644 index 0000000000000..b1fdeb70bf281 --- /dev/null +++ b/packages/aws-cdk/lib/init-templates/app/dotnet/README.md @@ -0,0 +1,20 @@ + +# CDK HelloWorld + +Welcome to your CDK .NET project! + +You should explore the contents of this template. It demonstrates a CDK app with two instances of +a stack (`HelloStack`) which also uses a user-defined construct (`HelloConstruct`). + +The `cdk.json` file tells the CDK Toolkit how to execute your app. It uses the `dotnet` CLI to do this. + +# Useful commands + +* `dotnet build src` compile this app +* `cdk ls` list all stacks in the app +* `cdk synth` emits the synthesized CloudFormation template +* `cdk deploy` deploy this stack to your default AWS account/region +* `cdk diff` compare deployed stack with current state +* `cdk docs` open CDK documentation + +Enjoy! diff --git a/packages/aws-cdk/lib/init-templates/app/dotnet/add-project.hook.ts b/packages/aws-cdk/lib/init-templates/app/dotnet/add-project.hook.ts new file mode 100644 index 0000000000000..b71b326c9a62b --- /dev/null +++ b/packages/aws-cdk/lib/init-templates/app/dotnet/add-project.hook.ts @@ -0,0 +1,33 @@ +import * as child_process from 'child_process'; +import * as path from 'path'; +import { InvokeHook } from '../../../init'; + +export const invoke: InvokeHook = async (targetDirectory: string) => { + const slnPath = path.join(targetDirectory, "src", "HelloCdk.sln"); + const csprojPath = path.join(targetDirectory, "src", "HelloCdk", "HelloCdk.csproj"); + + const child = child_process.spawn('dotnet', [ 'sln', slnPath, 'add', csprojPath ], { + // Need this for Windows where we want .cmd and .bat to be found as well. + shell: true, + stdio: [ 'ignore', 'pipe', 'inherit' ] + }); + + await new Promise((resolve, reject) => { + const stdout = new Array(); + + child.stdout.on('data', chunk => { + process.stdout.write(chunk); + stdout.push(chunk); + }); + + child.once('error', reject); + + child.once('exit', code => { + if (code === 0) { + resolve(Buffer.concat(stdout).toString('utf-8')); + } else { + reject(new Error(`Could not add project HelloCdk.csproj to solution HelloCdk.sln. Error code: ${code}`)); + } + }); + }); +}; diff --git a/packages/aws-cdk/lib/init-templates/app/dotnet/cdk.json b/packages/aws-cdk/lib/init-templates/app/dotnet/cdk.json new file mode 100644 index 0000000000000..2dbf074d7689f --- /dev/null +++ b/packages/aws-cdk/lib/init-templates/app/dotnet/cdk.json @@ -0,0 +1,3 @@ +{ + "app": "dotnet src/HelloCdk/bin/Debug/netcoreapp2.1/HelloCdk.dll" +} diff --git a/packages/aws-cdk/lib/init-templates/app/dotnet/src/HelloCdk.sln b/packages/aws-cdk/lib/init-templates/app/dotnet/src/HelloCdk.sln new file mode 100644 index 0000000000000..2f92ebd9bda92 --- /dev/null +++ b/packages/aws-cdk/lib/init-templates/app/dotnet/src/HelloCdk.sln @@ -0,0 +1,18 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26124.0 +MinimumVisualStudioVersion = 15.0.26124.0 +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/packages/aws-cdk/lib/init-templates/app/dotnet/src/HelloCdk/HelloCdk.template.csproj b/packages/aws-cdk/lib/init-templates/app/dotnet/src/HelloCdk/HelloCdk.template.csproj new file mode 100644 index 0000000000000..bda43f1bdef99 --- /dev/null +++ b/packages/aws-cdk/lib/init-templates/app/dotnet/src/HelloCdk/HelloCdk.template.csproj @@ -0,0 +1,15 @@ + + + + Exe + netcoreapp2.1 + + + + + + + + + + diff --git a/packages/aws-cdk/lib/init-templates/app/dotnet/src/HelloCdk/HelloConstruct.cs b/packages/aws-cdk/lib/init-templates/app/dotnet/src/HelloCdk/HelloConstruct.cs new file mode 100644 index 0000000000000..9813259ac4550 --- /dev/null +++ b/packages/aws-cdk/lib/init-templates/app/dotnet/src/HelloCdk/HelloConstruct.cs @@ -0,0 +1,35 @@ +using Amazon.CDK; +using Amazon.CDK.AWS.IAM; +using Amazon.CDK.AWS.S3; +using System.Collections.Generic; +using System.Linq; + +namespace HelloCdk +{ + public class HelloConstructProps + { + public int BucketCount { get; set; } + } + + public class HelloConstruct : Construct + { + private readonly IEnumerable _buckets; + + // A simple construct that contains a collection of AWS S3 buckets. + public HelloConstruct(Construct parent, string id, HelloConstructProps props) : base(parent, id) + { + _buckets = Enumerable.Range(0, props.BucketCount) + .Select(i => new Bucket(this, $"Bucket{i}", new BucketProps())) + .ToList(); + } + + // Give the specified principal read access to the buckets in this construct. + public void GrantRead(IIIdentityResource principal) + { + foreach (Bucket bucket in _buckets) + { + bucket.GrantRead(principal, "*"); + } + } + } +} diff --git a/packages/aws-cdk/lib/init-templates/app/dotnet/src/HelloCdk/HelloStack.cs b/packages/aws-cdk/lib/init-templates/app/dotnet/src/HelloCdk/HelloStack.cs new file mode 100644 index 0000000000000..091fc4d0e2276 --- /dev/null +++ b/packages/aws-cdk/lib/init-templates/app/dotnet/src/HelloCdk/HelloStack.cs @@ -0,0 +1,36 @@ +using Amazon.CDK; +using Amazon.CDK.AWS.IAM; +using Amazon.CDK.AWS.SNS; +using Amazon.CDK.AWS.SQS; + +namespace HelloCdk +{ + public class HelloStack : Stack + { + public HelloStack(App parent, string name, IStackProps props) : base(parent, name, props) + { + // The CDK includes built-in constructs for most resource types, such as Queues and Topics. + var queue = new Queue(this, "MyFirstQueue", new QueueProps + { + VisibilityTimeoutSec = 300 + }); + + var topic = new Topic(this, "MyFirstTopic", new TopicProps + { + DisplayName = "My First Topic Yeah" + }); + + topic.SubscribeQueue(queue); + + // You can also define your own constructs and use them in your stack. + HelloConstruct hello = new HelloConstruct(this, "Buckets", new HelloConstructProps() + { + BucketCount = 5 + }); + + // Create a new user with read access to the HelloConstruct resource. + User user = new User(this, "MyUser", new UserProps()); + hello.GrantRead(user); + } + } +} diff --git a/packages/aws-cdk/lib/init-templates/app/dotnet/src/HelloCdk/Program.cs b/packages/aws-cdk/lib/init-templates/app/dotnet/src/HelloCdk/Program.cs new file mode 100644 index 0000000000000..5fb47923f357d --- /dev/null +++ b/packages/aws-cdk/lib/init-templates/app/dotnet/src/HelloCdk/Program.cs @@ -0,0 +1,28 @@ +using Amazon.CDK; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace HelloCdk +{ + class Program + { + static void Main(string[] args) + { + // Create a new app. The first argument is used to display a usage message for this app. + string[] appArgs = new [] { $"dotnet ${nameof(HelloCdk)}" } + .Concat(args) + .ToArray(); + var app = new App(appArgs); + + // A CDK app can contain multiple stacks. You can view a list of all the stacks in your + // app by typing `cdk list`. + new HelloStack(app, "hello-cdk-1", new StackProps()); + new HelloStack(app, "hello-cdk-2", new StackProps()); + + // Your app must write the return value of app.Run() to standard output. The `cdk init` + // and `cdk synth` commands require this output. + Console.WriteLine(app.Run()); + } + } +} diff --git a/packages/aws-cdk/lib/init.ts b/packages/aws-cdk/lib/init.ts index 9f0372817ab85..f1ccaa2875b03 100644 --- a/packages/aws-cdk/lib/init.ts +++ b/packages/aws-cdk/lib/init.ts @@ -5,6 +5,8 @@ import os = require('os'); import path = require('path'); import { error, print, warning } from './logging'; +export type InvokeHook = (targetDirectory: string) => Promise; + // tslint:disable:no-var-requires those libraries don't have up-to-date @types modules const camelCase = require('camelcase'); const decamelize = require('decamelize'); @@ -76,27 +78,51 @@ export class InitTemplate { + `(it supports: ${this.languages.map(l => colors.blue(l)).join(', ')})`); throw new Error(`Unsupported language: ${language}`); } - await this.installFiles(path.join(this.basePath, language), targetDirectory, { + const sourceDirectory = path.join(this.basePath, language); + await this.installFiles(sourceDirectory, targetDirectory, { name: decamelize(path.basename(path.resolve(targetDirectory))) }); + await this.invokeHooks(sourceDirectory, targetDirectory); } - private async installFiles(srcDir: string, tgtDir: string, project: ProjectInfo) { - for (const file of await fs.readdir(srcDir)) { - const fromFile = path.join(srcDir, file); - const toFile = path.join(tgtDir, this.expand(file, project)); + private async installFiles(sourceDirectory: string, targetDirectory: string, project: ProjectInfo) { + for (const file of await fs.readdir(sourceDirectory)) { + const fromFile = path.join(sourceDirectory, file); + const toFile = path.join(targetDirectory, this.expand(file, project)); if ((await fs.stat(fromFile)).isDirectory()) { await fs.mkdir(toFile); await this.installFiles(fromFile, toFile, project); continue; } else if (file.match(/^.*\.template\.[^.]+$/)) { await this.installProcessed(fromFile, toFile.replace(/\.template(\.[^.]+)$/, '$1'), project); + } else if (file.match(/^.*\.hook\.[^.]+$/)) { + continue; } else { await fs.copy(fromFile, toFile); } } } + /** + * @summary Invoke any javascript hooks that exist in the template. + * @description Sometimes templates need more complex logic than just replacing tokens. A 'hook' is + * any file that ends in .hook.js. It should export a single function called "invoke" + * that accepts a single string parameter. When the template is installed, each hook + * will be invoked, passing the target directory as the only argument. Hooks are invoked + * in lexical order. + */ + private async invokeHooks(sourceDirectory: string, targetDirectory: string) { + const files = await fs.readdir(sourceDirectory); + files.sort(); // Sorting allows template authors to control the order in which hooks are invoked. + + for (const file of files) { + if (file.match(/^.*\.hook\.js$/)) { + const invoke: InvokeHook = require(path.join(sourceDirectory, file)).invoke; + await invoke(targetDirectory); + } + } + } + private async installProcessed(templatePath: string, toFile: string, project: ProjectInfo) { const template = await fs.readFile(templatePath, { encoding: 'utf-8' }); await fs.writeFile(toFile, this.expand(template, project)); diff --git a/packages/aws-cdk/package-lock.json b/packages/aws-cdk/package-lock.json index c4613431061b2..5419b90f5715d 100644 --- a/packages/aws-cdk/package-lock.json +++ b/packages/aws-cdk/package-lock.json @@ -95,6 +95,14 @@ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-8.0.3.tgz", "integrity": "sha512-YdxO7zGQf2qJeMgR0fNO8QTlj88L2zCP5GOddovoTyetgLiNDOUXcWzhWKb4EdZZlOjLQUA0JM8lW7VcKQL+9w==" }, + "agent-base": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "requires": { + "es6-promisify": "^5.0.0" + } + }, "ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", @@ -157,6 +165,11 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, + "ast-types": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.5.tgz", + "integrity": "sha512-oJjo+5e7/vEc2FBK8gUalV0pba4L3VdBIs2EKhOLHLcOd2FgQIVQN9xb0eZ9IjEWyAL7vq6fGJxOvVvdCHNyMw==" + }, "async": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", @@ -277,6 +290,11 @@ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, "camelcase": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", @@ -407,6 +425,19 @@ "assert-plus": "^1.0.0" } }, + "data-uri-to-buffer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", + "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, "decamelize": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", @@ -415,11 +446,31 @@ "xregexp": "4.0.0" } }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "degenerator": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", + "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", + "requires": { + "ast-types": "0.x.x", + "escodegen": "1.x.x", + "esprima": "3.x.x" + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, "difflib": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", @@ -466,6 +517,46 @@ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.8.2.tgz", "integrity": "sha1-q6jZ4ZQ6iVrJaDemKjmz9V7NlKs=" }, + "es6-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escodegen": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", + "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, "events": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", @@ -505,6 +596,16 @@ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -548,6 +649,43 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, + "ftp": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "requires": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=" + } + } + }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", @@ -558,6 +696,29 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, + "get-uri": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.2.tgz", + "integrity": "sha512-ZD325dMZOgerGqF/rF6vZXyFGTAay62svjQIT+X/oU2PtxYpFxvSkbsdi+oxIrsNxlZVd4y8wUDqkaExWTI/Cw==", + "requires": { + "data-uri-to-buffer": "1", + "debug": "2", + "extend": "3", + "file-uri-to-path": "1", + "ftp": "~0.3.10", + "readable-stream": "2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -608,6 +769,26 @@ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==" }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "requires": { + "agent-base": "4", + "debug": "3.1.0" + } + }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -618,6 +799,23 @@ "sshpk": "^1.7.0" } }, + "https-proxy-agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "requires": { + "agent-base": "^4.1.0", + "debug": "^3.1.0" + } + }, + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, "ieee754": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", @@ -642,6 +840,11 @@ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -759,6 +962,15 @@ "invert-kv": "^1.0.0" } }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, "load-json-file": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", @@ -832,11 +1044,21 @@ "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" }, + "netmask": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", + "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=" + }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -882,6 +1104,19 @@ "wrappy": "1" } }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + } + }, "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", @@ -918,6 +1153,44 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, + "pac-proxy-agent": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-2.0.2.tgz", + "integrity": "sha512-cDNAN1Ehjbf5EHkNY5qnRhGPUCp6SnpyVof5fRzN800QV1Y2OkzbH9rmjZkbBRa8igof903yOnjIl6z0SlAhxA==", + "requires": { + "agent-base": "^4.2.0", + "debug": "^3.1.0", + "get-uri": "^2.0.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1", + "pac-resolver": "^3.0.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "^3.0.0" + }, + "dependencies": { + "socks-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz", + "integrity": "sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA==", + "requires": { + "agent-base": "^4.1.0", + "socks": "^1.1.10" + } + } + } + }, + "pac-resolver": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz", + "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", + "requires": { + "co": "^4.6.0", + "degenerator": "^1.0.4", + "ip": "^1.1.5", + "netmask": "^1.0.6", + "thunkify": "^2.1.2" + } + }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", @@ -959,6 +1232,11 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", @@ -972,6 +1250,26 @@ "read": "~1.0.4" } }, + "proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.0.1.tgz", + "integrity": "sha512-mAZexaz9ZxQhYPWfAjzlrloEjW+JHiBFryE4AJXFDTnaXfmH/FKqC1swTRKuEPbHWz02flQNXFOyDUF7zfEG6A==", + "requires": { + "agent-base": "^4.2.0", + "debug": "^3.1.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1", + "lru-cache": "^4.1.2", + "pac-proxy-agent": "^2.0.1", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^4.0.1" + } + }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=" + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -992,6 +1290,17 @@ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + } + }, "read": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", @@ -1080,6 +1389,11 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, "sax": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", @@ -1095,6 +1409,11 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -1113,6 +1432,45 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, + "smart-buffer": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz", + "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=" + }, + "socks": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz", + "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=", + "requires": { + "ip": "^1.1.4", + "smart-buffer": "^1.0.13" + } + }, + "socks-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz", + "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==", + "requires": { + "agent-base": "~4.2.0", + "socks": "~2.2.0" + }, + "dependencies": { + "smart-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.1.tgz", + "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==" + }, + "socks": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.1.tgz", + "integrity": "sha512-0GabKw7n9mI46vcNrVfs0o6XzWzjVa3h6GaSo2UPxtWAROXUWavfJWh1M4PR5tnE0dcnQXZIDFP4yrAysLze/w==", + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.0.1" + } + } + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -1175,6 +1533,11 @@ "tweetnacl": "~0.14.0" } }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -1244,6 +1607,11 @@ "xtend": "^4.0.0" } }, + "thunkify": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", + "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=" + }, "to-buffer": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", @@ -1278,11 +1646,24 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "optional": true }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, "universalify": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=" }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, "url": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", diff --git a/packages/aws-cdk/tsconfig.json b/packages/aws-cdk/tsconfig.json index ce1e5e6393d7d..eefbfb550f683 100644 --- a/packages/aws-cdk/tsconfig.json +++ b/packages/aws-cdk/tsconfig.json @@ -18,8 +18,15 @@ "experimentalDecorators": true, "strictPropertyInitialization":false }, + "include": [ + "**/*.ts", + "**/*.d.ts" + ], "exclude": [ "lib/init-templates/**/*" + ], + "files": [ + "lib/init-templates/app/dotnet/add-project.hook.ts" ] } diff --git a/tools/cdk-build-tools/lib/index.ts b/tools/cdk-build-tools/lib/index.ts new file mode 100644 index 0000000000000..4494512263a5e --- /dev/null +++ b/tools/cdk-build-tools/lib/index.ts @@ -0,0 +1 @@ +export { shell } from './os'; diff --git a/tools/cdk-build-tools/package.json b/tools/cdk-build-tools/package.json index 5a40f5f4e831d..716e847c70f42 100644 --- a/tools/cdk-build-tools/package.json +++ b/tools/cdk-build-tools/package.json @@ -3,7 +3,7 @@ "private": true, "version": "0.8.2", "description": "Tools package with shared build scripts for CDK packages", - "main": "index.js", + "main": "lib/index.js", "repository": { "type": "git", "url": "https://github.com/awslabs/aws-cdk.git" diff --git a/tools/pkglint/lib/rules.ts b/tools/pkglint/lib/rules.ts index a30d221e23af9..03c55313e9998 100644 --- a/tools/pkglint/lib/rules.ts +++ b/tools/pkglint/lib/rules.ts @@ -1,3 +1,4 @@ +import caseUtils = require('case'); import fs = require('fs'); import path = require('path'); import { LICENSE, NOTICE } from './licensing'; @@ -218,14 +219,43 @@ function cdkModuleName(name: string) { name = name.replace(/^aws-cdk-/, ''); name = name.replace(/^@aws-cdk\//, ''); + const dotnetSuffix = name.split('-') + .map(s => s === 'aws' ? 'AWS' : caseUtils.pascal(s)) + .join('.'); + return { javaPackage: `software.amazon.awscdk${isCdkPkg ? '' : `.${name.replace(/^aws-/, 'services-').replace(/-/g, '.')}`}`, mavenArtifactId: isCdkPkg ? 'cdk' : name.startsWith('aws-') ? name.replace(/^aws-/, '') - : `cdk-${name}` + : `cdk-${name}`, + dotnetNamespace: `Amazon.CDK${isCdkPkg ? '' : `.${dotnetSuffix}`}` }; } +/** + * JSII .NET namespace is required and must look sane + */ +export class JSIIDotNetNamespaceIsRequired extends ValidationRule { + public validate(pkg: PackageJson): void { + if (!isJSII(pkg)) { return; } + + const dotnet = deepGet(pkg.json, ['jsii', 'targets', 'dotnet', 'namespace']) as string | undefined; + const moduleName = cdkModuleName(pkg.json.name); + expectJSON(pkg, 'jsii.targets.dotnet.namespace', moduleName.dotnetNamespace, /\./g, /*case insensitive*/ true); + + if (dotnet) { + const actualPrefix = dotnet.split('.').slice(0, 2).join('.'); + const expectedPrefix = moduleName.dotnetNamespace.split('.').slice(0, 2).join('.'); + if (actualPrefix !== expectedPrefix) { + pkg.report({ + message: `.NET namespace must share the first two segments of the default namespace, '${expectedPrefix}' vs '${actualPrefix}'`, + fix: () => deepSet(pkg.json, ['jsii', 'targets', 'dotnet', 'namespace'], moduleName.dotnetNamespace) + }); + } + } + } +} + /** * The package must depend on cdk-build-tools */