diff --git a/README.md b/README.md index e4834ff..a3b510c 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,10 @@ `npm install --save graphql-ttl-transformer` +For projects using the old GraphQL Transformer v1 run: + +`npm install --save graphql-ttl-transformer@1` + ## How to use ### Setup custom transformer diff --git a/package-lock.json b/package-lock.json index 60d0f9d..c449a5c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,25 +1,1212 @@ { "name": "graphql-ttl-transformer", - "version": "1.1.1", + "version": "2.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "graphql-ttl-transformer", - "version": "1.1.1", + "version": "2.0.0", "license": "MIT", "dependencies": { - "graphql": "^14.5.8", - "graphql-transformer-common": "^4.17.11", - "graphql-transformer-core": "^6.21.7" + "@aws-amplify/graphql-transformer-core": "^0.17.5", + "graphql": "^14.7.0", + "graphql-mapping-template": "^4.18.3", + "graphql-transformer-common": "^4.23.2" }, "devDependencies": { - "graphql-appsync-transformer": "^1.0.35", - "graphql-dynamodb-transformer": "^6.19.16", + "@aws-amplify/graphql-model-transformer": "^0.15.2", "jest": "^26.6.0", "prettier": "^2.1.2", "ts-jest": "^26.4.1", - "typescript": "^4.0.3" + "typescript": "^4.6.2" + } + }, + "node_modules/@aws-amplify/graphql-model-transformer": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@aws-amplify/graphql-model-transformer/-/graphql-model-transformer-0.15.2.tgz", + "integrity": "sha512-lI8sLaimsad+ER8eKNoN3uUzOfojemX0ApoqKpCdLbWpiLGpv7oAkYAb2w5LyPYHmhNej7n97OA7uWn7Zyrekg==", + "dev": true, + "dependencies": { + "@aws-amplify/graphql-transformer-core": "0.17.9", + "@aws-amplify/graphql-transformer-interfaces": "1.14.6", + "@aws-cdk/aws-applicationautoscaling": "~1.124.0", + "@aws-cdk/aws-appsync": "~1.124.0", + "@aws-cdk/aws-cloudwatch": "~1.124.0", + "@aws-cdk/aws-dynamodb": "~1.124.0", + "@aws-cdk/aws-ec2": "~1.124.0", + "@aws-cdk/aws-iam": "~1.124.0", + "@aws-cdk/aws-kms": "~1.124.0", + "@aws-cdk/aws-lambda": "~1.124.0", + "@aws-cdk/aws-s3-assets": "~1.124.0", + "@aws-cdk/cloud-assembly-schema": "~1.124.0", + "@aws-cdk/core": "~1.124.0", + "@aws-cdk/custom-resources": "~1.124.0", + "@aws-cdk/cx-api": "~1.124.0", + "@aws-cdk/region-info": "~1.124.0", + "constructs": "^3.3.125", + "graphql": "^14.5.8", + "graphql-mapping-template": "4.20.5", + "graphql-transformer-common": "4.24.0" + } + }, + "node_modules/@aws-amplify/graphql-transformer-core": { + "version": "0.17.9", + "resolved": "https://registry.npmjs.org/@aws-amplify/graphql-transformer-core/-/graphql-transformer-core-0.17.9.tgz", + "integrity": "sha512-c1ssCQg5tBk2/lisSdZy+Z7+PBJ1BLzZj7wAsdE93GgTQkLteDhlvVbBGHLCZ/v1vRnDgm00ytfr57aP9uZ1KA==", + "dependencies": { + "@aws-amplify/graphql-transformer-interfaces": "1.14.6", + "@aws-cdk/aws-applicationautoscaling": "~1.124.0", + "@aws-cdk/aws-appsync": "~1.124.0", + "@aws-cdk/aws-certificatemanager": "~1.124.0", + "@aws-cdk/aws-cloudwatch": "~1.124.0", + "@aws-cdk/aws-codeguruprofiler": "~1.124.0", + "@aws-cdk/aws-cognito": "~1.124.0", + "@aws-cdk/aws-dynamodb": "~1.124.0", + "@aws-cdk/aws-ec2": "~1.124.0", + "@aws-cdk/aws-efs": "~1.124.0", + "@aws-cdk/aws-elasticsearch": "~1.124.0", + "@aws-cdk/aws-events": "~1.124.0", + "@aws-cdk/aws-iam": "~1.124.0", + "@aws-cdk/aws-kms": "~1.124.0", + "@aws-cdk/aws-lambda": "~1.124.0", + "@aws-cdk/aws-logs": "~1.124.0", + "@aws-cdk/aws-route53": "~1.124.0", + "@aws-cdk/aws-s3": "~1.124.0", + "@aws-cdk/aws-s3-assets": "~1.124.0", + "@aws-cdk/aws-sqs": "~1.124.0", + "@aws-cdk/cloud-assembly-schema": "~1.124.0", + "@aws-cdk/core": "~1.124.0", + "@aws-cdk/custom-resources": "~1.124.0", + "@aws-cdk/cx-api": "~1.124.0", + "@aws-cdk/region-info": "~1.124.0", + "constructs": "^3.3.125", + "fs-extra": "^8.1.0", + "graphql": "^14.5.8", + "graphql-transformer-common": "4.24.0", + "lodash": "^4.17.21", + "md5": "^2.3.0", + "object-hash": "^3.0.0", + "ts-dedent": "^2.0.0", + "vm2": "^3.9.8" + }, + "peerDependencies": { + "amplify-prompts": "^2.0.1" + } + }, + "node_modules/@aws-amplify/graphql-transformer-interfaces": { + "version": "1.14.6", + "resolved": "https://registry.npmjs.org/@aws-amplify/graphql-transformer-interfaces/-/graphql-transformer-interfaces-1.14.6.tgz", + "integrity": "sha512-OVWB81IxjpC9E1TLSirOEeHM/33gaJjOnswlL5cBH32L9ShxeDJeMVd7D3egYdd1nt48HGmHyQyVqYxx3xhACg==", + "dependencies": { + "@aws-cdk/aws-appsync": "~1.124.0", + "@aws-cdk/aws-cloudwatch": "~1.124.0", + "@aws-cdk/aws-dynamodb": "~1.124.0", + "@aws-cdk/aws-ec2": "~1.124.0", + "@aws-cdk/aws-elasticsearch": "~1.124.0", + "@aws-cdk/aws-events": "~1.124.0", + "@aws-cdk/aws-iam": "~1.124.0", + "@aws-cdk/aws-kms": "~1.124.0", + "@aws-cdk/aws-lambda": "~1.124.0", + "@aws-cdk/aws-logs": "~1.124.0", + "@aws-cdk/aws-rds": "~1.124.0", + "@aws-cdk/aws-s3": "~1.124.0", + "@aws-cdk/aws-secretsmanager": "~1.124.0", + "@aws-cdk/core": "~1.124.0", + "@aws-cdk/custom-resources": "~1.124.0", + "constructs": "^3.3.125", + "graphql": "^14.5.8" + } + }, + "node_modules/@aws-cdk/assets": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/assets/-/assets-1.124.0.tgz", + "integrity": "sha512-3ObGSa+DAwBO0B81IWuGyjIveFak/eZjARKDR0ZxWqXXotrtC2NzT/cHsscqwLzTw0WdDBT9JT/r3ib+PxzZ7g==", + "dependencies": { + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-applicationautoscaling": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.124.0.tgz", + "integrity": "sha512-gllRWs1PzmF2b+YjexjNx5fOKGJi9MfT3ggdPl/kVBbyc7qhyC6p6RVB0Q+FcTF9p0vM7ATAJgYN3eBzlB04/w==", + "dependencies": { + "@aws-cdk/aws-autoscaling-common": "1.124.0", + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-autoscaling-common": "1.124.0", + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-appsync": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-appsync/-/aws-appsync-1.124.0.tgz", + "integrity": "sha512-zEp2JeCYvkEDvlWY+9GyXvoVwnFWCc45Tm4oCGWsypVq0NN2IKGI0SAb6BUGFpMWiff6Xpgv/vg7LmyfVqP2aw==", + "dependencies": { + "@aws-cdk/aws-cognito": "1.124.0", + "@aws-cdk/aws-dynamodb": "1.124.0", + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-elasticsearch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/aws-rds": "1.124.0", + "@aws-cdk/aws-s3-assets": "1.124.0", + "@aws-cdk/aws-secretsmanager": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-cognito": "1.124.0", + "@aws-cdk/aws-dynamodb": "1.124.0", + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-elasticsearch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/aws-rds": "1.124.0", + "@aws-cdk/aws-s3-assets": "1.124.0", + "@aws-cdk/aws-secretsmanager": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-autoscaling-common": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.124.0.tgz", + "integrity": "sha512-Ef+YT0GSXtkc0jTwXmNqjbUtjHXgIg5FSt4lkfWRe2DzG/AeCEZDY0s+yUJMn6tXk1ubmqgIZO/i0VhTq8nW/g==", + "dependencies": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-certificatemanager": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.124.0.tgz", + "integrity": "sha512-BICj4/t0BTOCMvbdJtBcMmvdAgTdOrzQbfO/BLAqz0naDKINISHcN7WwwC1de3b5WCDJ+NDfQVg9RGpgKO/NkQ==", + "dependencies": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/aws-route53": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/aws-route53": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-cloudformation": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.124.0.tgz", + "integrity": "sha512-7VCbW7e6zN4TjQxTM7iCOkx+NxlR6C8UShYrj79f2aWAmHU1qu5zcSKXeGvsC+jy63IW4w/becqG3TsM3L/Q4A==", + "dependencies": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/aws-sns": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/aws-sns": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-cloudwatch": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.124.0.tgz", + "integrity": "sha512-+CeTPF9U+lb6sR40JacovT+/fAaxxCuEa6GCOEiwDqX3vJD5zlYQ4Aj58cvuY7jUB48aavk+aSpgS/DCIepFOw==", + "dependencies": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-codeguruprofiler": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.124.0.tgz", + "integrity": "sha512-KSbxNZeIkp0C9PoSCpJAgFvX5BlrjRS62L9mMwaZZ3atzlrKJdvOhUPJ512UcA+y8GrsK4AU8cKlCznEtSWcsw==", + "dependencies": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-codestarnotifications": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-codestarnotifications/-/aws-codestarnotifications-1.124.0.tgz", + "integrity": "sha512-4u8Sdd5hUMgWGdEVVp7q8yb7oG0LdVtJ443fNlcx2lNjz1OnUrM7sBHeodmT+8ILxDqbP+5qglwqHSWYBzzZ+w==", + "dependencies": { + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-cognito": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cognito/-/aws-cognito-1.124.0.tgz", + "integrity": "sha512-/LTEwGiS9DyGygf0J5Egc3WMgeGVlWjBbORWZPBbAD/pqTZ8SYuGoK6p48MlGxn1F1XND8cQn7L+AEx+dKGwAg==", + "bundleDependencies": [ + "punycode" + ], + "dependencies": { + "@aws-cdk/aws-certificatemanager": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/custom-resources": "1.124.0", + "constructs": "^3.3.69", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-certificatemanager": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/custom-resources": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-cognito/node_modules/punycode": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@aws-cdk/aws-dynamodb": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.124.0.tgz", + "integrity": "sha512-ygih0WqBJS1oqcNivup8kbDSghnMjb2yVzU4jpI3RYLCvh6iFf3Mrx02LS3liN1+WyE3ds0HqKJryBnqjgeJQw==", + "dependencies": { + "@aws-cdk/aws-applicationautoscaling": "1.124.0", + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kinesis": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/custom-resources": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-applicationautoscaling": "1.124.0", + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kinesis": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/custom-resources": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-ec2": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ec2/-/aws-ec2-1.124.0.tgz", + "integrity": "sha512-G7h7jhbK5DUrPvxb7DXh3/ZPR1UtVaek6Hgd7/gV1oySbCEmxkPcJuODB/4rWe7CJHDNZJm1K1fldB1lDjpBsQ==", + "dependencies": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/aws-s3-assets": "1.124.0", + "@aws-cdk/aws-ssm": "1.124.0", + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "@aws-cdk/region-info": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/aws-s3-assets": "1.124.0", + "@aws-cdk/aws-ssm": "1.124.0", + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "@aws-cdk/region-info": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-ecr": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ecr/-/aws-ecr-1.124.0.tgz", + "integrity": "sha512-0MjU7r4CdGvKDcQHfwopihTBXE72Mnr05mmanZPOZ6JL1PwHqLGaeRODgaVF1v4GAw5v3zDoKx+LThCq833CUg==", + "dependencies": { + "@aws-cdk/aws-events": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-events": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-ecr-assets": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ecr-assets/-/aws-ecr-assets-1.124.0.tgz", + "integrity": "sha512-wsajG5+wqwZ9+0dS18bCtVe4X6noJT8WKNNoe8nSk2UkUZwtt0J56Y9P7qtCrnMQFysBjIH0EP7jT6BUIAq01Q==", + "bundleDependencies": [ + "minimatch" + ], + "dependencies": { + "@aws-cdk/assets": "1.124.0", + "@aws-cdk/aws-ecr": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/assets": "1.124.0", + "@aws-cdk/aws-ecr": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-ecr-assets/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@aws-cdk/aws-ecr-assets/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@aws-cdk/aws-ecr-assets/node_modules/concat-map": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@aws-cdk/aws-ecr-assets/node_modules/minimatch": { + "version": "3.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@aws-cdk/aws-efs": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-efs/-/aws-efs-1.124.0.tgz", + "integrity": "sha512-bhzFlyTcFTxPO4eEqHh06DFR7kxqtUcTZe9Wbd/gGrksJIU6LpmFOvGzuxBtDb/YyrjQmDc3yU+aeQo9htCm6A==", + "dependencies": { + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-elasticsearch": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-elasticsearch/-/aws-elasticsearch-1.124.0.tgz", + "integrity": "sha512-qeMGcjSJNXwghNEUCxrHgkxY1JqKNwOdnuHH5WyU/xZYueMkWYg2IlGLk1y7JdDmI92l5+gJZHMAdfm4U4NQ/g==", + "dependencies": { + "@aws-cdk/aws-certificatemanager": "1.124.0", + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/aws-route53": "1.124.0", + "@aws-cdk/aws-secretsmanager": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/custom-resources": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-certificatemanager": "1.124.0", + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/aws-route53": "1.124.0", + "@aws-cdk/aws-secretsmanager": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/custom-resources": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-events": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-events/-/aws-events-1.124.0.tgz", + "integrity": "sha512-zF1RWh6YdGdns0zbym6b3mnp0LNsX0lPfyronHHZuHcybnPFLaCbHyUUZaw2iKnztIid4tGxnpKgxkfBIr/MsQ==", + "dependencies": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-iam": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-iam/-/aws-iam-1.124.0.tgz", + "integrity": "sha512-fuN+M7y/t8GH9KVgui84yTCM1zz7m/MZU/8a8lggkiP9j0d/wKiDq/vtiyvuNvPr0Mow9gFOB1y3DCunF48IwQ==", + "dependencies": { + "@aws-cdk/core": "1.124.0", + "@aws-cdk/region-info": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/core": "1.124.0", + "@aws-cdk/region-info": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-kinesis": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-kinesis/-/aws-kinesis-1.124.0.tgz", + "integrity": "sha512-WyRCdmGMoVT38HWW8+szGY09eNu0ijkEWtgeBNewk0Z9x1YQyqPngQ2KfRHTnunZn89KkHtA7yk2GotiVZKpSA==", + "dependencies": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-kms": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-kms/-/aws-kms-1.124.0.tgz", + "integrity": "sha512-fsJCcRGZFGRruK0o3LbklHtMGV4rEvmDRLkEbWXu/U8sfn2uEF7MfdQHKjpVhkNT33pGTeEwYUO+vneZZsXfew==", + "dependencies": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-lambda": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-lambda/-/aws-lambda-1.124.0.tgz", + "integrity": "sha512-45Ttb6JCgDAlKXc3KR2dCUVM/SCkO2YArsI/mSWb7ECt676c4Ykhmaz/Zvrnl/3/21KVkG1hjLEY7ZoLa1ExNQ==", + "dependencies": { + "@aws-cdk/aws-applicationautoscaling": "1.124.0", + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-codeguruprofiler": "1.124.0", + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-ecr": "1.124.0", + "@aws-cdk/aws-ecr-assets": "1.124.0", + "@aws-cdk/aws-efs": "1.124.0", + "@aws-cdk/aws-events": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/aws-s3-assets": "1.124.0", + "@aws-cdk/aws-signer": "1.124.0", + "@aws-cdk/aws-sqs": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "@aws-cdk/region-info": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-applicationautoscaling": "1.124.0", + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-codeguruprofiler": "1.124.0", + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-ecr": "1.124.0", + "@aws-cdk/aws-ecr-assets": "1.124.0", + "@aws-cdk/aws-efs": "1.124.0", + "@aws-cdk/aws-events": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/aws-s3-assets": "1.124.0", + "@aws-cdk/aws-signer": "1.124.0", + "@aws-cdk/aws-sqs": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "@aws-cdk/region-info": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-logs": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-logs/-/aws-logs-1.124.0.tgz", + "integrity": "sha512-V5SnKmueSkgzMMJH+8SWWUFp3eQjmplNDGRjXfgBVYcrQU3AAvMw9KzP+PfFnjUBH40RUFyGIhPnCH4X+yTngA==", + "dependencies": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-s3-assets": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-s3-assets": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-rds": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-rds/-/aws-rds-1.124.0.tgz", + "integrity": "sha512-ndr4XkS+wdI6vz5a2z0J9pdytdnYqQsFh0gpyP0rc9b1ANzYw/j9oMV/By9c6hhdUU4h5pKyMMqtHiWKMaoNlw==", + "dependencies": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-events": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/aws-secretsmanager": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-events": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/aws-secretsmanager": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-route53": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-route53/-/aws-route53-1.124.0.tgz", + "integrity": "sha512-HgCzDT6GmwV8M305yS5lDGXlIC/jopLBPysxd8lOJ1Os8f/BDKtPg2upFUj0g6j0N5qUsgihftLSVpsKvB2SFg==", + "dependencies": { + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/custom-resources": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/custom-resources": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-s3": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3/-/aws-s3-1.124.0.tgz", + "integrity": "sha512-9S0NZrIMX9wf2snJZVrumR3eSTExAznFBA/vgnVfGulcp9O+U81TEygHPORWSSB23pUGk2e0tDRQHKsrZ4v/aA==", + "dependencies": { + "@aws-cdk/aws-events": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-events": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-s3-assets": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.124.0.tgz", + "integrity": "sha512-tl6AyIOIWWbLcBP1jjaWIkSiG3n0L9UhDJzrD68rybNKS6qOdxlcQqvNbsZWBBmZrypU+AjlhY5vx40WbDficQ==", + "dependencies": { + "@aws-cdk/assets": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/assets": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-sam": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sam/-/aws-sam-1.124.0.tgz", + "integrity": "sha512-5yQsH3FNp+Mc4FdNwtrG1uRGqzXFSZEcds0FeVs338wDYLPDMnBe4kZzmOO4hY7d7siKP3E5tn+v8cSGvTUiSA==", + "dependencies": { + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-secretsmanager": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-secretsmanager/-/aws-secretsmanager-1.124.0.tgz", + "integrity": "sha512-rZt1Jo2u83YE4TbaqZmoxaWYfPNNr+Me56AzqfRmKiLmxjxuHIgymoqMx+KTO5Ag3eOw6t6F8MRmk1dX+svfgw==", + "dependencies": { + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/aws-sam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/aws-sam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-signer": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-signer/-/aws-signer-1.124.0.tgz", + "integrity": "sha512-wxZxzCSAcb1WCzikiUh3KYvW8b2L0/lh77R+54rbWQYgKhUlQn+DF3IK4ngg7vVFBXtYgIKxEY2Mqf3AqbW0fw==", + "dependencies": { + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-sns": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sns/-/aws-sns-1.124.0.tgz", + "integrity": "sha512-cG1VyT6jM9SARw8aqPMdLtjbta1+hPhlFgyuAln8PvwhHSHPSyDDvkojd7zcxvVzELRj64IQ8HZ5l07JT76t+Q==", + "dependencies": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-codestarnotifications": "1.124.0", + "@aws-cdk/aws-events": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-sqs": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-codestarnotifications": "1.124.0", + "@aws-cdk/aws-events": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-sqs": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-sqs": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sqs/-/aws-sqs-1.124.0.tgz", + "integrity": "sha512-yUOe+jC5fi+NHOEr3f5UHLJJxW2HRdE4aUjlF1wsAa+kwG9lecN4TlP2POTkZm0SkXeaA/4WHhhimDxKy54Djg==", + "dependencies": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/aws-ssm": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ssm/-/aws-ssm-1.124.0.tgz", + "integrity": "sha512-41mopAh9ZTg3SL04P0WOO1d3sCDYJL3A/fPWCxDuzizSojdI2EWqvKf/5Lu1NY1jYZG+2ls7xqgG4b8x9BDILw==", + "dependencies": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/cloud-assembly-schema": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.124.0.tgz", + "integrity": "sha512-emrkfHetGoh6lhrT7ato06VAZun1UVYjJueL9avHxFgzX5qiobP4iWk6M0EZpk7yHlDOtJtp86MJalYYMS6Oww==", + "bundleDependencies": [ + "jsonschema", + "semver" + ], + "dependencies": { + "jsonschema": "^1.4.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + } + }, + "node_modules/@aws-cdk/cloud-assembly-schema/node_modules/jsonschema": { + "version": "1.4.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/@aws-cdk/cloud-assembly-schema/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@aws-cdk/cloud-assembly-schema/node_modules/semver": { + "version": "7.3.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@aws-cdk/cloud-assembly-schema/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/@aws-cdk/core": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/core/-/core-1.124.0.tgz", + "integrity": "sha512-QsTLvOuF+WJdtF11Bwuh+THWry7OmErs3XDaiHFweZPLMc2O3EEQvCgSKstH7Y9HUTpW7ZSGQHryxCjpTl1Wmg==", + "bundleDependencies": [ + "fs-extra", + "minimatch", + "@balena/dockerignore", + "ignore" + ], + "dependencies": { + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "@aws-cdk/region-info": "1.124.0", + "@balena/dockerignore": "^1.0.2", + "constructs": "^3.3.69", + "fs-extra": "^9.1.0", + "ignore": "^5.1.8", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "@aws-cdk/region-info": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/core/node_modules/@balena/dockerignore": { + "version": "1.0.2", + "inBundle": true, + "license": "Apache-2.0" + }, + "node_modules/@aws-cdk/core/node_modules/at-least-node": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@aws-cdk/core/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@aws-cdk/core/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@aws-cdk/core/node_modules/concat-map": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@aws-cdk/core/node_modules/fs-extra": { + "version": "9.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@aws-cdk/core/node_modules/graceful-fs": { + "version": "4.2.6", + "inBundle": true, + "license": "ISC" + }, + "node_modules/@aws-cdk/core/node_modules/ignore": { + "version": "5.1.8", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@aws-cdk/core/node_modules/jsonfile": { + "version": "6.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@aws-cdk/core/node_modules/minimatch": { + "version": "3.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@aws-cdk/core/node_modules/universalify": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-cdk/custom-resources": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/custom-resources/-/custom-resources-1.124.0.tgz", + "integrity": "sha512-sR9igvDNXTscRs3YjXab32u5vs1SLtOr6pxxnzxt53wZ6vkzOwEUGpXMY5seXd/IWKe5vV1LhTfFZ+U+lG7tsQ==", + "dependencies": { + "@aws-cdk/aws-cloudformation": "1.124.0", + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/aws-sns": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/aws-cloudformation": "1.124.0", + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/aws-sns": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "node_modules/@aws-cdk/cx-api": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.124.0.tgz", + "integrity": "sha512-InBcAoFJ0Ail7/IhJhhw2OwGyWgBv4HShRA20/czxvlQ2pOezcUxQOCJr5USM6dGvTOlDL38XVrw469m9boUzw==", + "bundleDependencies": [ + "semver" + ], + "dependencies": { + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" + }, + "peerDependencies": { + "@aws-cdk/cloud-assembly-schema": "1.124.0" + } + }, + "node_modules/@aws-cdk/cx-api/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@aws-cdk/cx-api/node_modules/semver": { + "version": "7.3.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@aws-cdk/cx-api/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/@aws-cdk/region-info": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/region-info/-/region-info-1.124.0.tgz", + "integrity": "sha512-v8Msal5kCv5Juscj6Dxjzx4HHiYKD3rWDLBAvaDN/V3zCNGga3s8M2aM/n7po7HLjVW333VzyuOCHBYnSrtMIg==", + "engines": { + "node": ">= 10.13.0 <13 || >=13.7.0" } }, "node_modules/@babel/code-frame": { @@ -938,12 +2125,6 @@ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", "dev": true }, - "node_modules/@types/pluralize": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/pluralize/-/pluralize-0.0.29.tgz", - "integrity": "sha512-BYOID+l2Aco2nBik+iYS4SZX0Lf20KPILP5RGmM1IgzdwNdTs0eebiFriOPcej1sX9mLnSoiNte5zcFxssgpGA==", - "dev": true - }, "node_modules/@types/prettier": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.5.tgz", @@ -1024,6 +2205,32 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/amplify-cli-shared-interfaces": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/amplify-cli-shared-interfaces/-/amplify-cli-shared-interfaces-1.1.0.tgz", + "integrity": "sha512-lN5Y4PfyY5SSCZLxRSfv3qhYYSEwEsFG9T+SbQIf05o6Yfim93Xy9f+1pAAlGc3f/HWjEqdegAH3HG496/BGeg==", + "peer": true + }, + "node_modules/amplify-prompts": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/amplify-prompts/-/amplify-prompts-2.2.0.tgz", + "integrity": "sha512-JZv9GTVz3//s8QlhNBZRuYcUCoxdAEJU6q2tivl2hN0XK3pckeofaXqv6Fi8e9c8NfUyA/u+JVRR7vE4QIMtyw==", + "peer": true, + "dependencies": { + "amplify-cli-shared-interfaces": "1.1.0", + "chalk": "^4.1.1", + "enquirer": "^2.3.6" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/ansi-escapes": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", @@ -1064,7 +2271,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -1141,15 +2347,6 @@ "node": ">=0.10.0" } }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -1304,7 +2501,8 @@ "node_modules/balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "node_modules/base": { "version": "0.11.2", @@ -1387,6 +2585,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1494,10 +2693,9 @@ "dev": true }, "node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1511,209 +2709,63 @@ }, "node_modules/char-regex": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", - "engines": { - "node": "*" - } - }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/cloudform": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cloudform/-/cloudform-2.3.0.tgz", - "integrity": "sha1-2w3SGoWVfBr1KWRue0jHzKOcvjw=", - "dev": true, - "dependencies": { - "jsonminify": "^0.4.1", - "ts-node": "^5.0.1", - "typescript": "^2.9.2" - }, - "bin": { - "cloudform": "cli/cloudform.js" - } - }, - "node_modules/cloudform-types": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/cloudform-types/-/cloudform-types-4.2.0.tgz", - "integrity": "sha512-i7fmpsOtrMzF4z3Ltpqn9Khi6pgSxNCMqqsXLXWbaZsczky7vA9mkq/Z2bdMUu5x4Eaj5wvvKc95ENZ0dtN/Uw==" - }, - "node_modules/cloudform/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cloudform/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cloudform/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/cloudform/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/cloudform/node_modules/diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, "engines": { - "node": ">=0.3.1" + "node": ">=10" } }, - "node_modules/cloudform/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", "engines": { - "node": ">=4" + "node": "*" } }, - "node_modules/cloudform/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true }, - "node_modules/cloudform/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/cloudform/node_modules/ts-node": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-5.0.1.tgz", - "integrity": "sha512-XK7QmDcNHVmZkVtkiwNDWiERRHPyU8nBqZB1+iv2UhOG0q3RQ9HsZ2CMqISlFbxjrYFGfG2mX7bW4dAyxBVzUw==", + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "dependencies": { - "arrify": "^1.0.0", - "chalk": "^2.3.0", - "diff": "^3.1.0", - "make-error": "^1.1.1", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "source-map-support": "^0.5.3", - "yn": "^2.0.0" - }, - "bin": { - "ts-node": "dist/bin.js" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/cloudform/node_modules/typescript": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", - "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=4.2.0" + "node": ">=0.10.0" } }, - "node_modules/cloudform/node_modules/yn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", - "integrity": "sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ==", + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, "node_modules/co": { @@ -1749,7 +2801,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -1760,8 +2811,7 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/combined-stream": { "version": "1.0.8", @@ -1784,7 +2834,16 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/constructs": { + "version": "3.4.45", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.4.45.tgz", + "integrity": "sha512-frkPbRa2/5KILm3R2oFmWKXplBQlR8SoPMv0eaRpiKvc+3QrPcZq99AQ7RRBWTYENqHp7QxJGky1B/jBlxLT1A==", + "engines": { + "node": ">= 14.17.0" + } }, "node_modules/convert-source-map": { "version": "1.7.0", @@ -1943,11 +3002,6 @@ "node": ">=0.10" } }, - "node_modules/deep-diff": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-1.0.2.tgz", - "integrity": "sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg==" - }, "node_modules/deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -2110,6 +3164,18 @@ "once": "^1.4.0" } }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "peer": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -2521,7 +3587,8 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "node_modules/fsevents": { "version": "2.1.3", @@ -2605,6 +3672,7 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2635,90 +3703,9 @@ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, "node_modules/graphql": { - "version": "14.5.8", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.5.8.tgz", - "integrity": "sha512-MMwmi0zlVLQKLdGiMfWkgQD7dY/TUKt4L+zgJ/aR0Howebod3aNgP5JkgvAULiR2HPVZaP2VEElqtdidHweLkg==", - "dependencies": { - "iterall": "^1.2.2" - }, - "engines": { - "node": ">= 6.x" - } - }, - "node_modules/graphql-appsync-transformer": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/graphql-appsync-transformer/-/graphql-appsync-transformer-1.0.35.tgz", - "integrity": "sha512-t6Ve+fs/loCPsr/K7POdXIdSl025XeR3vgtZ6rD+JZfHhwvdeMaidCjnFKQG+HYfPzppOBMxfspYh15FKLpQHw==", - "dev": true, - "dependencies": { - "cloudform": "^2.2.1", - "graphql": "^0.13.2", - "graphql-mapping-template": "^1.0.33", - "graphql-transformer-common": "^1.0.35", - "graphql-transformer-core": "^1.0.33" - } - }, - "node_modules/graphql-appsync-transformer/node_modules/graphql": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.13.2.tgz", - "integrity": "sha512-QZ5BL8ZO/B20VA8APauGBg3GyEgZ19eduvpLWoq5x7gMmWnHoy8rlQWPLmWgFvo1yNgjSEFMesmS4R6pPr7xog==", - "dev": true, - "dependencies": { - "iterall": "^1.2.1" - } - }, - "node_modules/graphql-appsync-transformer/node_modules/graphql-mapping-template": { - "version": "1.0.33", - "resolved": "https://registry.npmjs.org/graphql-mapping-template/-/graphql-mapping-template-1.0.33.tgz", - "integrity": "sha512-rMwjR2N9L4aOp5c3WZyOWorgEVWh1UNJ7VZj2jQKuKgjgSJZECcE/IPZJ/9upWbThp841HMTEveZ3Xm7ikYleA==", - "dev": true, - "dependencies": { - "cloudform": "^2.2.1" - } - }, - "node_modules/graphql-appsync-transformer/node_modules/graphql-transformer-common": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/graphql-transformer-common/-/graphql-transformer-common-1.0.35.tgz", - "integrity": "sha512-lsAZKc2JNe3Tu583kg1RO2vRqHy+zMvIisaVGHoDROH2KqN/MpoGq5dvQFei4bNvSZatSqbcVaU1K/RJmXfRDg==", - "dev": true, - "dependencies": { - "cloudform": "^2.2.1", - "graphql": "^0.13.2", - "graphql-mapping-template": "^1.0.33", - "graphql-transformer-core": "^1.0.33" - } - }, - "node_modules/graphql-appsync-transformer/node_modules/graphql-transformer-core": { - "version": "1.0.33", - "resolved": "https://registry.npmjs.org/graphql-transformer-core/-/graphql-transformer-core-1.0.33.tgz", - "integrity": "sha512-HHz3JN3Jz/db94uCZszabCZqOjYLYo9Pqs/eJwQU3B6ksd8GbNl4VtG+UTY/MCcRG0Lie8EqBPMedEX1FU9tqA==", - "dev": true, - "dependencies": { - "cloudform": "^2.2.1", - "graphql": "^0.13.2" - } - }, - "node_modules/graphql-dynamodb-transformer": { - "version": "6.19.16", - "resolved": "https://registry.npmjs.org/graphql-dynamodb-transformer/-/graphql-dynamodb-transformer-6.19.16.tgz", - "integrity": "sha512-uVSlVCNwozQ27cdFX0fr7HFbgH+ie4RF5RSe2F6+9YXAx++YPoQa7CiKns8zNlYiqEoUypxfvbY/1aQc8ZP/sw==", - "dev": true, - "dependencies": { - "@types/pluralize": "^0.0.29", - "cloudform-types": "^4.2.0", - "graphql": "^14.5.8", - "graphql-mapping-template": "4.15.3", - "graphql-transformer-common": "4.17.11", - "graphql-transformer-core": "6.21.7", - "md5": "^2.2.1", - "pluralize": "^8.0.0" - } - }, - "node_modules/graphql-dynamodb-transformer/node_modules/graphql": { "version": "14.7.0", "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.7.0.tgz", "integrity": "sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==", - "dev": true, "dependencies": { "iterall": "^1.2.2" }, @@ -2727,42 +3714,19 @@ } }, "node_modules/graphql-mapping-template": { - "version": "4.15.3", - "resolved": "https://registry.npmjs.org/graphql-mapping-template/-/graphql-mapping-template-4.15.3.tgz", - "integrity": "sha512-uzrFl/j4ZM5z0YufqJkmwpnM3wk06NvckVujUG9GgBAgLXf1CBT2d6Xuuzv1w7tFkZK+KPGvxrOaIlXgEhjU2A==" + "version": "4.20.5", + "resolved": "https://registry.npmjs.org/graphql-mapping-template/-/graphql-mapping-template-4.20.5.tgz", + "integrity": "sha512-bjouJJGZ67cIV0VjzUPsM4/q44inLprEsNpSZAfmdpQ3V7sKU5gKXpkJ5m+ftVsgOQ1RE3/t7SqABXwvx8NNSg==" }, "node_modules/graphql-transformer-common": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/graphql-transformer-common/-/graphql-transformer-common-4.17.11.tgz", - "integrity": "sha512-TG5ssUQ0/h0F1NihgdZwAOS2KGPTp3QGkS0Rl92KlNxXzEV2Hkxpp73oIezKHb96Xlkw9r8AI/9zjTIxE1+y1w==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/graphql-transformer-common/-/graphql-transformer-common-4.24.0.tgz", + "integrity": "sha512-wleRNCFJLrqhYUT4j3KOfh2zTkvVjA6MX/s0HBIFWbNfnzd/W0VDAvpE9q8sMipOvXJ4zcVIZggI7TttrA/fOw==", "dependencies": { "graphql": "^14.5.8", - "graphql-mapping-template": "4.15.3", - "md5": "^2.2.1" - } - }, - "node_modules/graphql-transformer-core": { - "version": "6.21.7", - "resolved": "https://registry.npmjs.org/graphql-transformer-core/-/graphql-transformer-core-6.21.7.tgz", - "integrity": "sha512-ltO4MedagcBm3BgBJrjCUhujnpE/4fXZUKTzzr0f8r9QBiu3UB+fpeFTTYWmL3KSLyvFKtj2AqU6zJ/CpJs3BA==", - "dependencies": { - "cloudform-types": "^4.2.0", - "deep-diff": "^1.0.2", - "fs-extra": "^8.1.0", - "glob": "^7.1.6", - "graphql": "^14.5.8", - "graphql-transformer-common": "4.17.11" - } - }, - "node_modules/graphql-transformer-core/node_modules/graphql": { - "version": "14.7.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.7.0.tgz", - "integrity": "sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==", - "dependencies": { - "iterall": "^1.2.2" - }, - "engines": { - "node": ">= 6.x" + "graphql-mapping-template": "4.20.5", + "md5": "^2.2.1", + "pluralize": "8.0.0" } }, "node_modules/growly": { @@ -2811,7 +3775,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -2968,6 +3931,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -2976,7 +3940,8 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/ip-regex": { "version": "2.1.0", @@ -4102,16 +5067,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/jsonminify": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/jsonminify/-/jsonminify-0.4.1.tgz", - "integrity": "sha1-gF2vuzk5UYjO6atYLIHvlZ1+cQw=", - "dev": true, - "engines": { - "node": ">=0.8.0", - "npm": ">=1.1.0" - } - }, "node_modules/jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -4186,10 +5141,9 @@ } }, "node_modules/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash.memoize": { "version": "4.1.2", @@ -4317,6 +5271,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -4561,6 +5516,14 @@ "node": ">=0.10.0" } }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, "node_modules/object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", @@ -4589,6 +5552,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "dependencies": { "wrappy": "1" } @@ -4725,6 +5689,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -4790,7 +5755,6 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "dev": true, "engines": { "node": ">=4" } @@ -5847,7 +6811,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -6002,6 +6965,14 @@ "node": ">=8" } }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "engines": { + "node": ">=6.10" + } + }, "node_modules/ts-jest": { "version": "26.4.1", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.1.tgz", @@ -6180,9 +7151,9 @@ } }, "node_modules/typescript": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.3.tgz", - "integrity": "sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg==", + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -6353,6 +7324,40 @@ "extsprintf": "^1.2.0" } }, + "node_modules/vm2": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.10.tgz", + "integrity": "sha512-AuECTSvwu2OHLAZYhG716YzwodKCIJxB6u1zG7PgSQwIgAlEaoXH52bxdcvT8GkGjnYK7r7yWDW0m0sOsPuBjQ==", + "dependencies": { + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + }, + "bin": { + "vm2": "bin/vm2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/vm2/node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/vm2/node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -6465,7 +7470,8 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "node_modules/write-file-atomic": { "version": "3.0.3", @@ -6540,32 +7546,744 @@ "node": ">=8" } }, - "node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=6" + } + } + }, + "dependencies": { + "@aws-amplify/graphql-model-transformer": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@aws-amplify/graphql-model-transformer/-/graphql-model-transformer-0.15.2.tgz", + "integrity": "sha512-lI8sLaimsad+ER8eKNoN3uUzOfojemX0ApoqKpCdLbWpiLGpv7oAkYAb2w5LyPYHmhNej7n97OA7uWn7Zyrekg==", + "dev": true, + "requires": { + "@aws-amplify/graphql-transformer-core": "0.17.9", + "@aws-amplify/graphql-transformer-interfaces": "1.14.6", + "@aws-cdk/aws-applicationautoscaling": "~1.124.0", + "@aws-cdk/aws-appsync": "~1.124.0", + "@aws-cdk/aws-cloudwatch": "~1.124.0", + "@aws-cdk/aws-dynamodb": "~1.124.0", + "@aws-cdk/aws-ec2": "~1.124.0", + "@aws-cdk/aws-iam": "~1.124.0", + "@aws-cdk/aws-kms": "~1.124.0", + "@aws-cdk/aws-lambda": "~1.124.0", + "@aws-cdk/aws-s3-assets": "~1.124.0", + "@aws-cdk/cloud-assembly-schema": "~1.124.0", + "@aws-cdk/core": "~1.124.0", + "@aws-cdk/custom-resources": "~1.124.0", + "@aws-cdk/cx-api": "~1.124.0", + "@aws-cdk/region-info": "~1.124.0", + "constructs": "^3.3.125", + "graphql": "^14.5.8", + "graphql-mapping-template": "4.20.5", + "graphql-transformer-common": "4.24.0" + } + }, + "@aws-amplify/graphql-transformer-core": { + "version": "0.17.9", + "resolved": "https://registry.npmjs.org/@aws-amplify/graphql-transformer-core/-/graphql-transformer-core-0.17.9.tgz", + "integrity": "sha512-c1ssCQg5tBk2/lisSdZy+Z7+PBJ1BLzZj7wAsdE93GgTQkLteDhlvVbBGHLCZ/v1vRnDgm00ytfr57aP9uZ1KA==", + "requires": { + "@aws-amplify/graphql-transformer-interfaces": "1.14.6", + "@aws-cdk/aws-applicationautoscaling": "~1.124.0", + "@aws-cdk/aws-appsync": "~1.124.0", + "@aws-cdk/aws-certificatemanager": "~1.124.0", + "@aws-cdk/aws-cloudwatch": "~1.124.0", + "@aws-cdk/aws-codeguruprofiler": "~1.124.0", + "@aws-cdk/aws-cognito": "~1.124.0", + "@aws-cdk/aws-dynamodb": "~1.124.0", + "@aws-cdk/aws-ec2": "~1.124.0", + "@aws-cdk/aws-efs": "~1.124.0", + "@aws-cdk/aws-elasticsearch": "~1.124.0", + "@aws-cdk/aws-events": "~1.124.0", + "@aws-cdk/aws-iam": "~1.124.0", + "@aws-cdk/aws-kms": "~1.124.0", + "@aws-cdk/aws-lambda": "~1.124.0", + "@aws-cdk/aws-logs": "~1.124.0", + "@aws-cdk/aws-route53": "~1.124.0", + "@aws-cdk/aws-s3": "~1.124.0", + "@aws-cdk/aws-s3-assets": "~1.124.0", + "@aws-cdk/aws-sqs": "~1.124.0", + "@aws-cdk/cloud-assembly-schema": "~1.124.0", + "@aws-cdk/core": "~1.124.0", + "@aws-cdk/custom-resources": "~1.124.0", + "@aws-cdk/cx-api": "~1.124.0", + "@aws-cdk/region-info": "~1.124.0", + "constructs": "^3.3.125", + "fs-extra": "^8.1.0", + "graphql": "^14.5.8", + "graphql-transformer-common": "4.24.0", + "lodash": "^4.17.21", + "md5": "^2.3.0", + "object-hash": "^3.0.0", + "ts-dedent": "^2.0.0", + "vm2": "^3.9.8" + } + }, + "@aws-amplify/graphql-transformer-interfaces": { + "version": "1.14.6", + "resolved": "https://registry.npmjs.org/@aws-amplify/graphql-transformer-interfaces/-/graphql-transformer-interfaces-1.14.6.tgz", + "integrity": "sha512-OVWB81IxjpC9E1TLSirOEeHM/33gaJjOnswlL5cBH32L9ShxeDJeMVd7D3egYdd1nt48HGmHyQyVqYxx3xhACg==", + "requires": { + "@aws-cdk/aws-appsync": "~1.124.0", + "@aws-cdk/aws-cloudwatch": "~1.124.0", + "@aws-cdk/aws-dynamodb": "~1.124.0", + "@aws-cdk/aws-ec2": "~1.124.0", + "@aws-cdk/aws-elasticsearch": "~1.124.0", + "@aws-cdk/aws-events": "~1.124.0", + "@aws-cdk/aws-iam": "~1.124.0", + "@aws-cdk/aws-kms": "~1.124.0", + "@aws-cdk/aws-lambda": "~1.124.0", + "@aws-cdk/aws-logs": "~1.124.0", + "@aws-cdk/aws-rds": "~1.124.0", + "@aws-cdk/aws-s3": "~1.124.0", + "@aws-cdk/aws-secretsmanager": "~1.124.0", + "@aws-cdk/core": "~1.124.0", + "@aws-cdk/custom-resources": "~1.124.0", + "constructs": "^3.3.125", + "graphql": "^14.5.8" + } + }, + "@aws-cdk/assets": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/assets/-/assets-1.124.0.tgz", + "integrity": "sha512-3ObGSa+DAwBO0B81IWuGyjIveFak/eZjARKDR0ZxWqXXotrtC2NzT/cHsscqwLzTw0WdDBT9JT/r3ib+PxzZ7g==", + "requires": { + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-applicationautoscaling": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.124.0.tgz", + "integrity": "sha512-gllRWs1PzmF2b+YjexjNx5fOKGJi9MfT3ggdPl/kVBbyc7qhyC6p6RVB0Q+FcTF9p0vM7ATAJgYN3eBzlB04/w==", + "requires": { + "@aws-cdk/aws-autoscaling-common": "1.124.0", + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-appsync": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-appsync/-/aws-appsync-1.124.0.tgz", + "integrity": "sha512-zEp2JeCYvkEDvlWY+9GyXvoVwnFWCc45Tm4oCGWsypVq0NN2IKGI0SAb6BUGFpMWiff6Xpgv/vg7LmyfVqP2aw==", + "requires": { + "@aws-cdk/aws-cognito": "1.124.0", + "@aws-cdk/aws-dynamodb": "1.124.0", + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-elasticsearch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/aws-rds": "1.124.0", + "@aws-cdk/aws-s3-assets": "1.124.0", + "@aws-cdk/aws-secretsmanager": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-autoscaling-common": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.124.0.tgz", + "integrity": "sha512-Ef+YT0GSXtkc0jTwXmNqjbUtjHXgIg5FSt4lkfWRe2DzG/AeCEZDY0s+yUJMn6tXk1ubmqgIZO/i0VhTq8nW/g==", + "requires": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-certificatemanager": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.124.0.tgz", + "integrity": "sha512-BICj4/t0BTOCMvbdJtBcMmvdAgTdOrzQbfO/BLAqz0naDKINISHcN7WwwC1de3b5WCDJ+NDfQVg9RGpgKO/NkQ==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/aws-route53": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-cloudformation": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.124.0.tgz", + "integrity": "sha512-7VCbW7e6zN4TjQxTM7iCOkx+NxlR6C8UShYrj79f2aWAmHU1qu5zcSKXeGvsC+jy63IW4w/becqG3TsM3L/Q4A==", + "requires": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/aws-sns": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-cloudwatch": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.124.0.tgz", + "integrity": "sha512-+CeTPF9U+lb6sR40JacovT+/fAaxxCuEa6GCOEiwDqX3vJD5zlYQ4Aj58cvuY7jUB48aavk+aSpgS/DCIepFOw==", + "requires": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-codeguruprofiler": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.124.0.tgz", + "integrity": "sha512-KSbxNZeIkp0C9PoSCpJAgFvX5BlrjRS62L9mMwaZZ3atzlrKJdvOhUPJ512UcA+y8GrsK4AU8cKlCznEtSWcsw==", + "requires": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-codestarnotifications": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-codestarnotifications/-/aws-codestarnotifications-1.124.0.tgz", + "integrity": "sha512-4u8Sdd5hUMgWGdEVVp7q8yb7oG0LdVtJ443fNlcx2lNjz1OnUrM7sBHeodmT+8ILxDqbP+5qglwqHSWYBzzZ+w==", + "requires": { + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-cognito": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cognito/-/aws-cognito-1.124.0.tgz", + "integrity": "sha512-/LTEwGiS9DyGygf0J5Egc3WMgeGVlWjBbORWZPBbAD/pqTZ8SYuGoK6p48MlGxn1F1XND8cQn7L+AEx+dKGwAg==", + "requires": { + "@aws-cdk/aws-certificatemanager": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/custom-resources": "1.124.0", + "constructs": "^3.3.69", + "punycode": "^2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "bundled": true + } + } + }, + "@aws-cdk/aws-dynamodb": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.124.0.tgz", + "integrity": "sha512-ygih0WqBJS1oqcNivup8kbDSghnMjb2yVzU4jpI3RYLCvh6iFf3Mrx02LS3liN1+WyE3ds0HqKJryBnqjgeJQw==", + "requires": { + "@aws-cdk/aws-applicationautoscaling": "1.124.0", + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kinesis": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/custom-resources": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-ec2": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ec2/-/aws-ec2-1.124.0.tgz", + "integrity": "sha512-G7h7jhbK5DUrPvxb7DXh3/ZPR1UtVaek6Hgd7/gV1oySbCEmxkPcJuODB/4rWe7CJHDNZJm1K1fldB1lDjpBsQ==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/aws-s3-assets": "1.124.0", + "@aws-cdk/aws-ssm": "1.124.0", + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "@aws-cdk/region-info": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-ecr": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ecr/-/aws-ecr-1.124.0.tgz", + "integrity": "sha512-0MjU7r4CdGvKDcQHfwopihTBXE72Mnr05mmanZPOZ6JL1PwHqLGaeRODgaVF1v4GAw5v3zDoKx+LThCq833CUg==", + "requires": { + "@aws-cdk/aws-events": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-ecr-assets": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ecr-assets/-/aws-ecr-assets-1.124.0.tgz", + "integrity": "sha512-wsajG5+wqwZ9+0dS18bCtVe4X6noJT8WKNNoe8nSk2UkUZwtt0J56Y9P7qtCrnMQFysBjIH0EP7jT6BUIAq01Q==", + "requires": { + "@aws-cdk/assets": "1.124.0", + "@aws-cdk/aws-ecr": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69", + "minimatch": "^3.0.4" + }, + "dependencies": { + "balanced-match": { + "version": "1.0.2", + "bundled": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "@aws-cdk/aws-efs": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-efs/-/aws-efs-1.124.0.tgz", + "integrity": "sha512-bhzFlyTcFTxPO4eEqHh06DFR7kxqtUcTZe9Wbd/gGrksJIU6LpmFOvGzuxBtDb/YyrjQmDc3yU+aeQo9htCm6A==", + "requires": { + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-elasticsearch": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-elasticsearch/-/aws-elasticsearch-1.124.0.tgz", + "integrity": "sha512-qeMGcjSJNXwghNEUCxrHgkxY1JqKNwOdnuHH5WyU/xZYueMkWYg2IlGLk1y7JdDmI92l5+gJZHMAdfm4U4NQ/g==", + "requires": { + "@aws-cdk/aws-certificatemanager": "1.124.0", + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/aws-route53": "1.124.0", + "@aws-cdk/aws-secretsmanager": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/custom-resources": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-events": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-events/-/aws-events-1.124.0.tgz", + "integrity": "sha512-zF1RWh6YdGdns0zbym6b3mnp0LNsX0lPfyronHHZuHcybnPFLaCbHyUUZaw2iKnztIid4tGxnpKgxkfBIr/MsQ==", + "requires": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-iam": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-iam/-/aws-iam-1.124.0.tgz", + "integrity": "sha512-fuN+M7y/t8GH9KVgui84yTCM1zz7m/MZU/8a8lggkiP9j0d/wKiDq/vtiyvuNvPr0Mow9gFOB1y3DCunF48IwQ==", + "requires": { + "@aws-cdk/core": "1.124.0", + "@aws-cdk/region-info": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-kinesis": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-kinesis/-/aws-kinesis-1.124.0.tgz", + "integrity": "sha512-WyRCdmGMoVT38HWW8+szGY09eNu0ijkEWtgeBNewk0Z9x1YQyqPngQ2KfRHTnunZn89KkHtA7yk2GotiVZKpSA==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-kms": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-kms/-/aws-kms-1.124.0.tgz", + "integrity": "sha512-fsJCcRGZFGRruK0o3LbklHtMGV4rEvmDRLkEbWXu/U8sfn2uEF7MfdQHKjpVhkNT33pGTeEwYUO+vneZZsXfew==", + "requires": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-lambda": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-lambda/-/aws-lambda-1.124.0.tgz", + "integrity": "sha512-45Ttb6JCgDAlKXc3KR2dCUVM/SCkO2YArsI/mSWb7ECt676c4Ykhmaz/Zvrnl/3/21KVkG1hjLEY7ZoLa1ExNQ==", + "requires": { + "@aws-cdk/aws-applicationautoscaling": "1.124.0", + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-codeguruprofiler": "1.124.0", + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-ecr": "1.124.0", + "@aws-cdk/aws-ecr-assets": "1.124.0", + "@aws-cdk/aws-efs": "1.124.0", + "@aws-cdk/aws-events": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/aws-s3-assets": "1.124.0", + "@aws-cdk/aws-signer": "1.124.0", + "@aws-cdk/aws-sqs": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "@aws-cdk/region-info": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-logs": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-logs/-/aws-logs-1.124.0.tgz", + "integrity": "sha512-V5SnKmueSkgzMMJH+8SWWUFp3eQjmplNDGRjXfgBVYcrQU3AAvMw9KzP+PfFnjUBH40RUFyGIhPnCH4X+yTngA==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-s3-assets": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-rds": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-rds/-/aws-rds-1.124.0.tgz", + "integrity": "sha512-ndr4XkS+wdI6vz5a2z0J9pdytdnYqQsFh0gpyP0rc9b1ANzYw/j9oMV/By9c6hhdUU4h5pKyMMqtHiWKMaoNlw==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-events": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/aws-secretsmanager": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-route53": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-route53/-/aws-route53-1.124.0.tgz", + "integrity": "sha512-HgCzDT6GmwV8M305yS5lDGXlIC/jopLBPysxd8lOJ1Os8f/BDKtPg2upFUj0g6j0N5qUsgihftLSVpsKvB2SFg==", + "requires": { + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/custom-resources": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-s3": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3/-/aws-s3-1.124.0.tgz", + "integrity": "sha512-9S0NZrIMX9wf2snJZVrumR3eSTExAznFBA/vgnVfGulcp9O+U81TEygHPORWSSB23pUGk2e0tDRQHKsrZ4v/aA==", + "requires": { + "@aws-cdk/aws-events": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-s3-assets": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.124.0.tgz", + "integrity": "sha512-tl6AyIOIWWbLcBP1jjaWIkSiG3n0L9UhDJzrD68rybNKS6qOdxlcQqvNbsZWBBmZrypU+AjlhY5vx40WbDficQ==", + "requires": { + "@aws-cdk/assets": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-s3": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-sam": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sam/-/aws-sam-1.124.0.tgz", + "integrity": "sha512-5yQsH3FNp+Mc4FdNwtrG1uRGqzXFSZEcds0FeVs338wDYLPDMnBe4kZzmOO4hY7d7siKP3E5tn+v8cSGvTUiSA==", + "requires": { + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-secretsmanager": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-secretsmanager/-/aws-secretsmanager-1.124.0.tgz", + "integrity": "sha512-rZt1Jo2u83YE4TbaqZmoxaWYfPNNr+Me56AzqfRmKiLmxjxuHIgymoqMx+KTO5Ag3eOw6t6F8MRmk1dX+svfgw==", + "requires": { + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/aws-sam": "1.124.0", + "@aws-cdk/core": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-signer": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-signer/-/aws-signer-1.124.0.tgz", + "integrity": "sha512-wxZxzCSAcb1WCzikiUh3KYvW8b2L0/lh77R+54rbWQYgKhUlQn+DF3IK4ngg7vVFBXtYgIKxEY2Mqf3AqbW0fw==", + "requires": { + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-sns": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sns/-/aws-sns-1.124.0.tgz", + "integrity": "sha512-cG1VyT6jM9SARw8aqPMdLtjbta1+hPhlFgyuAln8PvwhHSHPSyDDvkojd7zcxvVzELRj64IQ8HZ5l07JT76t+Q==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-codestarnotifications": "1.124.0", + "@aws-cdk/aws-events": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/aws-sqs": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-sqs": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sqs/-/aws-sqs-1.124.0.tgz", + "integrity": "sha512-yUOe+jC5fi+NHOEr3f5UHLJJxW2HRdE4aUjlF1wsAa+kwG9lecN4TlP2POTkZm0SkXeaA/4WHhhimDxKy54Djg==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/aws-ssm": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ssm/-/aws-ssm-1.124.0.tgz", + "integrity": "sha512-41mopAh9ZTg3SL04P0WOO1d3sCDYJL3A/fPWCxDuzizSojdI2EWqvKf/5Lu1NY1jYZG+2ls7xqgG4b8x9BDILw==", + "requires": { + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-kms": "1.124.0", + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" + } + }, + "@aws-cdk/cloud-assembly-schema": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.124.0.tgz", + "integrity": "sha512-emrkfHetGoh6lhrT7ato06VAZun1UVYjJueL9avHxFgzX5qiobP4iWk6M0EZpk7yHlDOtJtp86MJalYYMS6Oww==", + "requires": { + "jsonschema": "^1.4.0", + "semver": "^7.3.5" + }, + "dependencies": { + "jsonschema": { + "version": "1.4.0", + "bundled": true + }, + "lru-cache": { + "version": "6.0.0", + "bundled": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "bundled": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "bundled": true + } + } + }, + "@aws-cdk/core": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/core/-/core-1.124.0.tgz", + "integrity": "sha512-QsTLvOuF+WJdtF11Bwuh+THWry7OmErs3XDaiHFweZPLMc2O3EEQvCgSKstH7Y9HUTpW7ZSGQHryxCjpTl1Wmg==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "@aws-cdk/cx-api": "1.124.0", + "@aws-cdk/region-info": "1.124.0", + "@balena/dockerignore": "^1.0.2", + "constructs": "^3.3.69", + "fs-extra": "^9.1.0", + "ignore": "^5.1.8", + "minimatch": "^3.0.4" }, - "engines": { - "node": ">=6" + "dependencies": { + "@balena/dockerignore": { + "version": "1.0.2", + "bundled": true + }, + "at-least-node": { + "version": "1.0.0", + "bundled": true + }, + "balanced-match": { + "version": "1.0.2", + "bundled": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "fs-extra": { + "version": "9.1.0", + "bundled": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "graceful-fs": { + "version": "4.2.6", + "bundled": true + }, + "ignore": { + "version": "5.1.8", + "bundled": true + }, + "jsonfile": { + "version": "6.1.0", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "universalify": { + "version": "2.0.0", + "bundled": true + } } }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=6" + "@aws-cdk/custom-resources": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/custom-resources/-/custom-resources-1.124.0.tgz", + "integrity": "sha512-sR9igvDNXTscRs3YjXab32u5vs1SLtOr6pxxnzxt53wZ6vkzOwEUGpXMY5seXd/IWKe5vV1LhTfFZ+U+lG7tsQ==", + "requires": { + "@aws-cdk/aws-cloudformation": "1.124.0", + "@aws-cdk/aws-ec2": "1.124.0", + "@aws-cdk/aws-iam": "1.124.0", + "@aws-cdk/aws-lambda": "1.124.0", + "@aws-cdk/aws-logs": "1.124.0", + "@aws-cdk/aws-sns": "1.124.0", + "@aws-cdk/core": "1.124.0", + "constructs": "^3.3.69" } - } - }, - "dependencies": { + }, + "@aws-cdk/cx-api": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.124.0.tgz", + "integrity": "sha512-InBcAoFJ0Ail7/IhJhhw2OwGyWgBv4HShRA20/czxvlQ2pOezcUxQOCJr5USM6dGvTOlDL38XVrw469m9boUzw==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.124.0", + "semver": "^7.3.5" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "bundled": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "bundled": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "bundled": true + } + } + }, + "@aws-cdk/region-info": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/region-info/-/region-info-1.124.0.tgz", + "integrity": "sha512-v8Msal5kCv5Juscj6Dxjzx4HHiYKD3rWDLBAvaDN/V3zCNGga3s8M2aM/n7po7HLjVW333VzyuOCHBYnSrtMIg==" + }, "@babel/code-frame": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", @@ -7368,12 +9086,6 @@ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", "dev": true }, - "@types/pluralize": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/pluralize/-/pluralize-0.0.29.tgz", - "integrity": "sha512-BYOID+l2Aco2nBik+iYS4SZX0Lf20KPILP5RGmM1IgzdwNdTs0eebiFriOPcej1sX9mLnSoiNte5zcFxssgpGA==", - "dev": true - }, "@types/prettier": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.5.tgz", @@ -7441,6 +9153,29 @@ "uri-js": "^4.2.2" } }, + "amplify-cli-shared-interfaces": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/amplify-cli-shared-interfaces/-/amplify-cli-shared-interfaces-1.1.0.tgz", + "integrity": "sha512-lN5Y4PfyY5SSCZLxRSfv3qhYYSEwEsFG9T+SbQIf05o6Yfim93Xy9f+1pAAlGc3f/HWjEqdegAH3HG496/BGeg==", + "peer": true + }, + "amplify-prompts": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/amplify-prompts/-/amplify-prompts-2.2.0.tgz", + "integrity": "sha512-JZv9GTVz3//s8QlhNBZRuYcUCoxdAEJU6q2tivl2hN0XK3pckeofaXqv6Fi8e9c8NfUyA/u+JVRR7vE4QIMtyw==", + "peer": true, + "requires": { + "amplify-cli-shared-interfaces": "1.1.0", + "chalk": "^4.1.1", + "enquirer": "^2.3.6" + } + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "peer": true + }, "ansi-escapes": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", @@ -7468,7 +9203,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -7524,12 +9258,6 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true - }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -7648,7 +9376,8 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "base": { "version": "0.11.2", @@ -7718,6 +9447,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7807,10 +9537,9 @@ "dev": true }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -7867,117 +9596,6 @@ "wrap-ansi": "^6.2.0" } }, - "cloudform": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cloudform/-/cloudform-2.3.0.tgz", - "integrity": "sha1-2w3SGoWVfBr1KWRue0jHzKOcvjw=", - "dev": true, - "requires": { - "jsonminify": "^0.4.1", - "ts-node": "^5.0.1", - "typescript": "^2.9.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "ts-node": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-5.0.1.tgz", - "integrity": "sha512-XK7QmDcNHVmZkVtkiwNDWiERRHPyU8nBqZB1+iv2UhOG0q3RQ9HsZ2CMqISlFbxjrYFGfG2mX7bW4dAyxBVzUw==", - "dev": true, - "requires": { - "arrify": "^1.0.0", - "chalk": "^2.3.0", - "diff": "^3.1.0", - "make-error": "^1.1.1", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "source-map-support": "^0.5.3", - "yn": "^2.0.0" - } - }, - "typescript": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", - "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", - "dev": true - }, - "yn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", - "integrity": "sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ==", - "dev": true - } - } - }, - "cloudform-types": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/cloudform-types/-/cloudform-types-4.2.0.tgz", - "integrity": "sha512-i7fmpsOtrMzF4z3Ltpqn9Khi6pgSxNCMqqsXLXWbaZsczky7vA9mkq/Z2bdMUu5x4Eaj5wvvKc95ENZ0dtN/Uw==" - }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -8004,7 +9622,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -8012,8 +9629,7 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "combined-stream": { "version": "1.0.8", @@ -8033,7 +9649,13 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "constructs": { + "version": "3.4.45", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.4.45.tgz", + "integrity": "sha512-frkPbRa2/5KILm3R2oFmWKXplBQlR8SoPMv0eaRpiKvc+3QrPcZq99AQ7RRBWTYENqHp7QxJGky1B/jBlxLT1A==" }, "convert-source-map": { "version": "1.7.0", @@ -8160,11 +9782,6 @@ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, - "deep-diff": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-1.0.2.tgz", - "integrity": "sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg==" - }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -8292,6 +9909,15 @@ "once": "^1.4.0" } }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "peer": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -8618,7 +10244,8 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "fsevents": { "version": "2.1.3", @@ -8679,6 +10306,7 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8700,131 +10328,27 @@ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, "graphql": { - "version": "14.5.8", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.5.8.tgz", - "integrity": "sha512-MMwmi0zlVLQKLdGiMfWkgQD7dY/TUKt4L+zgJ/aR0Howebod3aNgP5JkgvAULiR2HPVZaP2VEElqtdidHweLkg==", + "version": "14.7.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.7.0.tgz", + "integrity": "sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==", "requires": { "iterall": "^1.2.2" } }, - "graphql-appsync-transformer": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/graphql-appsync-transformer/-/graphql-appsync-transformer-1.0.35.tgz", - "integrity": "sha512-t6Ve+fs/loCPsr/K7POdXIdSl025XeR3vgtZ6rD+JZfHhwvdeMaidCjnFKQG+HYfPzppOBMxfspYh15FKLpQHw==", - "dev": true, - "requires": { - "cloudform": "^2.2.1", - "graphql": "^0.13.2", - "graphql-mapping-template": "^1.0.33", - "graphql-transformer-common": "^1.0.35", - "graphql-transformer-core": "^1.0.33" - }, - "dependencies": { - "graphql": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.13.2.tgz", - "integrity": "sha512-QZ5BL8ZO/B20VA8APauGBg3GyEgZ19eduvpLWoq5x7gMmWnHoy8rlQWPLmWgFvo1yNgjSEFMesmS4R6pPr7xog==", - "dev": true, - "requires": { - "iterall": "^1.2.1" - } - }, - "graphql-mapping-template": { - "version": "1.0.33", - "resolved": "https://registry.npmjs.org/graphql-mapping-template/-/graphql-mapping-template-1.0.33.tgz", - "integrity": "sha512-rMwjR2N9L4aOp5c3WZyOWorgEVWh1UNJ7VZj2jQKuKgjgSJZECcE/IPZJ/9upWbThp841HMTEveZ3Xm7ikYleA==", - "dev": true, - "requires": { - "cloudform": "^2.2.1" - } - }, - "graphql-transformer-common": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/graphql-transformer-common/-/graphql-transformer-common-1.0.35.tgz", - "integrity": "sha512-lsAZKc2JNe3Tu583kg1RO2vRqHy+zMvIisaVGHoDROH2KqN/MpoGq5dvQFei4bNvSZatSqbcVaU1K/RJmXfRDg==", - "dev": true, - "requires": { - "cloudform": "^2.2.1", - "graphql": "^0.13.2", - "graphql-mapping-template": "^1.0.33", - "graphql-transformer-core": "^1.0.33" - } - }, - "graphql-transformer-core": { - "version": "1.0.33", - "resolved": "https://registry.npmjs.org/graphql-transformer-core/-/graphql-transformer-core-1.0.33.tgz", - "integrity": "sha512-HHz3JN3Jz/db94uCZszabCZqOjYLYo9Pqs/eJwQU3B6ksd8GbNl4VtG+UTY/MCcRG0Lie8EqBPMedEX1FU9tqA==", - "dev": true, - "requires": { - "cloudform": "^2.2.1", - "graphql": "^0.13.2" - } - } - } - }, - "graphql-dynamodb-transformer": { - "version": "6.19.16", - "resolved": "https://registry.npmjs.org/graphql-dynamodb-transformer/-/graphql-dynamodb-transformer-6.19.16.tgz", - "integrity": "sha512-uVSlVCNwozQ27cdFX0fr7HFbgH+ie4RF5RSe2F6+9YXAx++YPoQa7CiKns8zNlYiqEoUypxfvbY/1aQc8ZP/sw==", - "dev": true, - "requires": { - "@types/pluralize": "^0.0.29", - "cloudform-types": "^4.2.0", - "graphql": "^14.5.8", - "graphql-mapping-template": "4.15.3", - "graphql-transformer-common": "4.17.11", - "graphql-transformer-core": "6.21.7", - "md5": "^2.2.1", - "pluralize": "^8.0.0" - }, - "dependencies": { - "graphql": { - "version": "14.7.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.7.0.tgz", - "integrity": "sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==", - "dev": true, - "requires": { - "iterall": "^1.2.2" - } - } - } - }, "graphql-mapping-template": { - "version": "4.15.3", - "resolved": "https://registry.npmjs.org/graphql-mapping-template/-/graphql-mapping-template-4.15.3.tgz", - "integrity": "sha512-uzrFl/j4ZM5z0YufqJkmwpnM3wk06NvckVujUG9GgBAgLXf1CBT2d6Xuuzv1w7tFkZK+KPGvxrOaIlXgEhjU2A==" + "version": "4.20.5", + "resolved": "https://registry.npmjs.org/graphql-mapping-template/-/graphql-mapping-template-4.20.5.tgz", + "integrity": "sha512-bjouJJGZ67cIV0VjzUPsM4/q44inLprEsNpSZAfmdpQ3V7sKU5gKXpkJ5m+ftVsgOQ1RE3/t7SqABXwvx8NNSg==" }, "graphql-transformer-common": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/graphql-transformer-common/-/graphql-transformer-common-4.17.11.tgz", - "integrity": "sha512-TG5ssUQ0/h0F1NihgdZwAOS2KGPTp3QGkS0Rl92KlNxXzEV2Hkxpp73oIezKHb96Xlkw9r8AI/9zjTIxE1+y1w==", - "requires": { - "graphql": "^14.5.8", - "graphql-mapping-template": "4.15.3", - "md5": "^2.2.1" - } - }, - "graphql-transformer-core": { - "version": "6.21.7", - "resolved": "https://registry.npmjs.org/graphql-transformer-core/-/graphql-transformer-core-6.21.7.tgz", - "integrity": "sha512-ltO4MedagcBm3BgBJrjCUhujnpE/4fXZUKTzzr0f8r9QBiu3UB+fpeFTTYWmL3KSLyvFKtj2AqU6zJ/CpJs3BA==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/graphql-transformer-common/-/graphql-transformer-common-4.24.0.tgz", + "integrity": "sha512-wleRNCFJLrqhYUT4j3KOfh2zTkvVjA6MX/s0HBIFWbNfnzd/W0VDAvpE9q8sMipOvXJ4zcVIZggI7TttrA/fOw==", "requires": { - "cloudform-types": "^4.2.0", - "deep-diff": "^1.0.2", - "fs-extra": "^8.1.0", - "glob": "^7.1.6", "graphql": "^14.5.8", - "graphql-transformer-common": "4.17.11" - }, - "dependencies": { - "graphql": { - "version": "14.7.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.7.0.tgz", - "integrity": "sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==", - "requires": { - "iterall": "^1.2.2" - } - } + "graphql-mapping-template": "4.20.5", + "md5": "^2.2.1", + "pluralize": "8.0.0" } }, "growly": { @@ -8862,8 +10386,7 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "has-value": { "version": "1.0.0", @@ -8984,6 +10507,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -8992,7 +10516,8 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "ip-regex": { "version": "2.1.0", @@ -9870,12 +11395,6 @@ "graceful-fs": "^4.1.6" } }, - "jsonminify": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/jsonminify/-/jsonminify-0.4.1.tgz", - "integrity": "sha1-gF2vuzk5UYjO6atYLIHvlZ1+cQw=", - "dev": true - }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -9932,10 +11451,9 @@ } }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash.memoize": { "version": "4.1.2", @@ -10039,6 +11557,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -10237,6 +11756,11 @@ } } }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" + }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", @@ -10259,6 +11783,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1" } @@ -10355,7 +11880,8 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-key": { "version": "2.0.1", @@ -10402,8 +11928,7 @@ "pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "dev": true + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==" }, "posix-character-classes": { "version": "0.1.1", @@ -11249,7 +12774,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -11370,6 +12894,11 @@ "punycode": "^2.1.1" } }, + "ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==" + }, "ts-jest": { "version": "26.4.1", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.1.tgz", @@ -11490,9 +13019,9 @@ } }, "typescript": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.3.tgz", - "integrity": "sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg==", + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", "dev": true }, "union-value": { @@ -11628,6 +13157,27 @@ "extsprintf": "^1.2.0" } }, + "vm2": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.10.tgz", + "integrity": "sha512-AuECTSvwu2OHLAZYhG716YzwodKCIJxB6u1zG7PgSQwIgAlEaoXH52bxdcvT8GkGjnYK7r7yWDW0m0sOsPuBjQ==", + "requires": { + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + }, + "dependencies": { + "acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==" + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + } + } + }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -11722,7 +13272,8 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "write-file-atomic": { "version": "3.0.3", diff --git a/package.json b/package.json index bc20037..d84dd06 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "graphql-ttl-transformer", - "version": "1.1.1", + "version": "2.0.0", "description": "Enable DynamoDB's time-to-live feature to auto-delete old entries in your AWS Amplify API!", "author": "Florian Gyger ", "license": "MIT", @@ -35,16 +35,16 @@ "dynamodb" ], "devDependencies": { - "graphql-appsync-transformer": "^1.0.35", - "graphql-dynamodb-transformer": "^6.19.16", + "@aws-amplify/graphql-model-transformer": "^0.15.2", "jest": "^26.6.0", "prettier": "^2.1.2", "ts-jest": "^26.4.1", - "typescript": "^4.0.3" + "typescript": "^4.6.2" }, "dependencies": { - "graphql": "^14.5.8", - "graphql-transformer-common": "^4.17.11", - "graphql-transformer-core": "^6.21.7" + "@aws-amplify/graphql-transformer-core": "^0.17.5", + "graphql": "^14.7.0", + "graphql-mapping-template": "^4.18.3", + "graphql-transformer-common": "^4.23.2" } } diff --git a/src/__tests__/ttl-transformer.test.ts b/src/__tests__/ttl-transformer.test.ts index 9eb11d5..687d270 100644 --- a/src/__tests__/ttl-transformer.test.ts +++ b/src/__tests__/ttl-transformer.test.ts @@ -1,19 +1,8 @@ -import { GraphQLTransform } from "graphql-transformer-core"; -import { DynamoDBModelTransformer } from "graphql-dynamodb-transformer"; +import { GraphQLTransform } from "@aws-amplify/graphql-transformer-core"; +import { ModelTransformer } from "@aws-amplify/graphql-model-transformer"; import { ModelResourceIDs } from "graphql-transformer-common"; import TtlTransformer from "../index"; -// @ts-ignore -import { AppSyncTransformer } from "graphql-appsync-transformer"; - -const transformer = new GraphQLTransform({ - transformers: [ - new AppSyncTransformer(), - new DynamoDBModelTransformer(), - new TtlTransformer(), - ], -}); - test("@ttl directive can be used on fields", () => { const schema = ` type ExpiringChatMessage @model { @@ -22,6 +11,9 @@ test("@ttl directive can be used on fields", () => { expirationUnixTime: AWSTimestamp! @ttl } `; + const transformer = new GraphQLTransform({ + transformers: [new ModelTransformer(), new TtlTransformer()], + }); expect(() => transformer.transform(schema)).not.toThrow(); }); @@ -33,6 +25,9 @@ test("@ttl directive can not be used on types", () => { expirationUnixTime: AWSTimestamp! } `; + const transformer = new GraphQLTransform({ + transformers: [new ModelTransformer(), new TtlTransformer()], + }); expect(() => transformer.transform(schema)).toThrowError( 'Directive "ttl" may not be used on OBJECT.' ); @@ -46,6 +41,9 @@ test("@ttl directive can not be used on fields other than Int and AWSTimestamp", expirationUnixTime: String! @ttl } `; + const transformer = new GraphQLTransform({ + transformers: [new ModelTransformer(), new TtlTransformer()], + }); expect(() => transformer.transform(schema)).toThrowError( 'Directive "ttl" must be used only on AWSTimestamp or Int type fields.' ); @@ -59,6 +57,9 @@ test("@ttl directive can be used on fields with AWSTimestamp type", () => { expirationUnixTime: AWSTimestamp! @ttl } `; + const transformer = new GraphQLTransform({ + transformers: [new ModelTransformer(), new TtlTransformer()], + }); expect(() => transformer.transform(schema)).not.toThrow(); }); @@ -70,6 +71,9 @@ test("@ttl directive can be used on fields with Int type", () => { expirationUnixTime: Int! @ttl } `; + const transformer = new GraphQLTransform({ + transformers: [new ModelTransformer(), new TtlTransformer()], + }); expect(() => transformer.transform(schema)).not.toThrow(); }); @@ -82,6 +86,9 @@ test("Only one @ttl directive per type is allowed", () => { anotherExpirationUnixTime: AWSTimestamp! @ttl } `; + const transformer = new GraphQLTransform({ + transformers: [new ModelTransformer(), new TtlTransformer()], + }); expect(() => transformer.transform(schema)).toThrowError( 'Directive "ttl" must be used only once in the same type.' ); @@ -89,6 +96,9 @@ test("Only one @ttl directive per type is allowed", () => { const getPropertiesOfSchemaTable = (schema: string, schemaTypeName: string) => { const tableName = ModelResourceIDs.ModelTableResourceID(schemaTypeName); + const transformer = new GraphQLTransform({ + transformers: [new ModelTransformer(), new TtlTransformer()], + }); const resources = transformer.transform(schema).stacks[schemaTypeName] .Resources; if (!resources) { diff --git a/src/ttl-transformer.ts b/src/ttl-transformer.ts index 3798c88..dc657dc 100644 --- a/src/ttl-transformer.ts +++ b/src/ttl-transformer.ts @@ -1,9 +1,11 @@ import { - Transformer, - gql, - TransformerContext, InvalidDirectiveError, -} from "graphql-transformer-core"; + TransformerPluginBase, +} from "@aws-amplify/graphql-transformer-core"; +import { + TransformerContextProvider, + TransformerSchemaVisitStepContextProvider, +} from "@aws-amplify/graphql-transformer-interfaces"; import { DirectiveNode, ObjectTypeDefinitionNode, @@ -11,22 +13,25 @@ import { FieldDefinitionNode, } from "graphql"; import { getBaseType, ModelResourceIDs } from "graphql-transformer-common"; +import { Table, CfnTable } from "@aws-cdk/aws-dynamodb"; +import { DynamoDbDataSource } from "@aws-cdk/aws-appsync"; +import { IConstruct } from "@aws-cdk/core"; + +export class TtlTransformer extends TransformerPluginBase { + private readonly ttlFields: Map< + ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, + string + > = new Map(); -export class TtlTransformer extends Transformer { constructor() { - super( - "TtlTransformer", - gql` - directive @ttl on FIELD_DEFINITION - ` - ); + super("TtlTransformer", "directive @ttl on FIELD_DEFINITION"); } public field = ( parent: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, definition: FieldDefinitionNode, directive: DirectiveNode, - acc: TransformerContext + acc: TransformerSchemaVisitStepContextProvider ) => { if (!["AWSTimestamp", "Int"].includes(getBaseType(definition.type))) { throw new InvalidDirectiveError( @@ -50,15 +55,31 @@ export class TtlTransformer extends Transformer { ); } - const tableName = ModelResourceIDs.ModelTableResourceID(parent.name.value); - const table = acc.getResource(tableName); const fieldName = definition.name.value; - table.Properties = { - ...table.Properties, - TimeToLiveSpecification: { - AttributeName: fieldName, - Enabled: true, - }, - }; + this.ttlFields.set(parent, fieldName); + }; + + public generateResolvers = (ctx: TransformerContextProvider): void => { + this.ttlFields.forEach((fieldName, parent) => { + const ddbTable = this.getTable(ctx, parent as ObjectTypeDefinitionNode) as Table; + (ddbTable["table"] as CfnTable).timeToLiveSpecification = { + attributeName: fieldName, + enabled: true, + }; + }); + }; + + private getTable = ( + context: TransformerContextProvider, + definition: ObjectTypeDefinitionNode + ): IConstruct => { + const ddbDataSource = context.dataSources.get( + definition + ) as DynamoDbDataSource; + const tableName = ModelResourceIDs.ModelTableResourceID( + definition.name.value + ); + const table = ddbDataSource.ds.stack.node.findChild(tableName); + return table; }; }