diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 8b1ff421b..2ec8a9d5b 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -75,13 +75,9 @@ importers: '@boostercloud/framework-core': workspace:^1.20.0 '@boostercloud/framework-types': workspace:^1.20.0 '@effect-ts/core': ^0.60.4 - '@oclif/command': ^1.8 - '@oclif/config': ^1.18 - '@oclif/dev-cli': ^1.26 - '@oclif/errors': ^1.3 - '@oclif/parser': ^3.8.7 - '@oclif/plugin-help': ^5.1 - '@oclif/test': ^2.1 + '@oclif/core': ^3.9.0 + '@oclif/plugin-help': ^5 + '@oclif/test': ^3.0.3 '@types/chai': 4.2.18 '@types/chai-as-promised': 7.1.4 '@types/child-process-promise': ^2.2.1 @@ -109,7 +105,7 @@ importers: eslint-plugin-unicorn: ~44.0.2 execa: ^2.0.3 faker: 5.1.0 - fancy-test: 1.4.3 + fancy-test: ^3.0.1 fp-ts: ^2.11.0 fs-extra: ^8.1.0 inflected: 2.1.0 @@ -131,10 +127,7 @@ importers: '@boostercloud/framework-core': link:../framework-core '@boostercloud/framework-types': link:../framework-types '@effect-ts/core': 0.60.5 - '@oclif/command': 1.8.24_@oclif+config@1.18.8 - '@oclif/config': 1.18.8 - '@oclif/errors': 1.3.6 - '@oclif/parser': 3.8.10 + '@oclif/core': 3.9.0 '@oclif/plugin-help': 5.2.9_xpss65pzqvfdcnzjlkstkx6toy chalk: 2.4.2 child-process-promise: 2.2.1 @@ -150,8 +143,7 @@ importers: devDependencies: '@boostercloud/application-tester': link:../application-tester '@boostercloud/eslint-config': link:../../tools/eslint-config - '@oclif/dev-cli': 1.26.10 - '@oclif/test': 2.3.17_xpss65pzqvfdcnzjlkstkx6toy + '@oclif/test': 3.0.3 '@types/chai': 4.2.18 '@types/chai-as-promised': 7.1.4 '@types/child-process-promise': 2.2.2 @@ -176,7 +168,7 @@ importers: eslint-plugin-prettier: 3.4.0_uyy4h6aa7bacputuojct3xmumq eslint-plugin-unicorn: 44.0.2_eslint@8.39.0 faker: 5.1.0 - fancy-test: 1.4.3 + fancy-test: 3.0.1 mocha: 10.2.0 nyc: 15.1.0 prettier: 2.3.0 @@ -636,20 +628,20 @@ importers: dependencies: '@aws-cdk/assets': 1.199.0_6t5bexudk3vtq7zhe7acxljz2e '@aws-cdk/aws-apigateway': 1.199.0_6ioy6wqnsnl357btnhiggvri2y - '@aws-cdk/aws-apigatewayv2': 1.199.0_27xmjacndcdczxlp2qs3oik2pi - '@aws-cdk/aws-cloudfront': 1.199.0_27xmjacndcdczxlp2qs3oik2pi + '@aws-cdk/aws-apigatewayv2': 1.199.0_74oizvoelbxgex3gbujl2xzm54 + '@aws-cdk/aws-cloudfront': 1.199.0_74oizvoelbxgex3gbujl2xzm54 '@aws-cdk/aws-dynamodb': 1.199.0_4somcjbyiqv34tounb2i2obuo4 '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi '@aws-cdk/aws-events-targets': 1.199.0_efa47vukfsbcitdg2oy6em6xpe '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q - '@aws-cdk/aws-lambda-event-sources': 1.199.0_i2pyrxv42thnu3m3lya7egnthy + '@aws-cdk/aws-lambda-event-sources': 1.199.0_3on2gbp3i6lbrxh3zrbluvabnq '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru '@aws-cdk/aws-s3-deployment': 1.199.0_rzysml6d2qht4bnjifnmuqxdpi '@aws-cdk/cloudformation-diff': 1.199.0 '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/custom-resources': 1.199.0_hpurdtmvyjlf5jd4m74jtjvrvu + '@aws-cdk/custom-resources': 1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu '@aws-cdk/cx-api': 1.199.0 '@boostercloud/framework-common-helpers': link:../framework-common-helpers '@boostercloud/framework-provider-aws': link:../framework-provider-aws @@ -1058,7 +1050,6 @@ importers: '@effect-ts/node': ~0.39.0 '@types/chai': 4.2.18 '@types/chai-as-promised': 7.1.4 - '@types/graphql': ^14.5.0 '@types/mocha': 10.0.1 '@types/node': ^18.15.3 '@types/sinon': 10.0.0 @@ -1094,7 +1085,6 @@ importers: '@boostercloud/metadata-booster': link:../metadata-booster '@types/chai': 4.2.18 '@types/chai-as-promised': 7.1.4 - '@types/graphql': 14.5.0 '@types/mocha': 10.0.1 '@types/node': 18.18.3 '@types/sinon': 10.0.0 @@ -1312,8 +1302,8 @@ packages: '@aws-cdk/aws-certificatemanager': 1.199.0_aklsbzsp6i2n6pzp4sxy6hufne '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi '@aws-cdk/aws-cognito': 1.199.0_hzslyw5ts33yz4we44vxrnbbrm - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta - '@aws-cdk/aws-elasticloadbalancingv2': 1.199.0_27xmjacndcdczxlp2qs3oik2pi + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 + '@aws-cdk/aws-elasticloadbalancingv2': 1.199.0_74oizvoelbxgex3gbujl2xzm54 '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy @@ -1329,7 +1319,7 @@ packages: - '@aws-cdk/custom-resources' dev: false - /@aws-cdk/aws-apigatewayv2/1.199.0_27xmjacndcdczxlp2qs3oik2pi: + /@aws-cdk/aws-apigatewayv2/1.199.0_74oizvoelbxgex3gbujl2xzm54: resolution: {integrity: sha512-yTrjZcTe5inn6kBLqB6VgJx5rQqXbIYaShT4gIX/9xZ2qdhSyq5WcIFSvhCaBB1fIGy3PTaDKwZe3GaVuVaDmQ==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -1340,12 +1330,13 @@ packages: dependencies: '@aws-cdk/aws-certificatemanager': 1.199.0_aklsbzsp6i2n6pzp4sxy6hufne '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm constructs: 3.4.293 transitivePeerDependencies: + - '@aws-cdk/assets' - '@aws-cdk/aws-lambda' - '@aws-cdk/aws-logs' - '@aws-cdk/custom-resources' @@ -1394,7 +1385,7 @@ packages: '@aws-cdk/core': 1.199.0 constructs: ^3.3.69 dependencies: - '@aws-cdk/aws-autoscaling': 1.199.0_7t4vdps2akqwoy42v6g6wkbq7u + '@aws-cdk/aws-autoscaling': 1.199.0_6ioy6wqnsnl357btnhiggvri2y '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q @@ -1405,7 +1396,7 @@ packages: constructs: 3.4.293 dev: false - /@aws-cdk/aws-autoscaling/1.199.0_7t4vdps2akqwoy42v6g6wkbq7u: + /@aws-cdk/aws-autoscaling/1.199.0_6ioy6wqnsnl357btnhiggvri2y: resolution: {integrity: sha512-JSwF4UC3JB1KpIQtLUhQytrhSBeEBxe20tLZy6lsdsULtJRz/rbz1Fm4GGUiqefX3gd9qcQBL5pwNlHhjGjZbg==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -1415,14 +1406,15 @@ packages: dependencies: '@aws-cdk/aws-autoscaling-common': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 '@aws-cdk/aws-elasticloadbalancing': 1.199.0_ehdkigggl2baqdi4l6p7upw4f4 - '@aws-cdk/aws-elasticloadbalancingv2': 1.199.0_27xmjacndcdczxlp2qs3oik2pi + '@aws-cdk/aws-elasticloadbalancingv2': 1.199.0_74oizvoelbxgex3gbujl2xzm54 '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-sns': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm constructs: 3.4.293 transitivePeerDependencies: + - '@aws-cdk/assets' - '@aws-cdk/aws-events' - '@aws-cdk/aws-lambda' - '@aws-cdk/aws-logs' @@ -1475,7 +1467,7 @@ packages: - '@aws-cdk/aws-events' dev: false - /@aws-cdk/aws-cloudfront/1.199.0_27xmjacndcdczxlp2qs3oik2pi: + /@aws-cdk/aws-cloudfront/1.199.0_74oizvoelbxgex3gbujl2xzm54: resolution: {integrity: sha512-y4EMHFN+AYsKtD/DbQeU37skklUSVHH2HVWntpN6Rt27oVnG9qqQS4GcI/ZJqJB/qULBjh5g4nqcbLjLr+RbOA==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -1488,7 +1480,7 @@ packages: dependencies: '@aws-cdk/aws-certificatemanager': 1.199.0_aklsbzsp6i2n6pzp4sxy6hufne '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q @@ -1498,6 +1490,7 @@ packages: '@aws-cdk/cx-api': 1.199.0 constructs: 3.4.293 transitivePeerDependencies: + - '@aws-cdk/assets' - '@aws-cdk/aws-logs' - '@aws-cdk/custom-resources' dev: false @@ -1531,8 +1524,8 @@ packages: '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi '@aws-cdk/aws-codecommit': 1.199.0_u6wgonek7tj4xuwvr3d2ei6crq '@aws-cdk/aws-codestarnotifications': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta - '@aws-cdk/aws-ecr': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 + '@aws-cdk/aws-ecr': 1.199.0_5lpmbvgigeswzbugyujlevszcq '@aws-cdk/aws-ecr-assets': 1.199.0_u6wgonek7tj4xuwvr3d2ei6crq '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu @@ -1540,7 +1533,7 @@ packages: '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru '@aws-cdk/aws-s3-assets': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-secretsmanager': 1.199.0_w44itfkgshmd42wctbnkck4r7e + '@aws-cdk/aws-secretsmanager': 1.199.0_uxypjio4ejtfqgxognd5fibs2q '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm '@aws-cdk/region-info': 1.199.0 constructs: 3.4.293 @@ -1633,7 +1626,7 @@ packages: '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/custom-resources': 1.199.0_hpurdtmvyjlf5jd4m74jtjvrvu + '@aws-cdk/custom-resources': 1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu constructs: 3.4.293 punycode: 2.3.0 transitivePeerDependencies: @@ -1661,14 +1654,14 @@ packages: '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/custom-resources': 1.199.0_hpurdtmvyjlf5jd4m74jtjvrvu + '@aws-cdk/custom-resources': 1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu constructs: 3.4.293 transitivePeerDependencies: - '@aws-cdk/aws-logs' - '@aws-cdk/cx-api' dev: false - /@aws-cdk/aws-ec2/1.199.0_h6wh2dtuanu3t32m4bj2sle3ta: + /@aws-cdk/aws-ec2/1.199.0_ylylsu27pdmlfxyxktlluxtkr4: resolution: {integrity: sha512-Bap+v3S8Ucodi6fy0WMcv10x/QcZ/j/U8NgbrdymQcZxez9C6wywTYTyjHhlyGL8GfE35lwf4p9P8F8tjZnDJg==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -1679,14 +1672,20 @@ packages: '@aws-cdk/cx-api': 1.199.0 constructs: ^3.3.69 dependencies: + '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu + '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru + '@aws-cdk/aws-s3-assets': 1.199.0_tqi77pcvvujtgay5663ykqn7wy '@aws-cdk/aws-ssm': 1.199.0_iumdymv27iwprkm3rzoqxlpuia '@aws-cdk/cloud-assembly-schema': 1.199.0 '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm '@aws-cdk/cx-api': 1.199.0 + '@aws-cdk/region-info': 1.199.0 constructs: 3.4.293 + transitivePeerDependencies: + - '@aws-cdk/assets' dev: false /@aws-cdk/aws-ecr-assets/1.199.0_u6wgonek7tj4xuwvr3d2ei6crq: @@ -1701,7 +1700,7 @@ packages: constructs: ^3.3.69 dependencies: '@aws-cdk/assets': 1.199.0_6t5bexudk3vtq7zhe7acxljz2e - '@aws-cdk/aws-ecr': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru + '@aws-cdk/aws-ecr': 1.199.0_5lpmbvgigeswzbugyujlevszcq '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm @@ -1711,7 +1710,7 @@ packages: - '@aws-cdk/aws-events' dev: false - /@aws-cdk/aws-ecr/1.199.0_wim6pvar6pmwiq3fs3ksmix5ru: + /@aws-cdk/aws-ecr/1.199.0_5lpmbvgigeswzbugyujlevszcq: resolution: {integrity: sha512-C4VG9uRf8UD/cNitVvYaQvF9zKwgWZoNLf43RaUrMEpo4Q/KE3/KilYBG8lsza8B7f4yjYRey5iOpydKE68kYg==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -1722,11 +1721,8 @@ packages: dependencies: '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/cx-api' dev: false /@aws-cdk/aws-ecs/1.199.0_7m5azgjywxpgdeoosvoxrcdts4: @@ -1742,25 +1738,25 @@ packages: constructs: ^3.3.69 dependencies: '@aws-cdk/aws-applicationautoscaling': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-autoscaling': 1.199.0_7t4vdps2akqwoy42v6g6wkbq7u + '@aws-cdk/aws-autoscaling': 1.199.0_6ioy6wqnsnl357btnhiggvri2y '@aws-cdk/aws-autoscaling-hooktargets': 1.199.0_wiaz33wtwefkv5d3nn7hbhuhmu '@aws-cdk/aws-certificatemanager': 1.199.0_aklsbzsp6i2n6pzp4sxy6hufne '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta - '@aws-cdk/aws-ecr': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 + '@aws-cdk/aws-ecr': 1.199.0_5lpmbvgigeswzbugyujlevszcq '@aws-cdk/aws-ecr-assets': 1.199.0_u6wgonek7tj4xuwvr3d2ei6crq '@aws-cdk/aws-elasticloadbalancing': 1.199.0_ehdkigggl2baqdi4l6p7upw4f4 - '@aws-cdk/aws-elasticloadbalancingv2': 1.199.0_27xmjacndcdczxlp2qs3oik2pi + '@aws-cdk/aws-elasticloadbalancingv2': 1.199.0_74oizvoelbxgex3gbujl2xzm54 '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy '@aws-cdk/aws-route53': 1.199.0_ytf4bxsrhewrt5j5jnuzynemxy - '@aws-cdk/aws-route53-targets': 1.199.0_2ap25t3f2ak5h2qxfnvuyuxrga + '@aws-cdk/aws-route53-targets': 1.199.0_6qn3q4quwxpkjgl3z2r2rmaqqi '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru '@aws-cdk/aws-s3-assets': 1.199.0_tqi77pcvvujtgay5663ykqn7wy - '@aws-cdk/aws-secretsmanager': 1.199.0_w44itfkgshmd42wctbnkck4r7e - '@aws-cdk/aws-servicediscovery': 1.199.0_mcuiip26demcvhycudknexqcta + '@aws-cdk/aws-secretsmanager': 1.199.0_uxypjio4ejtfqgxognd5fibs2q + '@aws-cdk/aws-servicediscovery': 1.199.0_4axszbdsnc7kzhsa3r5g56z4bu '@aws-cdk/aws-sns': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru '@aws-cdk/aws-sqs': 1.199.0_iumdymv27iwprkm3rzoqxlpuia '@aws-cdk/aws-ssm': 1.199.0_iumdymv27iwprkm3rzoqxlpuia @@ -1776,7 +1772,7 @@ packages: - '@aws-cdk/custom-resources' dev: false - /@aws-cdk/aws-efs/1.199.0_h6wh2dtuanu3t32m4bj2sle3ta: + /@aws-cdk/aws-efs/1.199.0_ylylsu27pdmlfxyxktlluxtkr4: resolution: {integrity: sha512-quJaKa6Wjl6y2pCKFpo2NmBrJTV4AKX3wupZdT5dJ8N54kRSKIE7oVF9TFO6k954d5E93YrA+tbA2xI7SUPk9w==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -1785,7 +1781,7 @@ packages: '@aws-cdk/cx-api': 1.199.0 constructs: ^3.3.69 dependencies: - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia '@aws-cdk/cloud-assembly-schema': 1.199.0 @@ -1793,6 +1789,7 @@ packages: '@aws-cdk/cx-api': 1.199.0 constructs: 3.4.293 transitivePeerDependencies: + - '@aws-cdk/assets' - '@aws-cdk/aws-logs' - '@aws-cdk/aws-s3' dev: false @@ -1805,12 +1802,12 @@ packages: '@aws-cdk/core': 1.199.0 constructs: ^3.3.69 dependencies: - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm constructs: 3.4.293 dev: false - /@aws-cdk/aws-elasticloadbalancingv2/1.199.0_27xmjacndcdczxlp2qs3oik2pi: + /@aws-cdk/aws-elasticloadbalancingv2/1.199.0_74oizvoelbxgex3gbujl2xzm54: resolution: {integrity: sha512-cb8dYlmqEjYRORTAu9Y8Xaiw3cZ0RSmCqiFL8Mj+IgxANDg9QdaMxdQu8QPWnC7+uVFWkbnD6G6NRL7FAPgnIA==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -1823,7 +1820,7 @@ packages: dependencies: '@aws-cdk/aws-certificatemanager': 1.199.0_aklsbzsp6i2n6pzp4sxy6hufne '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q '@aws-cdk/aws-route53': 1.199.0_ytf4bxsrhewrt5j5jnuzynemxy @@ -1834,6 +1831,7 @@ packages: '@aws-cdk/region-info': 1.199.0 constructs: 3.4.293 transitivePeerDependencies: + - '@aws-cdk/assets' - '@aws-cdk/aws-logs' - '@aws-cdk/custom-resources' dev: false @@ -1852,15 +1850,15 @@ packages: constructs: ^3.3.69 dependencies: '@aws-cdk/aws-apigateway': 1.199.0_6ioy6wqnsnl357btnhiggvri2y - '@aws-cdk/aws-autoscaling': 1.199.0_7t4vdps2akqwoy42v6g6wkbq7u + '@aws-cdk/aws-autoscaling': 1.199.0_6ioy6wqnsnl357btnhiggvri2y '@aws-cdk/aws-codebuild': 1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu '@aws-cdk/aws-codepipeline': 1.199.0_z4s7qll3yvb46zglrdwf6455hq - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 '@aws-cdk/aws-ecs': 1.199.0_7m5azgjywxpgdeoosvoxrcdts4 '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-kinesis': 1.199.0_e2y6n4vxxh6w5ycsjwgdk7fg7q - '@aws-cdk/aws-kinesisfirehose': 1.199.0_w44itfkgshmd42wctbnkck4r7e + '@aws-cdk/aws-kinesisfirehose': 1.199.0_maqnqwhn36fygp3z4rdnivbxii '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy @@ -1869,7 +1867,7 @@ packages: '@aws-cdk/aws-sqs': 1.199.0_iumdymv27iwprkm3rzoqxlpuia '@aws-cdk/aws-stepfunctions': 1.199.0_7pfu6l6qsjyfy4w6ive4ku47pa '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/custom-resources': 1.199.0_hpurdtmvyjlf5jd4m74jtjvrvu + '@aws-cdk/custom-resources': 1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu constructs: 3.4.293 transitivePeerDependencies: - '@aws-cdk/assets' @@ -1900,9 +1898,9 @@ packages: '@aws-cdk/custom-resources': 1.199.0 constructs: ^3.3.69 dependencies: - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/custom-resources': 1.199.0_hpurdtmvyjlf5jd4m74jtjvrvu + '@aws-cdk/custom-resources': 1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu constructs: 3.4.293 dev: false @@ -1938,7 +1936,7 @@ packages: - '@aws-cdk/cx-api' dev: false - /@aws-cdk/aws-kinesisfirehose/1.199.0_w44itfkgshmd42wctbnkck4r7e: + /@aws-cdk/aws-kinesisfirehose/1.199.0_maqnqwhn36fygp3z4rdnivbxii: resolution: {integrity: sha512-CXf6vBR4NBA1p4UXtNg1aEUXveUtGBplDYyfoVzDdhpGnMBKQig6aBpUKvRoQbah3dXNbPauBmWOWEqTwn6+Nw==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -1950,7 +1948,7 @@ packages: constructs: ^3.3.69 dependencies: '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-kinesis': 1.199.0_e2y6n4vxxh6w5ycsjwgdk7fg7q '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia @@ -1961,6 +1959,7 @@ packages: '@aws-cdk/region-info': 1.199.0 constructs: 3.4.293 transitivePeerDependencies: + - '@aws-cdk/assets' - '@aws-cdk/cx-api' dev: false @@ -1980,7 +1979,7 @@ packages: constructs: 3.4.293 dev: false - /@aws-cdk/aws-lambda-event-sources/1.199.0_i2pyrxv42thnu3m3lya7egnthy: + /@aws-cdk/aws-lambda-event-sources/1.199.0_3on2gbp3i6lbrxh3zrbluvabnq: resolution: {integrity: sha512-EVHMnIrP25GVknog8O6yIrenMMzPhIr9nVsVMslnD8A+bGKTjJhTSa90GqjTc8JJ8SB8WU2xx6UNJDjOOpQejg==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -1995,20 +1994,21 @@ packages: dependencies: '@aws-cdk/aws-apigateway': 1.199.0_6ioy6wqnsnl357btnhiggvri2y '@aws-cdk/aws-dynamodb': 1.199.0_4somcjbyiqv34tounb2i2obuo4 - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-kinesis': 1.199.0_e2y6n4vxxh6w5ycsjwgdk7fg7q '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q '@aws-cdk/aws-s3': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru '@aws-cdk/aws-s3-notifications': 1.199.0_fufarp47blk4okwshjegj2wjg4 - '@aws-cdk/aws-secretsmanager': 1.199.0_w44itfkgshmd42wctbnkck4r7e + '@aws-cdk/aws-secretsmanager': 1.199.0_uxypjio4ejtfqgxognd5fibs2q '@aws-cdk/aws-sns': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru '@aws-cdk/aws-sns-subscriptions': 1.199.0_x7skkdpav5hf4ncc76dwztyszi '@aws-cdk/aws-sqs': 1.199.0_iumdymv27iwprkm3rzoqxlpuia '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm constructs: 3.4.293 transitivePeerDependencies: + - '@aws-cdk/assets' - '@aws-cdk/aws-logs' - '@aws-cdk/cx-api' dev: false @@ -2028,10 +2028,10 @@ packages: '@aws-cdk/aws-applicationautoscaling': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi '@aws-cdk/aws-cloudwatch': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi '@aws-cdk/aws-codeguruprofiler': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta - '@aws-cdk/aws-ecr': 1.199.0_wim6pvar6pmwiq3fs3ksmix5ru + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 + '@aws-cdk/aws-ecr': 1.199.0_5lpmbvgigeswzbugyujlevszcq '@aws-cdk/aws-ecr-assets': 1.199.0_u6wgonek7tj4xuwvr3d2ei6crq - '@aws-cdk/aws-efs': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta + '@aws-cdk/aws-efs': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 '@aws-cdk/aws-events': 1.199.0_wcptolxmxi6sy3vjqhvgbrrnvi '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia @@ -2070,7 +2070,7 @@ packages: - '@aws-cdk/aws-s3' dev: false - /@aws-cdk/aws-route53-targets/1.199.0_2ap25t3f2ak5h2qxfnvuyuxrga: + /@aws-cdk/aws-route53-targets/1.199.0_6qn3q4quwxpkjgl3z2r2rmaqqi: resolution: {integrity: sha512-l8cg4zZncQ2JUF4Hd8kvouWYi5y63/2PKU57MY64dUC7wL/VjeEQMRJhehB11rt1OAbp/SNB2f/dnSTcNA8dmA==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -2083,11 +2083,11 @@ packages: constructs: ^3.3.69 dependencies: '@aws-cdk/aws-apigateway': 1.199.0_6ioy6wqnsnl357btnhiggvri2y - '@aws-cdk/aws-cloudfront': 1.199.0_27xmjacndcdczxlp2qs3oik2pi + '@aws-cdk/aws-cloudfront': 1.199.0_74oizvoelbxgex3gbujl2xzm54 '@aws-cdk/aws-cognito': 1.199.0_hzslyw5ts33yz4we44vxrnbbrm - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 '@aws-cdk/aws-elasticloadbalancing': 1.199.0_ehdkigggl2baqdi4l6p7upw4f4 - '@aws-cdk/aws-elasticloadbalancingv2': 1.199.0_27xmjacndcdczxlp2qs3oik2pi + '@aws-cdk/aws-elasticloadbalancingv2': 1.199.0_74oizvoelbxgex3gbujl2xzm54 '@aws-cdk/aws-globalaccelerator': 1.199.0_uhmkgheirzwotmxej4ph7fbqla '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-route53': 1.199.0_ytf4bxsrhewrt5j5jnuzynemxy @@ -2096,6 +2096,7 @@ packages: '@aws-cdk/region-info': 1.199.0 constructs: 3.4.293 transitivePeerDependencies: + - '@aws-cdk/assets' - '@aws-cdk/aws-lambda' - '@aws-cdk/aws-logs' - '@aws-cdk/custom-resources' @@ -2113,12 +2114,12 @@ packages: '@aws-cdk/custom-resources': 1.199.0 constructs: ^3.3.69 dependencies: - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy '@aws-cdk/cloud-assembly-schema': 1.199.0 '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm - '@aws-cdk/custom-resources': 1.199.0_hpurdtmvyjlf5jd4m74jtjvrvu + '@aws-cdk/custom-resources': 1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu constructs: 3.4.293 dev: false @@ -2154,9 +2155,9 @@ packages: '@aws-cdk/core': 1.199.0 constructs: ^3.3.69 dependencies: - '@aws-cdk/aws-cloudfront': 1.199.0_27xmjacndcdczxlp2qs3oik2pi - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta - '@aws-cdk/aws-efs': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta + '@aws-cdk/aws-cloudfront': 1.199.0_74oizvoelbxgex3gbujl2xzm54 + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 + '@aws-cdk/aws-efs': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy @@ -2225,7 +2226,7 @@ packages: constructs: 3.4.293 dev: false - /@aws-cdk/aws-secretsmanager/1.199.0_w44itfkgshmd42wctbnkck4r7e: + /@aws-cdk/aws-secretsmanager/1.199.0_uxypjio4ejtfqgxognd5fibs2q: resolution: {integrity: sha512-Dj0+q7I9xRwg1hHowrHb9rxmicDGZVmQixFaFuBdsS5zNfBNdC6WJGWhDddJDZIPclip06fXBm/by4+l4XUpNw==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -2235,20 +2236,15 @@ packages: '@aws-cdk/cx-api': 1.199.0 constructs: ^3.3.69 dependencies: - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu - '@aws-cdk/aws-kms': 1.199.0_iumdymv27iwprkm3rzoqxlpuia '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q '@aws-cdk/aws-sam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm '@aws-cdk/cx-api': 1.199.0 constructs: 3.4.293 - transitivePeerDependencies: - - '@aws-cdk/aws-logs' - - '@aws-cdk/aws-s3' dev: false - /@aws-cdk/aws-servicediscovery/1.199.0_mcuiip26demcvhycudknexqcta: + /@aws-cdk/aws-servicediscovery/1.199.0_4axszbdsnc7kzhsa3r5g56z4bu: resolution: {integrity: sha512-OSGcZQE5N4ynBFcv54XWSbfunBym5r/hHstpONZkRB+jf9nFEqaVqno9ZgeLU3in5m/QuK781g+dx0r0M0Ao6w==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -2256,12 +2252,13 @@ packages: '@aws-cdk/core': 1.199.0 constructs: ^3.3.69 dependencies: - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta - '@aws-cdk/aws-elasticloadbalancingv2': 1.199.0_27xmjacndcdczxlp2qs3oik2pi + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 + '@aws-cdk/aws-elasticloadbalancingv2': 1.199.0_74oizvoelbxgex3gbujl2xzm54 '@aws-cdk/aws-route53': 1.199.0_ytf4bxsrhewrt5j5jnuzynemxy '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm constructs: 3.4.293 transitivePeerDependencies: + - '@aws-cdk/assets' - '@aws-cdk/aws-iam' - '@aws-cdk/aws-lambda' - '@aws-cdk/aws-logs' @@ -2441,7 +2438,7 @@ packages: - '@balena/dockerignore' - ignore - /@aws-cdk/custom-resources/1.199.0_hpurdtmvyjlf5jd4m74jtjvrvu: + /@aws-cdk/custom-resources/1.199.0_6aw2ag5odq3zb2mttwz3fxe3hu: resolution: {integrity: sha512-2KXLD9LHQtXgjwyqMAZxXvo1q/7sZUGNpEWmxinEOaCNew57SRrWbz8U9gkUt1PHxUa6UqwA1F/aF+HXwQy2Tg==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -2452,7 +2449,7 @@ packages: constructs: ^3.3.69 dependencies: '@aws-cdk/aws-cloudformation': 1.199.0_fufarp47blk4okwshjegj2wjg4 - '@aws-cdk/aws-ec2': 1.199.0_h6wh2dtuanu3t32m4bj2sle3ta + '@aws-cdk/aws-ec2': 1.199.0_ylylsu27pdmlfxyxktlluxtkr4 '@aws-cdk/aws-iam': 1.199.0_xwfh4icwyvj4zfjhzlqde6qllu '@aws-cdk/aws-lambda': 1.199.0_5pbncl2no5vqinyo3n2ekkob5q '@aws-cdk/aws-logs': 1.199.0_tqi77pcvvujtgay5663ykqn7wy @@ -2460,6 +2457,7 @@ packages: '@aws-cdk/core': 1.199.0_kscyon7amn7dglog7cugnqvkwm constructs: 3.4.293 transitivePeerDependencies: + - '@aws-cdk/assets' - '@aws-cdk/aws-events' - '@aws-cdk/aws-s3' - '@aws-cdk/cx-api' @@ -3207,107 +3205,6 @@ packages: resolution: {integrity: sha512-3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q==} deprecated: this package has been deprecated, use `ci-info` instead - /@oclif/command/1.8.24_@oclif+config@1.18.2: - resolution: {integrity: sha512-FbSChfBO2QFeC5eEeXmi8+kZvBCDzYdpEKhOMaz0sfKMerwSlKxsqWQPGWCjTHaowIUMtnMD3VZ8yfX5qE7SAQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@oclif/config': ^1 - dependencies: - '@oclif/config': 1.18.2 - '@oclif/errors': 1.3.6 - '@oclif/help': 1.0.5 - '@oclif/parser': 3.8.10 - debug: 4.3.4 - semver: 7.5.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@oclif/command/1.8.24_@oclif+config@1.18.8: - resolution: {integrity: sha512-FbSChfBO2QFeC5eEeXmi8+kZvBCDzYdpEKhOMaz0sfKMerwSlKxsqWQPGWCjTHaowIUMtnMD3VZ8yfX5qE7SAQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@oclif/config': ^1 - dependencies: - '@oclif/config': 1.18.8 - '@oclif/errors': 1.3.6 - '@oclif/help': 1.0.5 - '@oclif/parser': 3.8.10 - debug: 4.3.4 - semver: 7.5.0 - transitivePeerDependencies: - - supports-color - - /@oclif/command/1.8.24_idyxfyelz3bjtokfy3m65ptkne: - resolution: {integrity: sha512-FbSChfBO2QFeC5eEeXmi8+kZvBCDzYdpEKhOMaz0sfKMerwSlKxsqWQPGWCjTHaowIUMtnMD3VZ8yfX5qE7SAQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@oclif/config': ^1 - dependencies: - '@oclif/config': 1.18.8 - '@oclif/errors': 1.3.6 - '@oclif/help': 1.0.5_supports-color@8.1.1 - '@oclif/parser': 3.8.10 - debug: 4.3.4_supports-color@8.1.1 - semver: 7.5.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@oclif/config/1.18.2: - resolution: {integrity: sha512-cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA==} - engines: {node: '>=8.0.0'} - dependencies: - '@oclif/errors': 1.3.6 - '@oclif/parser': 3.8.10 - debug: 4.3.4 - globby: 11.1.0 - is-wsl: 2.2.0 - tslib: 2.5.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@oclif/config/1.18.6: - resolution: {integrity: sha512-OWhCpdu4QqggOPX1YPZ4XVmLLRX+lhGjXV6RNA7sogOwLqlEmSslnN/lhR5dkhcWZbKWBQH29YCrB3LDPRu/IA==} - engines: {node: '>=8.0.0'} - dependencies: - '@oclif/errors': 1.3.6 - '@oclif/parser': 3.8.10 - debug: 4.3.4 - globby: 11.1.0 - is-wsl: 2.2.0 - tslib: 2.5.0 - transitivePeerDependencies: - - supports-color - - /@oclif/config/1.18.6_supports-color@8.1.1: - resolution: {integrity: sha512-OWhCpdu4QqggOPX1YPZ4XVmLLRX+lhGjXV6RNA7sogOwLqlEmSslnN/lhR5dkhcWZbKWBQH29YCrB3LDPRu/IA==} - engines: {node: '>=8.0.0'} - dependencies: - '@oclif/errors': 1.3.6 - '@oclif/parser': 3.8.10 - debug: 4.3.4_supports-color@8.1.1 - globby: 11.1.0 - is-wsl: 2.2.0 - tslib: 2.5.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@oclif/config/1.18.8: - resolution: {integrity: sha512-FetS52+emaZQui0roFSdbBP8ddBkIezEoH2NcjLJRjqkMGdE9Z1V+jsISVqTYXk2KJ1gAI0CHDXFjJlNBYbJBg==} - engines: {node: '>=8.0.0'} - dependencies: - '@oclif/errors': 1.3.6 - '@oclif/parser': 3.8.10 - debug: 4.3.4 - globby: 11.1.0 - is-wsl: 2.2.0 - tslib: 2.5.0 - transitivePeerDependencies: - - supports-color - /@oclif/core/2.8.2_xpss65pzqvfdcnzjlkstkx6toy: resolution: {integrity: sha512-g50NrCdEcFlBfuwZb9RxLmxPNQ9wIaBPOiwbxlGYRkHMnsC6LNHcvVtyDnmndU8qoXrmCOZ6ocSZenOMlG+G1w==} engines: {node: '>=14.0.0'} @@ -3346,113 +3243,37 @@ packages: - '@swc/wasm' - '@types/node' - typescript + dev: false - /@oclif/dev-cli/1.26.10: - resolution: {integrity: sha512-dJ+II9rVXckzFvG+82PbfphMTnoqiHvsuAAbcHrLdZWPBnFAiDKhNYE0iHnA/knAC4VGXhogsrAJ3ERT5d5r2g==} - engines: {node: '>=8.10.0'} - hasBin: true - dependencies: - '@oclif/command': 1.8.24_@oclif+config@1.18.8 - '@oclif/config': 1.18.8 - '@oclif/errors': 1.3.6 - '@oclif/plugin-help': 3.2.18 - cli-ux: 5.6.7_@oclif+config@1.18.8 - debug: 4.3.4 - find-yarn-workspace-root: 2.0.0 - fs-extra: 8.1.0 - github-slugger: 1.5.0 - lodash: 4.17.21 - normalize-package-data: 3.0.3 - qqjs: 0.3.11 - tslib: 2.5.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@oclif/errors/1.3.5: - resolution: {integrity: sha512-OivucXPH/eLLlOT7FkCMoZXiaVYf8I/w1eTAM1+gKzfhALwWTusxEx7wBmW0uzvkSg/9ovWLycPaBgJbM3LOCQ==} - engines: {node: '>=8.0.0'} - dependencies: - clean-stack: 3.0.1 - fs-extra: 8.1.0 - indent-string: 4.0.0 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /@oclif/errors/1.3.6: - resolution: {integrity: sha512-fYaU4aDceETd89KXP+3cLyg9EHZsLD3RxF2IU9yxahhBpspWjkWi3Dy3bTgcwZ3V47BgxQaGapzJWDM33XIVDQ==} - engines: {node: '>=8.0.0'} - dependencies: - clean-stack: 3.0.1 - fs-extra: 8.1.0 - indent-string: 4.0.0 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - - /@oclif/help/1.0.5: - resolution: {integrity: sha512-77ZXqVXcd+bQ6EafN56KbL4PbNtZM/Lq4GQElekNav+CPIgPNKT3AtMTQrc0fWke6bb/BTLB+1Fu1gWgx643jQ==} - engines: {node: '>=8.0.0'} - dependencies: - '@oclif/config': 1.18.6 - '@oclif/errors': 1.3.6 - chalk: 4.1.2 - indent-string: 4.0.0 - lodash: 4.17.21 - string-width: 4.2.3 - strip-ansi: 6.0.1 - widest-line: 3.1.0 - wrap-ansi: 6.2.0 - transitivePeerDependencies: - - supports-color - - /@oclif/help/1.0.5_supports-color@8.1.1: - resolution: {integrity: sha512-77ZXqVXcd+bQ6EafN56KbL4PbNtZM/Lq4GQElekNav+CPIgPNKT3AtMTQrc0fWke6bb/BTLB+1Fu1gWgx643jQ==} - engines: {node: '>=8.0.0'} - dependencies: - '@oclif/config': 1.18.6_supports-color@8.1.1 - '@oclif/errors': 1.3.6 - chalk: 4.1.2 - indent-string: 4.0.0 - lodash: 4.17.21 - string-width: 4.2.3 - strip-ansi: 6.0.1 - widest-line: 3.1.0 - wrap-ansi: 6.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@oclif/linewrap/1.0.0: - resolution: {integrity: sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==} - - /@oclif/parser/3.8.10: - resolution: {integrity: sha512-J4l/NcnfbIU84+NNdy6bxq9yJt4joFWNvpk59hq+uaQPUNtjmNJDVGuRvf6GUOxHNgRsVK1JRmd/Ez+v7Z9GqQ==} - engines: {node: '>=8.0.0'} - dependencies: - '@oclif/errors': 1.3.6 - '@oclif/linewrap': 1.0.0 - chalk: 4.1.2 - tslib: 2.5.0 - - /@oclif/plugin-help/3.2.18: - resolution: {integrity: sha512-5n5Pkz4L0duknIvFwx2Ko9Xda3miT6RZP8bgaaK3Q/9fzVBrhi4bOM0u05/OThI6V+3NsSdxYS2o1NLcXToWDg==} - engines: {node: '>=8.0.0'} + /@oclif/core/3.9.0: + resolution: {integrity: sha512-9UT0ySJgaUvERUQwDFh0u9Q5cfoBttfyaJ1sorSms6H5AELIjQ2Yvu2QfzPmnAit2rod+hdcDZ+O1Hia5Zcz+Q==} + engines: {node: '>=18.0.0'} dependencies: - '@oclif/command': 1.8.24_@oclif+config@1.18.2 - '@oclif/config': 1.18.2 - '@oclif/errors': 1.3.5 - '@oclif/help': 1.0.5 + ansi-escapes: 4.3.2 + ansi-styles: 4.3.0 + cardinal: 2.1.1 chalk: 4.1.2 + clean-stack: 3.0.1 + cli-progress: 3.12.0 + debug: 4.3.4_supports-color@8.1.1 + ejs: 3.1.9 + get-package-type: 0.1.0 + globby: 11.1.0 + hyperlinker: 1.0.0 indent-string: 4.0.0 - lodash: 4.17.21 + is-wsl: 2.2.0 + js-yaml: 3.14.1 + natural-orderby: 2.0.3 + object-treeify: 1.1.33 + password-prompt: 1.1.2 + slice-ansi: 4.0.0 string-width: 4.2.3 strip-ansi: 6.0.1 + supports-color: 8.1.1 + supports-hyperlinks: 2.3.0 widest-line: 3.1.0 - wrap-ansi: 6.2.0 - transitivePeerDependencies: - - supports-color - dev: true + wordwrap: 1.0.0 + wrap-ansi: 7.0.0 /@oclif/plugin-help/5.2.9_xpss65pzqvfdcnzjlkstkx6toy: resolution: {integrity: sha512-0J3oowPURZJ4Dn1p1WpQ46E4+CoV20KTn1cvsNiDl6Hmbw+qoljKQnArJJzNFeZQxWo4R7/S42PrzKJTVYh68Q==} @@ -3466,24 +3287,15 @@ packages: - typescript dev: false - /@oclif/screen/1.0.4: - resolution: {integrity: sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==} - engines: {node: '>=8.0.0'} - deprecated: Deprecated in favor of @oclif/core - dev: true - - /@oclif/test/2.3.17_xpss65pzqvfdcnzjlkstkx6toy: - resolution: {integrity: sha512-Ph3Gg1n7Sz2JHsoLHNifzwbeDs8kKlBK+JcFikkoH7Fc+FoNXOsEBY6HTF0/8P3SeVK3H3MyBEvGNsGbeClhtg==} - engines: {node: '>=12.0.0'} + /@oclif/test/3.0.3: + resolution: {integrity: sha512-hhQa732q85z71wur0Tzf9n9Z32Yiq8Hb4suNGeweYHtNQ5DmWgGqHJ57S+zs6ri0GF+xJmzRyr5qFq8KNs3Xqg==} + engines: {node: '>=18.0.0'} dependencies: - '@oclif/core': 2.8.2_xpss65pzqvfdcnzjlkstkx6toy - fancy-test: 2.0.19 + '@oclif/core': 3.9.0 + chai: 4.3.10 + fancy-test: 3.0.1 transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - supports-color - - typescript dev: true /@pkgjs/parseargs/0.11.0: @@ -3661,6 +3473,24 @@ packages: dependencies: type-detect: 4.0.8 + /@sinonjs/commons/2.0.0: + resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/commons/3.0.0: + resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/fake-timers/10.3.0: + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + dependencies: + '@sinonjs/commons': 3.0.0 + dev: true + /@sinonjs/fake-timers/6.0.1: resolution: {integrity: sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==} dependencies: @@ -3678,6 +3508,14 @@ packages: lodash.get: 4.4.2 type-detect: 4.0.8 + /@sinonjs/samsam/8.0.0: + resolution: {integrity: sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==} + dependencies: + '@sinonjs/commons': 2.0.0 + lodash.get: 4.4.2 + type-detect: 4.0.8 + dev: true + /@sinonjs/text-encoding/0.7.2: resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} @@ -3775,6 +3613,7 @@ packages: resolution: {integrity: sha512-XhXhBv1R/q2ahF3BM7qT5HLzJNlIL0wbcGyZVjqOTqAybAnsLisd7gy1UCyIqpL+5Iv6XhlSyzjLCnI2sIdbCg==} dependencies: '@types/node': 18.18.3 + dev: false /@types/connect/3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} @@ -3813,26 +3652,12 @@ packages: '@types/node': 18.18.3 dev: true - /@types/glob/7.2.0: - resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} - dependencies: - '@types/minimatch': 5.1.2 - '@types/node': 18.18.3 - dev: true - /@types/glob/8.1.0: resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} dependencies: '@types/minimatch': 5.1.2 '@types/node': 18.18.3 - /@types/graphql/14.5.0: - resolution: {integrity: sha512-MOkzsEp1Jk5bXuAsHsUi6BVv0zCO+7/2PTiZMXWDSsMXvNU6w/PLMQT2vHn8hy2i0JqojPz1Sz6rsFjHtsU0lA==} - deprecated: This is a stub types definition. graphql provides its own type definitions, so you do not need this installed. - dependencies: - graphql: 16.6.0 - dev: true - /@types/http-cache-semantics/4.0.1: resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} dev: true @@ -3897,15 +3722,6 @@ packages: '@types/node': 18.18.3 dev: false - /@types/nock/11.1.0: - resolution: {integrity: sha512-jI/ewavBQ7X5178262JQR0ewicPAcJhXS/iFaNJl0VHLfyosZ/kwSrsa6VNQNSO8i9d8SqdRgOtZSOKJ/+iNMw==} - deprecated: This is a stub types definition. nock provides its own type definitions, so you do not need this installed. - dependencies: - nock: 11.8.2 - transitivePeerDependencies: - - supports-color - dev: true - /@types/node-fetch/2.6.3: resolution: {integrity: sha512-ETTL1mOEdq/sxUtgtOhKjyB2Irra4cjxksvcMUR5Zr4n+PxVhsCD9WS46oPbHL3et9Zde7CNRr+WUNlcHvsX+w==} dependencies: @@ -4795,6 +4611,19 @@ packages: pathval: 1.1.1 type-detect: 4.0.8 + /chai/4.3.10: + resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + /chalk/2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -4820,6 +4649,12 @@ packages: /check-error/1.0.2: resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} + /check-error/1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + /child-process-ext/2.1.1: resolution: {integrity: sha512-0UQ55f51JBkOFa+fvR76ywRzxiPwQS3Xe8oe5bZRphpv+dIMeerW5Zn5e4cUy4COJwVtJyU0R79RMnw+aCqmGA==} dependencies: @@ -4852,10 +4687,6 @@ packages: fsevents: 2.3.2 dev: true - /chownr/1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - dev: true - /chownr/2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -4955,41 +4786,6 @@ packages: slice-ansi: 3.0.0 string-width: 4.2.3 - /cli-ux/5.6.7_@oclif+config@1.18.8: - resolution: {integrity: sha512-dsKAurMNyFDnO6X1TiiRNiVbL90XReLKcvIq4H777NMqXGBxBws23ag8ubCJE97vVZEgWG2eSUhsyLf63Jv8+g==} - engines: {node: '>=8.0.0'} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - dependencies: - '@oclif/command': 1.8.24_idyxfyelz3bjtokfy3m65ptkne - '@oclif/errors': 1.3.6 - '@oclif/linewrap': 1.0.0 - '@oclif/screen': 1.0.4 - ansi-escapes: 4.3.2 - ansi-styles: 4.3.0 - cardinal: 2.1.1 - chalk: 4.1.2 - clean-stack: 3.0.1 - cli-progress: 3.12.0 - extract-stack: 2.0.0 - fs-extra: 8.1.0 - hyperlinker: 1.0.0 - indent-string: 4.0.0 - is-wsl: 2.2.0 - js-yaml: 3.14.1 - lodash: 4.17.21 - natural-orderby: 2.0.3 - object-treeify: 1.1.33 - password-prompt: 1.1.2 - semver: 7.5.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - supports-color: 8.1.1 - supports-hyperlinks: 2.3.0 - tslib: 2.5.0 - transitivePeerDependencies: - - '@oclif/config' - dev: true - /cli-width/3.0.0: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} @@ -5379,6 +5175,13 @@ packages: dependencies: type-detect: 4.0.8 + /deep-eql/4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + /deep-is/0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -5440,11 +5243,6 @@ packages: resolution: {integrity: sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==} engines: {node: '>=4'} - /detect-indent/6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} - dev: true - /detect-newline/2.1.0: resolution: {integrity: sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg==} engines: {node: '>=0.10.0'} @@ -5473,7 +5271,6 @@ packages: /diff/5.1.0: resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} engines: {node: '>=0.3.1'} - dev: false /dir-glob/3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} @@ -5999,19 +5796,6 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - /execa/0.10.0: - resolution: {integrity: sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==} - engines: {node: '>=4'} - dependencies: - cross-spawn: 6.0.5 - get-stream: 3.0.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 - dev: true - /execa/2.1.0: resolution: {integrity: sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==} engines: {node: ^8.12.0 || >=9.7.0} @@ -6096,35 +5880,13 @@ packages: iconv-lite: 0.4.24 tmp: 0.0.33 - /extract-stack/2.0.0: - resolution: {integrity: sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ==} - engines: {node: '>=8'} - dev: true - /faker/5.1.0: resolution: {integrity: sha512-RrWKFSSA/aNLP0g3o2WW1Zez7/MnMr7xkiZmoCfAGZmdkDQZ6l2KtuXHN5XjdvpRjDl8+3vf+Rrtl06Z352+Mw==} dev: true - /fancy-test/1.4.3: - resolution: {integrity: sha512-Lt3mcQ0jn9Kg9JDmobVb4ZANiyT4e2VC5qbQvuzJVNYXyKjSgFWKn7bZN4BKei33v5jYWx28KlbDgsxuqnBRvg==} - engines: {node: '>=8.0.0'} - dependencies: - '@types/chai': 4.2.18 - '@types/lodash': 4.14.194 - '@types/mocha': 10.0.1 - '@types/nock': 11.1.0 - '@types/node': 18.18.3 - '@types/sinon': 10.0.0 - lodash: 4.17.21 - mock-stdin: 0.3.1 - stdout-stderr: 0.1.13 - transitivePeerDependencies: - - supports-color - dev: true - - /fancy-test/2.0.19: - resolution: {integrity: sha512-Zlj9GadzSXMLT11227FvkPOlM7wtzElRRJnUbwmC4tScbRUZx04PrS30fSuQCGT4hjaT8ZHQrEGea8S3xYrwsg==} - engines: {node: '>=12.0.0'} + /fancy-test/3.0.1: + resolution: {integrity: sha512-Ke1IFOGEBxP2dNg0X7ZYPUSwKSRr5GNn3xM/2DpHkP86riF3MFDpesXJuD1TGm7gcfwBtYpuSzuw3m704bThVg==} + engines: {node: '>=18.0.0'} dependencies: '@types/chai': 4.2.18 '@types/lodash': 4.14.194 @@ -6132,7 +5894,8 @@ packages: '@types/sinon': 10.0.0 lodash: 4.17.21 mock-stdin: 1.0.0 - nock: 13.3.0 + nock: 13.3.6 + sinon: 16.1.3 stdout-stderr: 0.1.13 transitivePeerDependencies: - supports-color @@ -6315,12 +6078,6 @@ packages: locate-path: 6.0.0 path-exists: 4.0.0 - /find-yarn-workspace-root/2.0.0: - resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} - dependencies: - micromatch: 4.0.5 - dev: true - /flat-cache/2.0.1: resolution: {integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==} engines: {node: '>=4'} @@ -6431,14 +6188,6 @@ packages: jsonfile: 6.1.0 universalify: 2.0.0 - /fs-extra/6.0.1: - resolution: {integrity: sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - /fs-extra/8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} @@ -6517,6 +6266,10 @@ packages: /get-func-name/2.0.0: resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} + /get-func-name/2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + /get-intrinsic/1.2.0: resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} dependencies: @@ -6546,11 +6299,6 @@ packages: pinkie-promise: 2.0.1 dev: true - /get-stream/3.0.0: - resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} - engines: {node: '>=4'} - dev: true - /get-stream/5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -6569,10 +6317,6 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.2.0 - /github-slugger/1.5.0: - resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} - dev: true - /glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -6662,20 +6406,6 @@ packages: dependencies: define-properties: 1.2.0 - /globby/10.0.2: - resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} - engines: {node: '>=8'} - dependencies: - '@types/glob': 7.2.0 - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.12 - glob: 7.2.3 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - /globby/11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -6832,13 +6562,6 @@ packages: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true - /hosted-git-info/4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} - dependencies: - lru-cache: 6.0.0 - dev: true - /html-escaper/2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true @@ -6847,20 +6570,6 @@ packages: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} dev: true - /http-call/5.3.0: - resolution: {integrity: sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==} - engines: {node: '>=8.0.0'} - dependencies: - content-type: 1.0.5 - debug: 4.3.4 - is-retry-allowed: 1.2.0 - is-stream: 2.0.1 - parse-json: 4.0.0 - tunnel-agent: 0.6.0 - transitivePeerDependencies: - - supports-color - dev: true - /http-errors/2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} @@ -7223,11 +6932,6 @@ packages: call-bind: 1.0.2 has-tostringtag: 1.0.0 - /is-retry-allowed/1.2.0: - resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} - engines: {node: '>=0.10.0'} - dev: true - /is-shared-array-buffer/1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: @@ -7531,10 +7235,6 @@ packages: engines: {node: '>= 4'} dev: true - /json-parse-better-errors/1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - dev: true - /json-parse-even-better-errors/2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true @@ -7741,16 +7441,6 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /load-json-file/6.2.0: - resolution: {integrity: sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==} - engines: {node: '>=8'} - dependencies: - graceful-fs: 4.2.11 - parse-json: 5.2.0 - strip-bom: 4.0.0 - type-fest: 0.6.0 - dev: true - /localforage/1.10.0: resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} dependencies: @@ -7904,6 +7594,12 @@ packages: dependencies: js-tokens: 4.0.0 + /loupe/2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + /lowercase-keys/2.0.0: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} @@ -8122,10 +7818,6 @@ packages: yallist: 4.0.0 dev: true - /mkdirp-classic/0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - dev: true - /mkdirp/0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -8181,10 +7873,6 @@ packages: node-rsa: 0.4.2 dev: true - /mock-stdin/0.3.1: - resolution: {integrity: sha512-90qhQ0WeQjhzWuutBvvKa0ShYkSr13ttqOkN7e+G8ZyWFQmsQt+N6gY0YnFCF9xrV7zBsnCPTkiyd7xXknwIJg==} - dev: true - /mock-stdin/1.0.0: resolution: {integrity: sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q==} dev: true @@ -8285,6 +7973,16 @@ packages: just-extend: 4.2.1 path-to-regexp: 1.8.0 + /nise/5.1.5: + resolution: {integrity: sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==} + dependencies: + '@sinonjs/commons': 2.0.0 + '@sinonjs/fake-timers': 10.3.0 + '@sinonjs/text-encoding': 0.7.2 + just-extend: 4.2.1 + path-to-regexp: 1.8.0 + dev: true + /nock/11.8.2: resolution: {integrity: sha512-udrFXJ/aqPM9NmrKOcNJ67lvrs/zroNq2sbumhaMPW5JLNy/6LsWiZEwU9DiQIUHOcOCR4MPeqIG7uQNbDGExA==} engines: {node: '>= 8.0'} @@ -8298,13 +7996,12 @@ packages: - supports-color dev: true - /nock/13.3.0: - resolution: {integrity: sha512-HHqYQ6mBeiMc+N038w8LkMpDCRquCHWeNmN3v6645P3NhN2+qXOBqvPqo7Rt1VyCMzKhJ733wZqw5B7cQVFNPg==} + /nock/13.3.6: + resolution: {integrity: sha512-lT6YuktKroUFM+27mubf2uqQZVy2Jf+pfGzuh9N6VwdHlFoZqvi4zyxFTVR1w/ChPqGY6yxGehHp6C3wqCASCw==} engines: {node: '>= 10.13'} dependencies: debug: 4.3.4 json-stringify-safe: 5.0.1 - lodash: 4.17.21 propagate: 2.0.1 transitivePeerDependencies: - supports-color @@ -8392,16 +8089,6 @@ packages: validate-npm-package-license: 3.0.4 dev: true - /normalize-package-data/3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} - dependencies: - hosted-git-info: 4.1.0 - is-core-module: 2.12.0 - semver: 7.5.0 - validate-npm-package-license: 3.0.4 - dev: true - /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -8426,13 +8113,6 @@ packages: - encoding dev: true - /npm-run-path/2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} - dependencies: - path-key: 2.0.1 - dev: true - /npm-run-path/3.1.0: resolution: {integrity: sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==} engines: {node: '>=8'} @@ -8711,14 +8391,6 @@ packages: dependencies: callsites: 3.1.0 - /parse-json/4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} - dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 - dev: true - /parse-json/5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -8965,27 +8637,6 @@ packages: resolution: {integrity: sha512-BwQpbqxSCBJVpamI6ydzcKqyFmnd5msMWUGvzXLm1aXvusbbgkbOto/EUPM00hjveJEaJtdbhUjKSzWRhQVkaw==} dev: true - /qqjs/0.3.11: - resolution: {integrity: sha512-pB2X5AduTl78J+xRSxQiEmga1jQV0j43jOPs/MTgTLApGFEOn6NgdE2dEjp7nvDtjkIOZbvFIojAiYUx6ep3zg==} - engines: {node: '>=8.0.0'} - dependencies: - chalk: 2.4.2 - debug: 4.3.4 - execa: 0.10.0 - fs-extra: 6.0.1 - get-stream: 5.2.0 - glob: 7.2.3 - globby: 10.0.2 - http-call: 5.3.0 - load-json-file: 6.2.0 - pkg-dir: 4.2.0 - tar-fs: 2.1.1 - tmp: 0.1.0 - write-json-file: 4.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /qs/6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} @@ -9584,6 +9235,17 @@ packages: sinon: 9.2.3 dev: true + /sinon/16.1.3: + resolution: {integrity: sha512-mjnWWeyxcAf9nC0bXcPmiDut+oE8HYridTNzBbF98AYVLmWwGRp2ISEpyhYflG1ifILT+eNn3BmKUJPxjXUPlA==} + dependencies: + '@sinonjs/commons': 3.0.0 + '@sinonjs/fake-timers': 10.3.0 + '@sinonjs/samsam': 8.0.0 + diff: 5.1.0 + nise: 5.1.5 + supports-color: 7.2.0 + dev: true + /sinon/9.2.3: resolution: {integrity: sha512-m+DyAWvqVHZtjnjX/nuShasykFeiZ+nPuEfD4G3gpvKGkXRhkF/6NSt2qN2FjZhfrcHXFzUzI+NLnk+42fnLEw==} dependencies: @@ -9622,7 +9284,6 @@ packages: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - dev: false /sort-json/2.0.1: resolution: {integrity: sha512-s8cs2bcsQCzo/P2T/uoU6Js4dS/jnX8+4xunziNoq9qmSpZNCrRIAIvp4avsz0ST18HycV4z/7myJ7jsHWB2XQ==} @@ -9646,13 +9307,6 @@ packages: is-plain-obj: 1.1.0 dev: true - /sort-keys/4.2.0: - resolution: {integrity: sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==} - engines: {node: '>=8'} - dependencies: - is-plain-obj: 2.1.0 - dev: true - /sorted-array-functions/1.3.0: resolution: {integrity: sha512-2sqgzeFlid6N4Z2fUQ1cvFmTOLRi/sEDzSQ0OKYchqgoPmQBVyM3959qYx3fpS6Esef80KjmpgPeEr028dP3OA==} dev: false @@ -9864,11 +9518,6 @@ packages: is-natural-number: 4.0.1 dev: true - /strip-eof/1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} - dev: true - /strip-final-newline/2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -10001,15 +9650,6 @@ packages: strip-ansi: 6.0.1 dev: false - /tar-fs/2.1.1: - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.0 - tar-stream: 2.2.0 - dev: true - /tar-stream/1.6.2: resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} engines: {node: '>= 0.8.0'} @@ -10083,13 +9723,6 @@ packages: dependencies: os-tmpdir: 1.0.2 - /tmp/0.1.0: - resolution: {integrity: sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==} - engines: {node: '>=6'} - dependencies: - rimraf: 2.7.1 - dev: true - /to-buffer/1.1.1: resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} dev: true @@ -10552,18 +10185,6 @@ packages: signal-exit: 3.0.7 dev: true - /write-json-file/4.3.0: - resolution: {integrity: sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==} - engines: {node: '>=8.3'} - dependencies: - detect-indent: 6.1.0 - graceful-fs: 4.2.11 - is-plain-obj: 2.1.0 - make-dir: 3.1.0 - sort-keys: 4.2.0 - write-file-atomic: 3.0.3 - dev: true - /write/1.0.3: resolution: {integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==} engines: {node: '>=4'} diff --git a/packages/cli/bin/run b/packages/cli/bin/run index 30b14e177..eaa62fea3 100755 --- a/packages/cli/bin/run +++ b/packages/cli/bin/run @@ -1,5 +1,5 @@ #!/usr/bin/env node -require('@oclif/command').run() -.then(require('@oclif/command/flush')) -.catch(require('@oclif/errors/handle')) +require('@oclif/core').run() +.then(require('@oclif/core/flush')) +.catch(require('@oclif/core/handle')) diff --git a/packages/cli/package.json b/packages/cli/package.json index 53feecd76..6a615ecfa 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -14,11 +14,8 @@ "dependencies": { "@boostercloud/framework-core": "workspace:^1.20.0", "@boostercloud/framework-types": "workspace:^1.20.0", - "@oclif/command": "^1.8", - "@oclif/config": "^1.18", - "@oclif/errors": "^1.3", - "@oclif/parser": "^3.8.7", - "@oclif/plugin-help": "^5.1", + "@oclif/core" : "^3.9.0", + "@oclif/plugin-help": "^5", "chalk": "^2.4.2", "child-process-promise": "^2.2.1", "execa": "^2.0.3", @@ -35,8 +32,7 @@ "devDependencies": { "@boostercloud/eslint-config": "workspace:^1.20.0", "@boostercloud/application-tester": "workspace:^1.20.0", - "@oclif/dev-cli": "^1.26", - "@oclif/test": "^2.1", + "@oclif/test": "^3.0.3", "@types/chai": "4.2.18", "@types/chai-as-promised": "7.1.4", "@types/child-process-promise": "^2.2.1", @@ -60,7 +56,7 @@ "eslint-plugin-import": "^2.26.0", "eslint-plugin-prettier": "3.4.0", "faker": "5.1.0", - "fancy-test": "1.4.3", + "fancy-test": "^3.0.1", "mocha": "10.2.0", "nyc": "^15.1.0", "prettier": "2.3.0", diff --git a/packages/cli/src/commands/add/projection.ts b/packages/cli/src/commands/add/projection.ts index 1dde81c3c..12ee8501f 100644 --- a/packages/cli/src/commands/add/projection.ts +++ b/packages/cli/src/commands/add/projection.ts @@ -1,4 +1,4 @@ -import * as Oclif from '@oclif/command' +import { Flags } from '@oclif/core' import BaseCommand from '../../common/base-command' import { HasName, HasProjection, joinParsers, parseName, parseProjectionField } from '../../services/generator/target' import { Script } from '../../common/script' @@ -17,14 +17,14 @@ export default class Projection extends BaseCommand { ] public static flags = { - help: Oclif.flags.help({ char: 'h' }), - 'read-model': Oclif.flags.string({ + help: Flags.help({ char: 'h' }), + 'read-model': Flags.string({ description: 'read-model name', required: true, multiple: false, dependsOn: ['entity'], }), - entity: Oclif.flags.string({ + entity: Flags.string({ description: 'an entity name', required: true, multiple: false, @@ -33,7 +33,7 @@ export default class Projection extends BaseCommand { } public async run(): Promise { - const { flags } = this.parse(Projection) + const { flags } = await this.parse(Projection) const readModel = flags['read-model'] const entity = flags.entity diff --git a/packages/cli/src/commands/add/reducer.ts b/packages/cli/src/commands/add/reducer.ts index 9b5c28c15..ee7df4458 100644 --- a/packages/cli/src/commands/add/reducer.ts +++ b/packages/cli/src/commands/add/reducer.ts @@ -1,4 +1,4 @@ -import * as Oclif from '@oclif/command' +import { Flags } from '@oclif/core' import BaseCommand from '../../common/base-command' import { HasName, HasReaction, joinParsers, parseName, parseReaction } from '../../services/generator/target' import { Script } from '../../common/script' @@ -17,14 +17,14 @@ export default class Reducer extends BaseCommand { ] public static flags = { - help: Oclif.flags.help({ char: 'h' }), - entity: Oclif.flags.string({ + help: Flags.help({ char: 'h' }), + entity: Flags.string({ description: 'an entity name', required: true, multiple: false, dependsOn: ['event'], }), - event: Oclif.flags.string({ + event: Flags.string({ description: 'an event name', required: true, multiple: true, @@ -33,7 +33,7 @@ export default class Reducer extends BaseCommand { } public async run(): Promise { - const { flags } = this.parse(Reducer) + const { flags } = await this.parse(Reducer) const entity = flags.entity const events = flags.event diff --git a/packages/cli/src/commands/build.ts b/packages/cli/src/commands/build.ts index 047b54f78..0f872f421 100644 --- a/packages/cli/src/commands/build.ts +++ b/packages/cli/src/commands/build.ts @@ -1,4 +1,4 @@ -import { flags } from '@oclif/command' +import { Flags } from '@oclif/core' import BaseCommand from '../common/base-command' import { compileProject } from '../services/config-service' import { checkCurrentDirIsABoosterProject } from '../services/project-checker' @@ -16,8 +16,8 @@ export default class Build extends BaseCommand { public static description = 'Build the current application as configured in your `index.ts` file.' public static flags = { - help: flags.help({ char: 'h' }), - verbose: flags.boolean({ + help: Flags.help({ char: 'h' }), + verbose: Flags.boolean({ description: 'display full error messages', default: false, }), @@ -30,7 +30,7 @@ export default class Build extends BaseCommand { async catch(fullError: Error) { const { flags: { verbose }, - } = this.parse(Build) + } = await this.parse(Build) if (verbose) { console.error(fullError.message) diff --git a/packages/cli/src/commands/clean.ts b/packages/cli/src/commands/clean.ts index 4268b167c..ffd517914 100644 --- a/packages/cli/src/commands/clean.ts +++ b/packages/cli/src/commands/clean.ts @@ -1,4 +1,4 @@ -import { flags } from '@oclif/command' +import { Flags } from '@oclif/core' import BaseCommand from '../common/base-command' import { cleanProject } from '../services/config-service' import { checkCurrentDirIsABoosterProject } from '../services/project-checker' @@ -16,8 +16,8 @@ export default class Clean extends BaseCommand { public static description = 'Clean the current application as configured in your `index.ts` file.' public static flags = { - help: flags.help({ char: 'h' }), - verbose: flags.boolean({ + help: Flags.help({ char: 'h' }), + verbose: Flags.boolean({ description: 'display full error messages', default: false, }), @@ -30,7 +30,7 @@ export default class Clean extends BaseCommand { async catch(fullError: Error) { const { flags: { verbose }, - } = this.parse(Clean) + } = await this.parse(Clean) if (verbose) { console.error(fullError.message) diff --git a/packages/cli/src/commands/deploy.ts b/packages/cli/src/commands/deploy.ts index 257db5dec..d4641dc47 100644 --- a/packages/cli/src/commands/deploy.ts +++ b/packages/cli/src/commands/deploy.ts @@ -1,4 +1,4 @@ -import { flags } from '@oclif/command' +import { Flags } from '@oclif/core' import BaseCommand from '../common/base-command' import { deployToCloudProvider } from '../services/provider-service' import { @@ -26,19 +26,19 @@ export default class Deploy extends BaseCommand { public static description = 'Deploy the current application as configured in your `index.ts` file.' public static flags = { - help: flags.help({ char: 'h' }), - environment: flags.string({ + help: Flags.help({ char: 'h' }), + environment: Flags.string({ char: 'e', description: 'environment configuration to run', }), - verbose: flags.boolean({ + verbose: Flags.boolean({ description: 'display full error messages', default: false, }), } public async run(): Promise { - const { flags } = this.parse(Deploy) + const { flags } = await this.parse(Deploy) if (initializeEnvironment(logger, flags.environment)) { const deploymentProjectPath = await createDeploymentSandbox() @@ -49,7 +49,7 @@ export default class Deploy extends BaseCommand { async catch(fullError: Error) { const { flags: { verbose }, - } = this.parse(Deploy) + } = await this.parse(Deploy) if (verbose) { console.error(fullError.message) diff --git a/packages/cli/src/commands/new/command.ts b/packages/cli/src/commands/new/command.ts index 61950106a..bdd7d765a 100644 --- a/packages/cli/src/commands/new/command.ts +++ b/packages/cli/src/commands/new/command.ts @@ -1,4 +1,4 @@ -import * as Oclif from '@oclif/command' +import { Flags, Args } from '@oclif/core' import BaseCommand from '../../common/base-command' import { Script } from '../../common/script' import Brand from '../../common/brand' @@ -15,20 +15,23 @@ import * as path from 'path' import { checkCurrentDirIsABoosterProject } from '../../services/project-checker' export default class Command extends BaseCommand { - public static description = "generate new resource, write 'boost new' to see options" + public static description = "Generate new resource, write 'boost new' to see options" + public static flags = { - help: Oclif.flags.help({ char: 'h' }), - fields: Oclif.flags.string({ + help: Flags.help({ char: 'h' }), + fields: Flags.string({ char: 'f', - description: 'field that this command will contain', + description: 'Field that this command will contain', multiple: true, }), } - public static args = [{ name: 'commandName' }] + public static args = { + commandName: Args.string(), + } public async run(): Promise { - const { args, flags } = this.parse(Command) + const { args, flags } = await this.parse(Command) try { const fields = flags.fields || [] if (!args.commandName) throw "You haven't provided a command name, but it is required, run with --help for usage" diff --git a/packages/cli/src/commands/new/entity.ts b/packages/cli/src/commands/new/entity.ts index 7e624f049..dea86d6a3 100644 --- a/packages/cli/src/commands/new/entity.ts +++ b/packages/cli/src/commands/new/entity.ts @@ -1,4 +1,4 @@ -import * as Oclif from '@oclif/command' +import { Flags, Args } from '@oclif/core' import BaseCommand from '../../common/base-command' import { Script } from '../../common/script' import Brand from '../../common/brand' @@ -20,23 +20,25 @@ import { classNameToFileName } from '../../common/filenames' export default class Entity extends BaseCommand { public static description = 'create a new entity' public static flags = { - help: Oclif.flags.help({ char: 'h' }), - fields: Oclif.flags.string({ + help: Flags.help({ char: 'h' }), + fields: Flags.string({ char: 'f', description: 'fields that this entity will contain', multiple: true, }), - reduces: Oclif.flags.string({ + reduces: Flags.string({ char: 'r', description: 'events that this entity will reduce to build its state', multiple: true, }), } - public static args = [{ name: 'entityName' }] + public static args = { + entityName: Args.string(), + } public async run(): Promise { - const { args, flags } = this.parse(Entity) + const { args, flags } = await this.parse(Entity) try { const fields = flags.fields || [] diff --git a/packages/cli/src/commands/new/event-handler.ts b/packages/cli/src/commands/new/event-handler.ts index d912eb142..312e1dd0c 100644 --- a/packages/cli/src/commands/new/event-handler.ts +++ b/packages/cli/src/commands/new/event-handler.ts @@ -1,4 +1,4 @@ -import * as Oclif from '@oclif/command' +import { Flags, Args } from '@oclif/core' import BaseCommand from '../../common/base-command' import { HasEvent, @@ -18,18 +18,20 @@ import { classNameToFileName } from '../../common/filenames' export default class EventHandler extends BaseCommand { public static description = 'create a new event handler' public static flags = { - help: Oclif.flags.help({ char: 'h' }), - event: Oclif.flags.string({ + help: Flags.help({ char: 'h' }), + event: Flags.string({ char: 'e', description: 'event that this event handler with handle', multiple: false, }), } - public static args = [{ name: 'eventHandlerName' }] + public static args = { + eventHandlerName: Args.string(), + } public async run(): Promise { - const { args, flags } = this.parse(EventHandler) + const { args, flags } = await this.parse(EventHandler) try { const event = flags.event diff --git a/packages/cli/src/commands/new/event.ts b/packages/cli/src/commands/new/event.ts index be570b3d0..2160f97ab 100644 --- a/packages/cli/src/commands/new/event.ts +++ b/packages/cli/src/commands/new/event.ts @@ -1,4 +1,4 @@ -import * as Oclif from '@oclif/command' +import { Flags, Args } from '@oclif/core' import BaseCommand from '../../common/base-command' import { Script } from '../../common/script' import Brand from '../../common/brand' @@ -17,18 +17,20 @@ import { checkCurrentDirIsABoosterProject } from '../../services/project-checker export default class Event extends BaseCommand { public static description = 'create a new event' public static flags = { - help: Oclif.flags.help({ char: 'h' }), - fields: Oclif.flags.string({ + help: Flags.help({ char: 'h' }), + fields: Flags.string({ char: 'f', description: 'field that this event will contain', multiple: true, }), } - public static args = [{ name: 'eventName' }] + public static args = { + eventName: Args.string(), + } public async run(): Promise { - const { args, flags } = this.parse(Event) + const { args, flags } = await this.parse(Event) try { const fields = flags.fields || [] diff --git a/packages/cli/src/commands/new/project.ts b/packages/cli/src/commands/new/project.ts index 16f12d722..73274dd10 100644 --- a/packages/cli/src/commands/new/project.ts +++ b/packages/cli/src/commands/new/project.ts @@ -1,4 +1,4 @@ -import { Command, flags } from '@oclif/command' +import { Command, Flags, Args } from '@oclif/core' import { Script } from '../../common/script' import Brand from '../../common/brand' import { @@ -16,54 +16,56 @@ import { checkProjectAlreadyExists } from '../../services/project-checker' export default class Project extends Command { public static description = 'create a new project from scratch' public static flags = { - help: flags.help({ char: 'h' }), - description: flags.string({ + help: Flags.help({ char: 'h' }), + description: Flags.string({ char: 'd', description: 'a short description', }), - version: flags.string({ + version: Flags.string({ char: 'v', description: 'the initial version', }), - author: flags.string({ + author: Flags.string({ char: 'a', description: 'who is writing this?', }), - homepage: flags.string({ + homepage: Flags.string({ char: 'H', description: 'the website of this project', }), - license: flags.string({ + license: Flags.string({ char: 'l', description: 'which license will you use?', }), - repository: flags.string({ + repository: Flags.string({ char: 'r', description: 'the URL of the repository', }), - providerPackageName: flags.string({ + providerPackageName: Flags.string({ char: 'p', description: 'package name implementing the cloud provider integration where the application will be deployed (i.e: "@boostercloud/framework-provider-azure")', }), - default: flags.boolean({ + default: Flags.boolean({ description: 'generates the project with default parameters (i.e. --license=MIT)', default: false, }), - skipInstall: flags.boolean({ + skipInstall: Flags.boolean({ description: 'skip dependencies installation', default: false, }), - skipGit: flags.boolean({ + skipGit: Flags.boolean({ description: 'skip git initialization', default: false, }), } - public static args = [{ name: 'projectName' }] + public static args = { + projectName: Args.string(), + } public async run(): Promise { - const { args, flags } = this.parse(Project) + const { args, flags } = await this.parse(Project) const { projectName } = args try { diff --git a/packages/cli/src/commands/new/query.ts b/packages/cli/src/commands/new/query.ts index dc6bf2bb7..77741a59e 100644 --- a/packages/cli/src/commands/new/query.ts +++ b/packages/cli/src/commands/new/query.ts @@ -1,4 +1,4 @@ -import * as Oclif from '@oclif/command' +import { Flags, Args } from '@oclif/core' import BaseCommand from '../../common/base-command' import { Script } from '../../common/script' import Brand from '../../common/brand' @@ -17,18 +17,20 @@ import { checkCurrentDirIsABoosterProject } from '../../services/project-checker export default class Query extends BaseCommand { public static description = "generate new query resource, write 'boost new' to see options" public static flags = { - help: Oclif.flags.help({ char: 'h' }), - fields: Oclif.flags.string({ + help: Flags.help({ char: 'h' }), + fields: Flags.string({ char: 'f', description: 'field list that this query will contain', multiple: true, }), } - public static args = [{ name: 'queryName' }] + public static args = { + queryName: Args.string(), + } public async run(): Promise { - const { args, flags } = this.parse(Query) + const { args, flags } = await this.parse(Query) try { const fields = flags.fields || [] if (!args.queryName) throw "You haven't provided a query name, but it is required, run with --help for usage" diff --git a/packages/cli/src/commands/new/read-model.ts b/packages/cli/src/commands/new/read-model.ts index aac3d5a78..970737353 100644 --- a/packages/cli/src/commands/new/read-model.ts +++ b/packages/cli/src/commands/new/read-model.ts @@ -1,4 +1,4 @@ -import * as Oclif from '@oclif/command' +import { Flags, Args } from '@oclif/core' import BaseCommand from '../../common/base-command' import { Script } from '../../common/script' import Brand from '../../common/brand' @@ -20,23 +20,25 @@ import { classNameToFileName } from '../../common/filenames' export default class ReadModel extends BaseCommand { public static description = 'create a new read model' public static flags = { - help: Oclif.flags.help({ char: 'h' }), - fields: Oclif.flags.string({ + help: Flags.help({ char: 'h' }), + fields: Flags.string({ char: 'f', description: 'fields that this read model will contain', multiple: true, }), - projects: Oclif.flags.string({ + projects: Flags.string({ char: 'p', description: 'entities that this read model will project to build its state', multiple: true, }), } - public static args = [{ name: 'readModelName' }] + public static args = { + readModelName: Args.string(), + } public async run(): Promise { - const { args, flags } = this.parse(ReadModel) + const { args, flags } = await this.parse(ReadModel) try { const fields = flags.fields ?? [] diff --git a/packages/cli/src/commands/new/scheduled-command.ts b/packages/cli/src/commands/new/scheduled-command.ts index d9e7202c4..7e904f29d 100644 --- a/packages/cli/src/commands/new/scheduled-command.ts +++ b/packages/cli/src/commands/new/scheduled-command.ts @@ -1,4 +1,4 @@ -import * as Oclif from '@oclif/command' +import { Flags, Args } from '@oclif/core' import BaseCommand from '../../common/base-command' import { Script } from '../../common/script' import Brand from '../../common/brand' @@ -10,13 +10,15 @@ import { checkCurrentDirIsABoosterProject } from '../../services/project-checker export default class ScheduledCommand extends BaseCommand { public static description = "generate new scheduled command, write 'boost new:scheduled-command -h' to see options" public static flags = { - help: Oclif.flags.help({ char: 'h' }), + help: Flags.help({ char: 'h' }), } - public static args = [{ name: 'scheduledCommandName' }] + public static args = { + scheduledCommandName: Args.string(), + } public async run(): Promise { - const { args } = this.parse(ScheduledCommand) + const { args } = await this.parse(ScheduledCommand) try { if (!args.scheduledCommandName) diff --git a/packages/cli/src/commands/new/type.ts b/packages/cli/src/commands/new/type.ts index 9c77bc153..62f2ed7b1 100644 --- a/packages/cli/src/commands/new/type.ts +++ b/packages/cli/src/commands/new/type.ts @@ -1,4 +1,4 @@ -import * as Oclif from '@oclif/command' +import { Flags, Args } from '@oclif/core' import BaseCommand from '../../common/base-command' import { Script } from '../../common/script' import Brand from '../../common/brand' @@ -11,18 +11,20 @@ export default class Type extends BaseCommand { public static description = 'create a new type' public static flags = { - help: Oclif.flags.help({ char: 'h' }), - fields: Oclif.flags.string({ + help: Flags.help({ char: 'h' }), + fields: Flags.string({ char: 'f', description: 'field that this type will contain', multiple: true, }), } - public static args = [{ name: 'typeName' }] + public static args = { + typeName: Args.string(), + } public async run(): Promise { - const { args, flags } = this.parse(Type) + const { args, flags } = await this.parse(Type) try { const fields = flags.fields || [] diff --git a/packages/cli/src/commands/nuke.ts b/packages/cli/src/commands/nuke.ts index 3eb17479a..0f75648ca 100644 --- a/packages/cli/src/commands/nuke.ts +++ b/packages/cli/src/commands/nuke.ts @@ -1,4 +1,4 @@ -import { flags } from '@oclif/command' +import { Flags } from '@oclif/core' import BaseCommand from '../common/base-command' import { nukeCloudProviderResources } from '../services/provider-service' import { compileProjectAndLoadConfig } from '../services/config-service' @@ -41,24 +41,24 @@ export default class Nuke extends BaseCommand { 'Remove all resources used by the current application as configured in your `index.ts` file.' public static flags = { - help: flags.help({ char: 'h' }), - environment: flags.string({ + help: Flags.help({ char: 'h' }), + environment: Flags.string({ char: 'e', description: 'environment configuration to run', }), - force: flags.boolean({ + force: Flags.boolean({ char: 'f', description: 'Run nuke without asking for confirmation. Be EXTRA CAUTIOUS with this option, all your application data will be irreversibly DELETED without confirmation.', }), - verbose: flags.boolean({ + verbose: Flags.boolean({ description: 'display full error messages', default: false, }), } public async run(): Promise { - const { flags } = this.parse(Nuke) + const { flags } = await this.parse(Nuke) if (initializeEnvironment(logger, flags.environment)) { await runTasks( @@ -71,7 +71,7 @@ export default class Nuke extends BaseCommand { async catch(fullError: Error) { const { flags: { verbose }, - } = this.parse(Nuke) + } = await this.parse(Nuke) if (verbose) { console.error(fullError.message) diff --git a/packages/cli/src/commands/start.ts b/packages/cli/src/commands/start.ts index ef79902e0..f3fc72901 100644 --- a/packages/cli/src/commands/start.ts +++ b/packages/cli/src/commands/start.ts @@ -1,4 +1,4 @@ -import { flags } from '@oclif/command' +import { Flags } from '@oclif/core' import BaseCommand from '../common/base-command' import { startProvider } from '../services/provider-service' import { compileProjectAndLoadConfig } from '../services/config-service' @@ -21,24 +21,24 @@ export default class Start extends BaseCommand { public static description = 'Start local debug server.' public static flags = { - help: flags.help({ char: 'h' }), - port: flags.integer({ + help: Flags.help({ char: 'h' }), + port: Flags.integer({ char: 'p', description: 'port to run the local runtime on', default: 3000, }), - environment: flags.string({ + environment: Flags.string({ char: 'e', description: 'environment configuration to run', }), - verbose: flags.boolean({ + verbose: Flags.boolean({ description: 'display full error messages', default: false, }), } public async run(): Promise { - const { flags } = this.parse(Start) + const { flags } = await this.parse(Start) if (initializeEnvironment(logger, flags.environment)) { await runTasks(flags.port, compileProjectAndLoadConfig(process.cwd()), startProvider.bind(null, flags.port)) @@ -48,7 +48,7 @@ export default class Start extends BaseCommand { async catch(fullError: Error) { const { flags: { verbose }, - } = this.parse(Start) + } = await this.parse(Start) if (verbose) { console.error(fullError.message) diff --git a/packages/cli/src/commands/stub/publish.ts b/packages/cli/src/commands/stub/publish.ts index 3dcd4898c..7d0578a99 100644 --- a/packages/cli/src/commands/stub/publish.ts +++ b/packages/cli/src/commands/stub/publish.ts @@ -1,4 +1,4 @@ -import { flags } from '@oclif/command' +import { Flags } from '@oclif/core' import BaseCommand from '../../common/base-command' import { Script } from '../../common/script' import Brand from '../../common/brand' @@ -14,14 +14,14 @@ export default class Publish extends BaseCommand { public static examples = ['$ boost stub:publish --force', '$ boost stub:publish'] public static flags = { - force: flags.boolean({ + force: Flags.boolean({ char: 'f', description: 'Overwrite any existing stub files', }), } public async run(): Promise { - const { flags } = this.parse(Publish) + const { flags } = await this.parse(Publish) const stubFolderExists: boolean = checkStubsFolderExists() diff --git a/packages/cli/src/commands/synth.ts b/packages/cli/src/commands/synth.ts index 53915b3e7..a42129f2b 100644 --- a/packages/cli/src/commands/synth.ts +++ b/packages/cli/src/commands/synth.ts @@ -1,4 +1,4 @@ -import { flags } from '@oclif/command' +import { Flags } from '@oclif/core' import BaseCommand from '../common/base-command' import { cleanDeploymentSandbox, @@ -26,19 +26,19 @@ export default class Synth extends BaseCommand { public static description = 'Generate the required cloud templates to deploy your app manually.' public static flags = { - help: flags.help({ char: 'h' }), - environment: flags.string({ + help: Flags.help({ char: 'h' }), + environment: Flags.string({ char: 'e', description: 'environment configuration to run', }), - verbose: flags.boolean({ + verbose: Flags.boolean({ description: 'display full error messages', default: false, }), } public async run(): Promise { - const { flags } = this.parse(Synth) + const { flags } = await this.parse(Synth) if (initializeEnvironment(logger, flags.environment)) { const deploymentProjectPath = await createDeploymentSandbox() @@ -49,7 +49,7 @@ export default class Synth extends BaseCommand { async catch(fullError: Error) { const { flags: { verbose }, - } = this.parse(Synth) + } = await this.parse(Synth) if (verbose) { console.error(fullError.message) diff --git a/packages/cli/src/common/base-command.ts b/packages/cli/src/common/base-command.ts index 806e6b4a3..adb1069b4 100644 --- a/packages/cli/src/common/base-command.ts +++ b/packages/cli/src/common/base-command.ts @@ -1,4 +1,4 @@ -import Command from '@oclif/command' +import { Command } from '@oclif/core' import { checkCurrentDirBoosterVersion } from '../services/project-checker' import { appendOnErrorsFile } from '../services/logger' diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 088abcf77..0237950aa 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -1 +1 @@ -export { run } from '@oclif/command' +export { run } from '@oclif/core' diff --git a/packages/cli/test/commands/add/projection.test.ts b/packages/cli/test/commands/add/projection.test.ts index fb841eed3..cef90ef30 100644 --- a/packages/cli/test/commands/add/projection.test.ts +++ b/packages/cli/test/commands/add/projection.test.ts @@ -1,5 +1,5 @@ import { fake, replace, restore, spy, stub } from 'sinon' -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' import { ClassDeclaration, MethodDeclarationStructure, Project, SourceFile } from 'ts-morph' import * as ProjectChecker from '../../../src/services/project-checker' import { expect } from '../../expect' @@ -35,7 +35,7 @@ describe('add', async () => { }) it('init calls checkCurrentDirBoosterVersion', async () => { - await new Projection([], {} as IConfig).init() + await new Projection([], {} as Config).init() expect(ProjectChecker.checkCurrentDirBoosterVersion).to.have.been.called }) @@ -54,7 +54,7 @@ describe('add', async () => { stub(SourceFile.prototype, 'fixMissingImports').returnsThis() stub(SourceFile.prototype, 'save').resolves() - await new Projection(['--read-model', readModelName, '--entity', projectionName], {} as IConfig).run() + await new Projection(['--read-model', readModelName, '--entity', projectionName], {} as Config).run() expect(Filenames.fileNameWithExtension).to.have.been.calledWith(readModelName) expect(Project.prototype.getSourceFileOrThrow).to.have.been.calledOnceWith('post-read-model.ts') @@ -70,15 +70,14 @@ describe('add', async () => { let exceptionMessage = null try { - await new Projection([], {} as IConfig).run() + await new Projection([], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message } - + console.log(exceptionMessage) expect(exceptionThrown).to.be.true - expect(exceptionMessage).to.contain('Missing required flag') - expect(exceptionMessage).to.contain('--read-model READ-MODEL') + expect(exceptionMessage).to.contain('Missing required flag read-model') }) it('with empty --read-model', async () => { @@ -86,7 +85,7 @@ describe('add', async () => { let exceptionMessage = null try { - await new Projection(['--entity', projectionName, '--read-model'], {} as IConfig).run() + await new Projection(['--entity', projectionName, '--read-model'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -101,7 +100,7 @@ describe('add', async () => { let exceptionMessage = null try { - await new Projection(['--read-model', readModelName, '--entity'], {} as IConfig).run() + await new Projection(['--read-model', readModelName, '--entity'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -116,7 +115,7 @@ describe('add', async () => { let exceptionMessage = null try { - await new Projection(['--read-model', readModelName, '--entity', 'Post'], {} as IConfig).run() + await new Projection(['--read-model', readModelName, '--entity', 'Post'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -133,7 +132,7 @@ describe('add', async () => { let exceptionMessage = null try { - await new Projection(['--read-model', readModelName, '--entity', 'Post:'], {} as IConfig).run() + await new Projection(['--read-model', readModelName, '--entity', 'Post:'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -150,7 +149,7 @@ describe('add', async () => { let exceptionMessage = null try { - await new Projection(['--read-model', readModelName, '--entity', ':id'], {} as IConfig).run() + await new Projection(['--read-model', readModelName, '--entity', ':id'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -171,7 +170,7 @@ describe('add', async () => { let exceptionThrown = false try { - await new Projection(['--read-model', readModelName, '--entity', projectionName], {} as IConfig).run() + await new Projection(['--read-model', readModelName, '--entity', projectionName], {} as Config).run() } catch (e) { exceptionThrown = true } @@ -201,7 +200,7 @@ describe('add', async () => { let exceptionThrown = false try { - await new Projection(['--read-model', readModelName, '--entity', projectionName], {} as IConfig).run() + await new Projection(['--read-model', readModelName, '--entity', projectionName], {} as Config).run() } catch (e) { exceptionThrown = true } diff --git a/packages/cli/test/commands/add/reducer.test.ts b/packages/cli/test/commands/add/reducer.test.ts index c06336f2d..d29ab4950 100644 --- a/packages/cli/test/commands/add/reducer.test.ts +++ b/packages/cli/test/commands/add/reducer.test.ts @@ -1,5 +1,5 @@ import { fake, replace, restore, spy, stub } from 'sinon' -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' import { ClassDeclaration, MethodDeclarationStructure, Project, SourceFile } from 'ts-morph' import * as ProjectChecker from '../../../src/services/project-checker' import { expect } from '../../expect' @@ -32,7 +32,7 @@ describe('add', async () => { }) it('init calls checkCurrentDirBoosterVersion', async () => { - await new Reducer([], {} as IConfig).init() + await new Reducer([], {} as Config).init() expect(ProjectChecker.checkCurrentDirBoosterVersion).to.have.been.called }) @@ -58,7 +58,7 @@ describe('add', async () => { }) it('generates reducer correctly', async () => { - await new Reducer(['--entity', entityName, '--event', 'PostCreated'], {} as IConfig).run() + await new Reducer(['--entity', entityName, '--event', 'PostCreated'], {} as Config).run() expect(Filenames.fileNameWithExtension).to.have.been.calledWith(entityName) expect(Project.prototype.getSourceFileOrThrow).to.have.been.calledOnceWith('post.ts') @@ -70,7 +70,7 @@ describe('add', async () => { }) it('generates multiple reducers correctly', async () => { - await new Reducer(['--entity', entityName, '--event', 'PostCreated', 'PostUpdated'], {} as IConfig).run() + await new Reducer(['--entity', entityName, '--event', 'PostCreated', 'PostUpdated'], {} as Config).run() expect(Filenames.fileNameWithExtension).to.have.been.calledWith(entityName) expect(Project.prototype.getSourceFileOrThrow).to.have.been.calledOnceWith('post.ts') @@ -91,15 +91,14 @@ describe('add', async () => { let exceptionMessage = null try { - await new Reducer([], {} as IConfig).run() + await new Reducer([], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message } expect(exceptionThrown).to.be.true - expect(exceptionMessage).to.contain('Missing required flag') - expect(exceptionMessage).to.contain('--entity ENTITY') + expect(exceptionMessage).to.contain('Missing required flag entity') }) it('with empty --entity flag', async () => { @@ -107,7 +106,7 @@ describe('add', async () => { let exceptionMessage = null try { - await new Reducer(['--event', 'PostCreated', '--entity'], {} as IConfig).run() + await new Reducer(['--event', 'PostCreated', '--entity'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -122,7 +121,7 @@ describe('add', async () => { let exceptionMessage = null try { - await new Reducer(['--entity', entityName, '--event'], {} as IConfig).run() + await new Reducer(['--entity', entityName, '--event'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -141,7 +140,7 @@ describe('add', async () => { let exceptionThrown = false try { - await new Reducer(['--entity', entityName, '--event', 'PostCreated'], {} as IConfig).run() + await new Reducer(['--entity', entityName, '--event', 'PostCreated'], {} as Config).run() } catch (e) { exceptionThrown = true } @@ -171,7 +170,7 @@ describe('add', async () => { let exceptionThrown = false try { - await new Reducer(['--entity', entityName, '--event', 'PostUpdated'], {} as IConfig).run() + await new Reducer(['--entity', entityName, '--event', 'PostUpdated'], {} as Config).run() } catch (e) { exceptionThrown = true } diff --git a/packages/cli/test/commands/build.test.ts b/packages/cli/test/commands/build.test.ts index fe83fef1b..7e37ae2d4 100644 --- a/packages/cli/test/commands/build.test.ts +++ b/packages/cli/test/commands/build.test.ts @@ -4,7 +4,7 @@ import * as Build from '../../src/commands/build' import * as configService from '../../src/services/config-service' import * as projectChecker from '../../src/services/project-checker' import { oraLogger } from '../../src/services/logger' -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' describe('build', () => { describe('Build class', () => { @@ -21,12 +21,12 @@ describe('build', () => { }) it('init calls checkCurrentDirBoosterVersion', async () => { - await new Build.default([], {} as IConfig).init() + await new Build.default([], {} as Config).init() expect(projectChecker.checkCurrentDirBoosterVersion).to.have.been.called }) it('runs the command', async () => { - await new Build.default([], {} as IConfig).run() + await new Build.default([], {} as Config).run() expect(projectChecker.checkCurrentDirIsABoosterProject).to.have.been.called expect(configService.compileProject).to.have.been.called expect(oraLogger.start).to.have.been.calledWithMatch('Checking project structure') diff --git a/packages/cli/test/commands/clean.test.ts b/packages/cli/test/commands/clean.test.ts index cf6551077..42d3f817d 100644 --- a/packages/cli/test/commands/clean.test.ts +++ b/packages/cli/test/commands/clean.test.ts @@ -4,7 +4,7 @@ import * as Clean from '../../src/commands/clean' import * as configService from '../../src/services/config-service' import * as projectChecker from '../../src/services/project-checker' import { oraLogger } from '../../src/services/logger' -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' describe('clean', () => { describe('Clean class', () => { @@ -21,12 +21,12 @@ describe('clean', () => { }) it('init calls checkCurrentDirBoosterVersion', async () => { - await new Clean.default([], {} as IConfig).init() + await new Clean.default([], {} as Config).init() expect(projectChecker.checkCurrentDirBoosterVersion).to.have.been.called }) it('runs the command', async () => { - await new Clean.default([], {} as IConfig).run() + await new Clean.default([], {} as Config).run() expect(projectChecker.checkCurrentDirIsABoosterProject).to.have.been.called expect(configService.cleanProject).to.have.been.called expect(oraLogger.start).to.have.been.calledWithMatch('Checking project structure') diff --git a/packages/cli/test/commands/deploy.test.ts b/packages/cli/test/commands/deploy.test.ts index ef4c85630..dd13b98b5 100644 --- a/packages/cli/test/commands/deploy.test.ts +++ b/packages/cli/test/commands/deploy.test.ts @@ -6,7 +6,7 @@ import { test } from '@oclif/test' import * as Deploy from '../../src/commands/deploy' import * as providerService from '../../src/services/provider-service' import { oraLogger } from '../../src/services/logger' -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' import * as environment from '../../src/services/environment' import * as packageManagerImpl from '../../src/services/package-manager/live.impl' import * as configService from '../../src/services/config-service' @@ -114,12 +114,12 @@ describe('deploy', () => { }) it('init calls checkCurrentDirBoosterVersion', async () => { - await new Deploy.default([], {} as IConfig).init() + await new Deploy.default([], {} as Config).init() expect(projectChecker.checkCurrentDirBoosterVersion).to.have.been.called }) it('without flags', async () => { - await new Deploy.default([], {} as IConfig).run() + await new Deploy.default([], {} as Config).run() expect(configService.compileProjectAndLoadConfig).to.have.not.been.called expect(providerService.deployToCloudProvider).to.have.not.been.called @@ -130,7 +130,7 @@ describe('deploy', () => { let exceptionThrown = false let exceptionMessage = '' try { - await new Deploy.default(['-e'], {} as IConfig).run() + await new Deploy.default(['-e'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -145,7 +145,7 @@ describe('deploy', () => { let exceptionThrown = false let exceptionMessage = '' try { - await new Deploy.default(['--environment'], {} as IConfig).run() + await new Deploy.default(['--environment'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -158,7 +158,7 @@ describe('deploy', () => { describe('inside a booster project', () => { it('entering correct environment', async () => { - await new Deploy.default(['-e', 'fake_environment'], {} as IConfig).run() + await new Deploy.default(['-e', 'fake_environment'], {} as Config).run() expect(configService.compileProjectAndLoadConfig).to.have.been.called expect(providerService.deployToCloudProvider).to.have.been.called @@ -169,13 +169,13 @@ describe('deploy', () => { let exceptionThrown = false let exceptionMessage = '' try { - await new Deploy.default(['-e', 'fake_environment', '--nonexistingoption'], {} as IConfig).run() + await new Deploy.default(['-e', 'fake_environment', '--nonexistingoption'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message } expect(exceptionThrown).to.be.equal(true) - expect(exceptionMessage).to.contain('Unexpected argument: --nonexistingoption') + expect(exceptionMessage).to.contain('Nonexistent flag: --nonexistingoption') expect(configService.compileProjectAndLoadConfig).to.have.not.been.called expect(providerService.deployToCloudProvider).to.have.not.been.called expect(oraLogger.info).to.have.not.been.calledWithMatch('Deployment complete!') diff --git a/packages/cli/test/commands/new/command.test.ts b/packages/cli/test/commands/new/command.test.ts index fa1edf608..024806060 100644 --- a/packages/cli/test/commands/new/command.test.ts +++ b/packages/cli/test/commands/new/command.test.ts @@ -3,7 +3,7 @@ import { restore, replace, fake, stub } from 'sinon' import Command from '../../../src/commands/new/command' import Mustache = require('mustache') import * as fs from 'fs-extra' -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' import { expect } from '../../expect' import { template } from '../../../src/services/generator' @@ -52,31 +52,31 @@ describe('new', (): void => { }) it('init calls checkCurrentDirBoosterVersion', async () => { - await new Command([], {} as IConfig).init() + await new Command([], {} as Config).init() expect(ProjectChecker.checkCurrentDirBoosterVersion).to.have.been.called }) describe('Created correctly', () => { it('with no fields', async () => { - await new Command([command], {} as IConfig).run() + await new Command([command], {} as Config).run() const renderedCommand = renderCommand(defaultCommandImports, command, []) expect(fs.outputFile).to.have.been.calledWithMatch(commandPath, renderedCommand) }) it('creates command with a string field', async () => { - await new Command([command, '--fields', 'title:string'], {} as IConfig).run() + await new Command([command, '--fields', 'title:string'], {} as Config).run() const renderedCommand = renderCommand(defaultCommandImports, command, [{ name: 'title', type: 'string' }]) expect(fs.outputFile).to.have.been.calledWithMatch(commandPath, renderedCommand) }) it('creates command with a number field', async () => { - await new Command([command, '--fields', 'quantity:number'], {} as IConfig).run() + await new Command([command, '--fields', 'quantity:number'], {} as Config).run() const renderedCommand = renderCommand(defaultCommandImports, command, [{ name: 'quantity', type: 'number' }]) expect(fs.outputFile).to.have.been.calledWithMatch(commandPath, renderedCommand) }) it('creates command with UUID field', async () => { - await new Command([command, '--fields', 'identifier:UUID'], {} as IConfig).run() + await new Command([command, '--fields', 'identifier:UUID'], {} as Config).run() const renderedCommand = renderCommand(uuidCommandImports, command, [{ name: 'identifier', type: 'UUID' }]) expect(fs.outputFile).to.have.been.calledWithMatch(commandPath, renderedCommand) }) @@ -84,7 +84,7 @@ describe('new', (): void => { it('creates command with multiple fields', async () => { await new Command( [command, '--fields', 'title:string', 'quantity:number', 'identifier:UUID'], - {} as IConfig + {} as Config ).run() const fields = [ { name: 'title', type: 'string' }, @@ -99,7 +99,7 @@ describe('new', (): void => { describe('displays an error', () => { it('with empty command name', async () => { replace(console, 'error', fake.resolves({})) - await new Command([], {} as IConfig).run() + await new Command([], {} as Config).run() expect(fs.outputFile).to.have.not.been.calledWithMatch(commandsRoot) expect(console.error).to.have.been.calledWithMatch(/You haven't provided a command name/) }) @@ -108,7 +108,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Command([command, '--fields'], {} as IConfig).run() + await new Command([command, '--fields'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -121,7 +121,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Command([command, '--fields', 'title'], {} as IConfig).run() + await new Command([command, '--fields', 'title'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -134,7 +134,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Command([command, '--fields', 'title:'], {} as IConfig).run() + await new Command([command, '--fields', 'title:'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -150,7 +150,7 @@ describe('new', (): void => { try { await new Command( [command, '--fields', 'title:string', 'title:string', 'quantity:number'], - {} as IConfig + {} as Config ).run() } catch (e) { exceptionThrown = true diff --git a/packages/cli/test/commands/new/entity.test.ts b/packages/cli/test/commands/new/entity.test.ts index 2cd59fc14..e3654bca2 100644 --- a/packages/cli/test/commands/new/entity.test.ts +++ b/packages/cli/test/commands/new/entity.test.ts @@ -3,7 +3,7 @@ import { restore, replace, fake, stub } from 'sinon' import Entity from '../../../src/commands/new/entity' import Mustache = require('mustache') import * as fs from 'fs-extra' -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' import { expect } from '../../expect' import { template } from '../../../src/services/generator' @@ -75,25 +75,25 @@ describe('new', (): void => { }) it('init calls checkCurrentDirBoosterVersion', async () => { - await new Entity([], {} as IConfig).init() + await new Entity([], {} as Config).init() expect(ProjectChecker.checkCurrentDirBoosterVersion).to.have.been.called }) describe('Created correctly', () => { it('with no fields and no reduces', async () => { - await new Entity([entityName], {} as IConfig).run() + await new Entity([entityName], {} as Config).run() const renderedEntity = renderEntity(defaultEntityImports, entityName, [], []) expect(fs.outputFile).to.have.been.calledWithMatch(entityPath, renderedEntity) }) it('creates Entity with a string field', async () => { - await new Entity([entityName, '--fields', 'title:string'], {} as IConfig).run() + await new Entity([entityName, '--fields', 'title:string'], {} as Config).run() const renderedEntity = renderEntity(defaultEntityImports, entityName, [{ name: 'title', type: 'string' }], []) expect(fs.outputFile).to.have.been.calledWithMatch(entityPath, renderedEntity) }) it('creates Entity with a string field reducing PostCreated', async () => { - await new Entity([entityName, '--fields', 'title:string', '--reduces', 'PostCreated'], {} as IConfig).run() + await new Entity([entityName, '--fields', 'title:string', '--reduces', 'PostCreated'], {} as Config).run() const renderedEntity = renderEntity( reducingEntityImports, entityName, @@ -104,7 +104,7 @@ describe('new', (): void => { }) it('creates Entity with a number field', async () => { - await new Entity([entityName, '--fields', 'quantity:number'], {} as IConfig).run() + await new Entity([entityName, '--fields', 'quantity:number'], {} as Config).run() const renderedEntity = renderEntity( defaultEntityImports, entityName, @@ -115,7 +115,7 @@ describe('new', (): void => { }) it('creates Entity with a number field reducing PostCreated', async () => { - await new Entity([entityName, '--fields', 'quantity:number', '--reduces', 'PostCreated'], {} as IConfig).run() + await new Entity([entityName, '--fields', 'quantity:number', '--reduces', 'PostCreated'], {} as Config).run() const renderedEntity = renderEntity( reducingEntityImports, entityName, @@ -126,7 +126,7 @@ describe('new', (): void => { }) it('creates Entity with UUID field', async () => { - await new Entity([entityName, '--fields', 'identifier:UUID'], {} as IConfig).run() + await new Entity([entityName, '--fields', 'identifier:UUID'], {} as Config).run() const renderedEntity = renderEntity( defaultEntityImports, entityName, @@ -137,7 +137,7 @@ describe('new', (): void => { }) it('creates Entity with UUID field reducing PostCreated', async () => { - await new Entity([entityName, '--fields', 'identifier:UUID', '--reduces', 'PostCreated'], {} as IConfig).run() + await new Entity([entityName, '--fields', 'identifier:UUID', '--reduces', 'PostCreated'], {} as Config).run() const renderedEntity = renderEntity( reducingEntityImports, entityName, @@ -150,7 +150,7 @@ describe('new', (): void => { it('creates Entity with multiple fields', async () => { await new Entity( [entityName, '--fields', 'title:string', 'quantity:number', 'identifier:UUID'], - {} as IConfig + {} as Config ).run() const fields = [ { name: 'title', type: 'string' }, @@ -164,7 +164,7 @@ describe('new', (): void => { it('creates Entity with multiple fields reducing PostCreated', async () => { await new Entity( [entityName, '--fields', 'title:string', 'quantity:number', 'identifier:UUID', '--reduces', 'PostCreated'], - {} as IConfig + {} as Config ).run() const fields = [ { name: 'title', type: 'string' }, @@ -187,7 +187,7 @@ describe('new', (): void => { 'PostCreated', 'CommentCreated', ], - {} as IConfig + {} as Config ).run() const fields = [ { name: 'title', type: 'string' }, @@ -205,7 +205,7 @@ describe('new', (): void => { describe('displays an error', () => { it('with empty Entity name', async () => { replace(console, 'error', fake.resolves({})) - await new Entity([], {} as IConfig).run() + await new Entity([], {} as Config).run() expect(fs.outputFile).to.have.not.been.calledWithMatch(entitysRoot) expect(console.error).to.have.been.calledWithMatch(/You haven't provided an entity name/) }) @@ -214,7 +214,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Entity([entityName, '--fields'], {} as IConfig).run() + await new Entity([entityName, '--fields'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -227,7 +227,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Entity([entityName, '--fields', 'title:string', '--reduces'], {} as IConfig).run() + await new Entity([entityName, '--fields', 'title:string', '--reduces'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -236,24 +236,37 @@ describe('new', (): void => { expect(exceptionMessage).to.contain('--reduces expects a value') }) - it('with empty fields and reduces', async () => { + it('with empty fields', async () => { + let exceptionThrown = false + let exceptionMessage = '' + try { + await new Entity([entityName, '--fields', '--reduces'], {} as Config).run() + } catch (e) { + exceptionThrown = true + exceptionMessage = e.message + } + expect(exceptionThrown).to.be.equal(true) + expect(exceptionMessage).to.contain('Flag --fields expects a value') + }) + + it('with empty reduces', async () => { let exceptionThrown = false let exceptionMessage = '' try { - await new Entity([entityName, '--fields', '--reduces'], {} as IConfig).run() + await new Entity([entityName, '--fields', 'title', '--reduces'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message } expect(exceptionThrown).to.be.equal(true) - expect(exceptionMessage).to.contain('Error parsing field --reduces') + expect(exceptionMessage).to.contain('Flag --reduces expects a value') }) it('with field with no type', async () => { let exceptionThrown = false let exceptionMessage = '' try { - await new Entity([entityName, '--fields', 'title'], {} as IConfig).run() + await new Entity([entityName, '--fields', 'title'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -266,7 +279,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Entity([entityName, '--fields', 'title:'], {} as IConfig).run() + await new Entity([entityName, '--fields', 'title:'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -282,7 +295,7 @@ describe('new', (): void => { try { await new Entity( [entityName, '--fields', 'title:string', 'title:string', 'quantity:number'], - {} as IConfig + {} as Config ).run() } catch (e) { exceptionThrown = true diff --git a/packages/cli/test/commands/new/event-handler.test.ts b/packages/cli/test/commands/new/event-handler.test.ts index 6d72a8b6f..d5584049e 100644 --- a/packages/cli/test/commands/new/event-handler.test.ts +++ b/packages/cli/test/commands/new/event-handler.test.ts @@ -3,7 +3,7 @@ import { restore, replace, fake, stub } from 'sinon' import EventHandler from '../../../src/commands/new/event-handler' import Mustache = require('mustache') import * as fs from 'fs-extra' -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' import { expect } from '../../expect' import { template } from '../../../src/services/generator' @@ -38,13 +38,13 @@ describe('new', (): void => { }) it('init calls checkCurrentDirBoosterVersion', async () => { - await new EventHandler([], {} as IConfig).init() + await new EventHandler([], {} as Config).init() expect(ProjectChecker.checkCurrentDirBoosterVersion).to.have.been.called }) describe('Created correctly', () => { it('creates Event with a event', async () => { - await new EventHandler([eventHandlerName, '--event', 'CommentPosted'], {} as IConfig).run() + await new EventHandler([eventHandlerName, '--event', 'CommentPosted'], {} as Config).run() const renderedEventHandler = Mustache.render(template('event-handler'), { imports: defaultEventHandlerImports, name: eventHandlerName, @@ -57,14 +57,14 @@ describe('new', (): void => { describe('displays an error', () => { it('with no event', async () => { replace(console, 'error', fake.resolves({})) - await new EventHandler([eventHandlerName], {} as IConfig).run() + await new EventHandler([eventHandlerName], {} as Config).run() expect(fs.outputFile).to.have.not.been.calledWithMatch(eventHandlerPath) expect(console.error).to.have.been.calledWithMatch(/You haven't provided an event/) }) it('with empty EventHandler name', async () => { replace(console, 'error', fake.resolves({})) - await new EventHandler([], {} as IConfig).run() + await new EventHandler([], {} as Config).run() expect(fs.outputFile).to.have.not.been.calledWithMatch(eventHandlersRoot) expect(console.error).to.have.been.calledWithMatch(/You haven't provided an event handler name/) }) @@ -73,7 +73,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new EventHandler([eventHandlerName, '--event'], {} as IConfig).run() + await new EventHandler([eventHandlerName, '--event'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -87,7 +87,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new EventHandler([eventHandlerName, '--event', 'CommentPosted', 'ArticlePosted'], {} as IConfig).run() + await new EventHandler([eventHandlerName, '--event', 'CommentPosted', 'ArticlePosted'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message diff --git a/packages/cli/test/commands/new/event.test.ts b/packages/cli/test/commands/new/event.test.ts index 598e4969c..13287bd1a 100644 --- a/packages/cli/test/commands/new/event.test.ts +++ b/packages/cli/test/commands/new/event.test.ts @@ -3,7 +3,7 @@ import { restore, replace, fake, stub } from 'sinon' import Event from '../../../src/commands/new/event' import Mustache = require('mustache') import * as fs from 'fs-extra' -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' import { expect } from '../../expect' import { template } from '../../../src/services/generator' @@ -42,31 +42,31 @@ describe('new', (): void => { }) it('init calls checkCurrentDirBoosterVersion', async () => { - await new Event([], {} as IConfig).init() + await new Event([], {} as Config).init() expect(ProjectChecker.checkCurrentDirBoosterVersion).to.have.been.called }) describe('Created correctly', () => { it('with no fields', async () => { - await new Event([eventName], {} as IConfig).run() + await new Event([eventName], {} as Config).run() const renderedEvent = renderEvent(eventName, []) expect(fs.outputFile).to.have.been.calledWithMatch(eventPath, renderedEvent) }) it('creates Event with a string field', async () => { - await new Event([eventName, '--fields', 'title:string'], {} as IConfig).run() + await new Event([eventName, '--fields', 'title:string'], {} as Config).run() const renderedEvent = renderEvent(eventName, [{ name: 'title', type: 'string' }]) expect(fs.outputFile).to.have.been.calledWithMatch(eventPath, renderedEvent) }) it('creates Event with a number field', async () => { - await new Event([eventName, '--fields', 'quantity:number'], {} as IConfig).run() + await new Event([eventName, '--fields', 'quantity:number'], {} as Config).run() const renderedEvent = renderEvent(eventName, [{ name: 'quantity', type: 'number' }]) expect(fs.outputFile).to.have.been.calledWithMatch(eventPath, renderedEvent) }) it('creates Event with UUID field', async () => { - await new Event([eventName, '--fields', 'identifier:UUID'], {} as IConfig).run() + await new Event([eventName, '--fields', 'identifier:UUID'], {} as Config).run() const renderedEvent = renderEvent(eventName, [{ name: 'identifier', type: 'UUID' }]) expect(fs.outputFile).to.have.been.calledWithMatch(eventPath, renderedEvent) }) @@ -74,7 +74,7 @@ describe('new', (): void => { it('creates Event with multiple fields', async () => { await new Event( [eventName, '--fields', 'title:string', 'quantity:number', 'identifier:UUID'], - {} as IConfig + {} as Config ).run() const fields = [ { name: 'title', type: 'string' }, @@ -89,7 +89,7 @@ describe('new', (): void => { describe('displays an error', () => { it('with empty Event name', async () => { replace(console, 'error', fake.resolves({})) - await new Event([], {} as IConfig).run() + await new Event([], {} as Config).run() expect(fs.outputFile).to.have.not.been.calledWithMatch(eventsRoot) expect(console.error).to.have.been.calledWithMatch(/You haven't provided an event name/) }) @@ -98,7 +98,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Event([eventName, '--fields'], {} as IConfig).run() + await new Event([eventName, '--fields'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -111,7 +111,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Event([eventName, '--fields', 'title'], {} as IConfig).run() + await new Event([eventName, '--fields', 'title'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -124,7 +124,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Event([eventName, '--fields', 'title:'], {} as IConfig).run() + await new Event([eventName, '--fields', 'title:'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -140,7 +140,7 @@ describe('new', (): void => { try { await new Event( [eventName, '--fields', 'title:string', 'title:string', 'quantity:number'], - {} as IConfig + {} as Config ).run() } catch (e) { exceptionThrown = true diff --git a/packages/cli/test/commands/new/project.test.ts b/packages/cli/test/commands/new/project.test.ts index 40a85ab51..399c157b8 100644 --- a/packages/cli/test/commands/new/project.test.ts +++ b/packages/cli/test/commands/new/project.test.ts @@ -2,7 +2,7 @@ import { restore, replace, fake, spy } from 'sinon' import { ProjectInitializerConfig } from '../../../src/services/project-initializer' import { oraLogger } from '../../../src/services/logger' import * as fs from 'fs-extra' -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' import { expect } from '../../expect' import * as Project from '../../../src/commands/new/project' import * as ProjectInitializer from '../../../src/services/project-initializer' @@ -74,7 +74,7 @@ describe('new', (): void => { it('without flags', async () => { replace(Project, 'parseConfig', fake.returns(defaultProjectInitializerConfig)) - await new Project.default([projectName], {} as IConfig).run() + await new Project.default([projectName], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.been.called expect(ProjectInitializer.installDependencies).to.have.been.called @@ -85,7 +85,7 @@ describe('new', (): void => { it('skip dependencies installation with --skipInstall', async () => { replace(Project, 'parseConfig', fake.returns(defaultProjectInitializerConfig)) - await new Project.default([projectName, '--skipInstall'], {} as IConfig).run() + await new Project.default([projectName, '--skipInstall'], {} as Config).run() expect(ProjectInitializer.installDependencies).to.have.not.been.called expect(ProjectInitializer.initializeGit).to.have.been.called @@ -96,7 +96,7 @@ describe('new', (): void => { it('generates project with default parameters when using --default flag', async () => { const parseConfigSpy = spy(Project, 'parseConfig') - await new Project.default([projectName, '--default'], { version: '0.5.1' } as IConfig).run() + await new Project.default([projectName, '--default'], { version: '0.5.1' } as Config).run() expect(oraLogger.info).to.have.been.calledWithMatch('Project generated!') expectFilesAndDirectoriesCreated(projectName) @@ -113,7 +113,7 @@ describe('new', (): void => { it('skips git repository initialization with --skipGit', async () => { replace(Project, 'parseConfig', fake.returns(defaultProjectInitializerConfig)) - await new Project.default([projectName, '--skipGit'], {} as IConfig).run() + await new Project.default([projectName, '--skipGit'], {} as Config).run() expect(oraLogger.info).to.have.been.calledWithMatch('Project generated!') expect(ProjectInitializer.initializeGit).to.have.not.been.called @@ -127,7 +127,7 @@ describe('new', (): void => { const config = { ...defaultProjectInitializerConfig, homepage: 'boosterframework.com' } replace(Project, 'parseConfig', fake.returns(config)) - await new Project.default([projectName,'--homepage',"'boosterframework.com'"], {} as IConfig).run() + await new Project.default([projectName,'--homepage',"'boosterframework.com'"], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.been.called expect(ProjectInitializer.installDependencies).to.have.been.called @@ -140,7 +140,7 @@ describe('new', (): void => { const config = { ...defaultProjectInitializerConfig, homepage: 'boosterframework.com' } replace(Project, 'parseConfig', fake.returns(config)) - await new Project.default([projectName,'-H',"'boosterframework.com'"], {} as IConfig).run() + await new Project.default([projectName,'-H',"'boosterframework.com'"], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.been.called expect(ProjectInitializer.installDependencies).to.have.been.called @@ -155,7 +155,7 @@ describe('new', (): void => { const config = { ...defaultProjectInitializerConfig, author: 'John Doe' } replace(Project, 'parseConfig', fake.returns(config)) - await new Project.default([projectName,'--author',"'John Doe'"], {} as IConfig).run() + await new Project.default([projectName,'--author',"'John Doe'"], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.been.called expect(ProjectInitializer.installDependencies).to.have.been.called @@ -168,7 +168,7 @@ describe('new', (): void => { const config = { ...defaultProjectInitializerConfig, author: 'John Doe' } replace(Project, 'parseConfig', fake.returns(config)) - await new Project.default([projectName,'-a',"'John Doe'"], {} as IConfig).run() + await new Project.default([projectName,'-a',"'John Doe'"], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.been.called expect(ProjectInitializer.installDependencies).to.have.been.called @@ -183,7 +183,7 @@ describe('new', (): void => { const config = { ...defaultProjectInitializerConfig, description: 'a short description' } replace(Project, 'parseConfig', fake.returns(config)) - await new Project.default([projectName,'--description',"'a short description'"], {} as IConfig).run() + await new Project.default([projectName,'--description',"'a short description'"], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.been.called expect(ProjectInitializer.installDependencies).to.have.been.called @@ -196,7 +196,7 @@ describe('new', (): void => { const config = { ...defaultProjectInitializerConfig, description: 'a short description' } replace(Project, 'parseConfig', fake.returns(config)) - await new Project.default([projectName,'-d',"'a short description'"], {} as IConfig).run() + await new Project.default([projectName,'-d',"'a short description'"], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.been.called expect(ProjectInitializer.installDependencies).to.have.been.called @@ -211,7 +211,7 @@ describe('new', (): void => { const config = { ...defaultProjectInitializerConfig, license: 'GPL' } replace(Project, 'parseConfig', fake.returns(config)) - await new Project.default([projectName,'--license','GPL'], {} as IConfig).run() + await new Project.default([projectName,'--license','GPL'], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.been.called expect(ProjectInitializer.installDependencies).to.have.been.called @@ -224,7 +224,7 @@ describe('new', (): void => { const config = { ...defaultProjectInitializerConfig, license: 'GPL' } replace(Project, 'parseConfig', fake.returns(config)) - await new Project.default([projectName,'-l','GPL'], {} as IConfig).run() + await new Project.default([projectName,'-l','GPL'], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.been.called expect(ProjectInitializer.installDependencies).to.have.been.called @@ -238,7 +238,7 @@ describe('new', (): void => { it('with --providerPackageName', async () => { replace(Project, 'parseConfig', fake.returns(defaultProjectInitializerConfig)) - await new Project.default([projectName,'--providerPackageName',defaultProvider], {} as IConfig).run() + await new Project.default([projectName,'--providerPackageName',defaultProvider], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.been.called expect(ProjectInitializer.installDependencies).to.have.been.called @@ -249,7 +249,7 @@ describe('new', (): void => { it('with -p', async () => { replace(Project, 'parseConfig', fake.returns(defaultProjectInitializerConfig)) - await new Project.default([projectName,'-p',defaultProvider], {} as IConfig).run() + await new Project.default([projectName,'-p',defaultProvider], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.been.called expect(ProjectInitializer.installDependencies).to.have.been.called @@ -263,7 +263,7 @@ describe('new', (): void => { const config = { ...defaultProjectInitializerConfig, repository: defaultRepository } replace(Project, 'parseConfig', fake.returns(config)) - await new Project.default([projectName,'--repository',defaultRepository], {} as IConfig).run() + await new Project.default([projectName,'--repository',defaultRepository], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.been.called expect(ProjectInitializer.installDependencies).to.have.been.called @@ -276,7 +276,7 @@ describe('new', (): void => { const config = { ...defaultProjectInitializerConfig, repository: defaultRepository } replace(Project, 'parseConfig', fake.returns(config)) - await new Project.default([projectName,'-r',defaultRepository], {} as IConfig).run() + await new Project.default([projectName,'-r',defaultRepository], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.been.called expect(ProjectInitializer.installDependencies).to.have.been.called @@ -291,7 +291,7 @@ describe('new', (): void => { const config = { ...defaultProjectInitializerConfig, version: '1.0.0' } replace(Project, 'parseConfig', fake.returns(config)) - await new Project.default([projectName,'--version','1.0.0'], {} as IConfig).run() + await new Project.default([projectName,'--version','1.0.0'], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.been.called expect(ProjectInitializer.installDependencies).to.have.been.called @@ -304,7 +304,7 @@ describe('new', (): void => { const config = { ...defaultProjectInitializerConfig, version: '1.0.0' } replace(Project, 'parseConfig', fake.returns(config)) - await new Project.default([projectName,'-v','1.0.0'], {} as IConfig).run() + await new Project.default([projectName,'-v','1.0.0'], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.been.called expect(ProjectInitializer.installDependencies).to.have.been.called @@ -326,7 +326,7 @@ describe('new', (): void => { '--providerPackageName',defaultProvider, '--skipInstall', '--skipGit' - ], {} as IConfig).run() + ], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.not.been.called expect(ProjectInitializer.installDependencies).to.have.not.been.called @@ -345,7 +345,7 @@ describe('new', (): void => { '-p',defaultProvider, '--skipInstall', '--skipGit' - ], {} as IConfig).run() + ], {} as Config).run() expect(ProjectInitializer.initializeGit).to.have.not.been.called expect(ProjectInitializer.installDependencies).to.have.not.been.called @@ -358,7 +358,7 @@ describe('new', (): void => { describe('displays an error', () => { it('with empty project name', async () => { replace(console,'error', fake.resolves({})) - await new Project.default([], {} as IConfig).run() + await new Project.default([], {} as Config).run() expect(fs.mkdirs).to.have.not.been.calledWithMatch(`${projectName}/src`) expect(console.error).to.have.been.calledWithMatch(/You haven't provided a project name/) expect(oraLogger.info).to.have.not.been.calledWithMatch('Project generated!') @@ -368,13 +368,13 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'--nonexistingoption'], {} as IConfig).run() + await new Project.default([projectName,'--nonexistingoption'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message } expect(exceptionThrown).to.be.equal(true) - expect(exceptionMessage).to.contain('Unexpected argument: --nonexistingoption') + expect(exceptionMessage).to.contain('Nonexistent flag: --nonexistingoption') expect(oraLogger.info).to.have.not.been.calledWithMatch('Project generated!') expect(fs.mkdirs).to.have.not.been.calledWithMatch(`${projectName}/src`) }) @@ -386,7 +386,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'--homepage'], {} as IConfig).run() + await new Project.default([projectName,'--homepage'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message @@ -401,7 +401,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'-H'], {} as IConfig).run() + await new Project.default([projectName,'-H'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message @@ -418,7 +418,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'--author'], {} as IConfig).run() + await new Project.default([projectName,'--author'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message @@ -433,7 +433,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'-a'], {} as IConfig).run() + await new Project.default([projectName,'-a'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message @@ -450,7 +450,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'--description'], {} as IConfig).run() + await new Project.default([projectName,'--description'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message @@ -465,7 +465,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'-d'], {} as IConfig).run() + await new Project.default([projectName,'-d'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message @@ -482,7 +482,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'--license'], {} as IConfig).run() + await new Project.default([projectName,'--license'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message @@ -497,7 +497,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'-l'], {} as IConfig).run() + await new Project.default([projectName,'-l'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message @@ -514,7 +514,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'--providerPackageName'], {} as IConfig).run() + await new Project.default([projectName,'--providerPackageName'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message @@ -529,7 +529,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'-p'], {} as IConfig).run() + await new Project.default([projectName,'-p'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message @@ -546,7 +546,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'--repository'], {} as IConfig).run() + await new Project.default([projectName,'--repository'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message @@ -561,7 +561,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'-r'], {} as IConfig).run() + await new Project.default([projectName,'-r'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message @@ -578,7 +578,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'--version'], {} as IConfig).run() + await new Project.default([projectName,'--version'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message @@ -593,7 +593,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'-v'], {} as IConfig).run() + await new Project.default([projectName,'-v'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message @@ -612,7 +612,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'--providerPackageName','nonexistingProvider'], {} as IConfig).run() + await new Project.default([projectName,'--providerPackageName','nonexistingProvider'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message @@ -629,7 +629,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Project.default([projectName,'--repository','invalidUrl'], {} as IConfig).run() + await new Project.default([projectName,'--repository','invalidUrl'], {} as Config).run() } catch(e) { exceptionThrown = true exceptionMessage = e.message diff --git a/packages/cli/test/commands/new/read-model.test.ts b/packages/cli/test/commands/new/read-model.test.ts index 1d3428224..eebee5298 100644 --- a/packages/cli/test/commands/new/read-model.test.ts +++ b/packages/cli/test/commands/new/read-model.test.ts @@ -3,7 +3,7 @@ import { restore, replace, fake, stub } from 'sinon' import ReadModel from '../../../src/commands/new/read-model' import Mustache = require('mustache') import * as fs from 'fs-extra' -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' import { expect } from '../../expect' import { template } from '../../../src/services/generator' @@ -75,19 +75,19 @@ describe('new', (): void => { }) it('init calls checkCurrentDirBoosterVersion', async () => { - await new ReadModel([], {} as IConfig).init() + await new ReadModel([], {} as Config).init() expect(ProjectChecker.checkCurrentDirBoosterVersion).to.have.been.called }) describe('Created correctly', () => { it('with no fields and no projects', async () => { - await new ReadModel([readModelName], {} as IConfig).run() + await new ReadModel([readModelName], {} as Config).run() const renderedReadModel = renderReadModel(defaultReadModelImports, readModelName, [], []) expect(fs.outputFile).to.have.been.calledWithMatch(readModelPath, renderedReadModel) }) it('creates ReadModel with a string field', async () => { - await new ReadModel([readModelName, '--fields', 'title:string'], {} as IConfig).run() + await new ReadModel([readModelName, '--fields', 'title:string'], {} as Config).run() const renderedReadModel = renderReadModel( defaultReadModelImports, readModelName, @@ -98,7 +98,7 @@ describe('new', (): void => { }) it('creates ReadModel with a string field projecting Post:id', async () => { - await new ReadModel([readModelName, '--fields', 'title:string', '--projects', 'Post:id'], {} as IConfig).run() + await new ReadModel([readModelName, '--fields', 'title:string', '--projects', 'Post:id'], {} as Config).run() const renderedReadModel = renderReadModel( projectingReadModelImports, readModelName, @@ -109,7 +109,7 @@ describe('new', (): void => { }) it('creates ReadModel with a number field', async () => { - await new ReadModel([readModelName, '--fields', 'quantity:number'], {} as IConfig).run() + await new ReadModel([readModelName, '--fields', 'quantity:number'], {} as Config).run() const renderedReadModel = renderReadModel( defaultReadModelImports, readModelName, @@ -122,7 +122,7 @@ describe('new', (): void => { it('creates ReadModel with a number field projecting Post:id', async () => { await new ReadModel( [readModelName, '--fields', 'quantity:number', '--projects', 'Post:id'], - {} as IConfig + {} as Config ).run() const renderedReadModel = renderReadModel( projectingReadModelImports, @@ -134,7 +134,7 @@ describe('new', (): void => { }) it('creates ReadModel with UUID field', async () => { - await new ReadModel([readModelName, '--fields', 'identifier:UUID'], {} as IConfig).run() + await new ReadModel([readModelName, '--fields', 'identifier:UUID'], {} as Config).run() const renderedReadModel = renderReadModel( defaultReadModelImports, readModelName, @@ -147,7 +147,7 @@ describe('new', (): void => { it('creates ReadModel with UUID field projecting Post:id', async () => { await new ReadModel( [readModelName, '--fields', 'identifier:UUID', '--projects', 'Post:id'], - {} as IConfig + {} as Config ).run() const renderedReadModel = renderReadModel( projectingReadModelImports, @@ -161,7 +161,7 @@ describe('new', (): void => { it('creates ReadModel with multiple fields', async () => { await new ReadModel( [readModelName, '--fields', 'title:string', 'quantity:number', 'identifier:UUID'], - {} as IConfig + {} as Config ).run() const fields = [ { name: 'title', type: 'string' }, @@ -175,7 +175,7 @@ describe('new', (): void => { it('creates ReadModel with multiple fields projecting Post:id', async () => { await new ReadModel( [readModelName, '--fields', 'title:string', 'quantity:number', 'identifier:UUID', '--projects', 'Post:id'], - {} as IConfig + {} as Config ).run() const fields = [ { name: 'title', type: 'string' }, @@ -200,7 +200,7 @@ describe('new', (): void => { 'Post:id', 'Comment:id', ], - {} as IConfig + {} as Config ).run() const fields = [ { name: 'title', type: 'string' }, @@ -219,7 +219,7 @@ describe('new', (): void => { describe('displays an error', () => { it('with empty ReadModel name', async () => { replace(console, 'error', fake.resolves({})) - await new ReadModel([], {} as IConfig).run() + await new ReadModel([], {} as Config).run() expect(fs.outputFile).to.have.not.been.calledWithMatch(readModelsRoot) expect(console.error).to.have.been.calledWithMatch(/You haven't provided a read model name/) }) @@ -228,7 +228,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new ReadModel([readModelName, '--fields'], {} as IConfig).run() + await new ReadModel([readModelName, '--fields'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -241,7 +241,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new ReadModel([readModelName, '--fields', 'title:string', '--projects'], {} as IConfig).run() + await new ReadModel([readModelName, '--fields', 'title:string', '--projects'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -250,24 +250,38 @@ describe('new', (): void => { expect(exceptionMessage).to.contain('--projects expects a value') }) - it('with empty fields and projection', async () => { + it('with empty fields', async () => { let exceptionThrown = false let exceptionMessage = '' try { - await new ReadModel([readModelName, '--fields', '--projects'], {} as IConfig).run() + await new ReadModel([readModelName, '--fields'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message } expect(exceptionThrown).to.be.equal(true) - expect(exceptionMessage).to.contain('Error parsing field --projects') + expect(exceptionMessage).to.contain('Flag --fields expects a value') }) + it('with empty projection', async () => { + let exceptionThrown = false + let exceptionMessage = '' + try { + await new ReadModel([readModelName, '--projects'], {} as Config).run() + } catch (e) { + exceptionThrown = true + exceptionMessage = e.message + } + expect(exceptionThrown).to.be.equal(true) + expect(exceptionMessage).to.contain('Flag --projects expects a value') + }) + + it('with field with no type', async () => { let exceptionThrown = false let exceptionMessage = '' try { - await new ReadModel([readModelName, '--fields', 'title'], {} as IConfig).run() + await new ReadModel([readModelName, '--fields', 'title'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -280,7 +294,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new ReadModel([readModelName, '--fields', 'title:'], {} as IConfig).run() + await new ReadModel([readModelName, '--fields', 'title:'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -294,7 +308,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new ReadModel([readModelName, '--fields', 'title:string', '--projects', 'Post'], {} as IConfig).run() + await new ReadModel([readModelName, '--fields', 'title:string', '--projects', 'Post'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -308,7 +322,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new ReadModel([readModelName, '--fields', 'title:string', '--projects', 'Post:'], {} as IConfig).run() + await new ReadModel([readModelName, '--fields', 'title:string', '--projects', 'Post:'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -322,7 +336,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new ReadModel([readModelName, '--fields', 'title:string', '--projects', ':id'], {} as IConfig).run() + await new ReadModel([readModelName, '--fields', 'title:string', '--projects', ':id'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -338,7 +352,7 @@ describe('new', (): void => { try { await new ReadModel( [readModelName, '--fields', 'title:string', 'title:string', 'quantity:number'], - {} as IConfig + {} as Config ).run() } catch (e) { exceptionThrown = true diff --git a/packages/cli/test/commands/new/scheduled-command.test.ts b/packages/cli/test/commands/new/scheduled-command.test.ts index 2debde299..bc632fd2d 100644 --- a/packages/cli/test/commands/new/scheduled-command.test.ts +++ b/packages/cli/test/commands/new/scheduled-command.test.ts @@ -3,7 +3,7 @@ import { restore, replace, fake, stub } from 'sinon' import ScheduledCommand from '../../../src/commands/new/scheduled-command' import Mustache = require('mustache') import * as fs from 'fs-extra' -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' import { expect } from '../../expect' import { template } from '../../../src/services/generator' @@ -34,13 +34,13 @@ describe('new', (): void => { }) it('init calls checkCurrentDirBoosterVersion', async () => { - await new ScheduledCommand([], {} as IConfig).init() + await new ScheduledCommand([], {} as Config).init() expect(ProjectChecker.checkCurrentDirBoosterVersion).to.have.been.called }) describe('Created correctly', () => { it('with scheduled command name', async () => { - await new ScheduledCommand([scheduledCommandName], {} as IConfig).run() + await new ScheduledCommand([scheduledCommandName], {} as Config).run() const renderedCommand = Mustache.render(template('scheduled-command'), { imports: defaultScheduledCommandImports, name: scheduledCommandName, @@ -52,7 +52,7 @@ describe('new', (): void => { describe('displays an error', () => { it('with empty scheduled command name', async () => { replace(console, 'error', fake.resolves({})) - await new ScheduledCommand([], {} as IConfig).run() + await new ScheduledCommand([], {} as Config).run() expect(fs.outputFile).to.have.not.been.calledWithMatch(scheduledCommandRoot) expect(console.error).to.have.been.calledWithMatch(/You haven't provided a scheduled command name/) }) @@ -61,7 +61,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new ScheduledCommand([scheduledCommandName, 'AnotherName'], {} as IConfig).run() + await new ScheduledCommand([scheduledCommandName, 'AnotherName'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message diff --git a/packages/cli/test/commands/new/type.test.ts b/packages/cli/test/commands/new/type.test.ts index e0d178878..89105a40f 100644 --- a/packages/cli/test/commands/new/type.test.ts +++ b/packages/cli/test/commands/new/type.test.ts @@ -3,7 +3,7 @@ import { restore, replace, fake, stub } from 'sinon' import Type from '../../../src/commands/new/type' import Mustache = require('mustache') import * as fs from 'fs-extra' -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' import { expect } from '../../expect' import { template } from '../../../src/services/generator' @@ -52,31 +52,31 @@ describe('new', (): void => { }) it('init calls checkCurrentDirBoosterVersion', async () => { - await new Type([], {} as IConfig).init() + await new Type([], {} as Config).init() expect(ProjectChecker.checkCurrentDirBoosterVersion).to.have.been.called }) describe('Created correctly', () => { it('with no fields', async () => { - await new Type([typeName], {} as IConfig).run() + await new Type([typeName], {} as Config).run() const renderedType = renderType(defaultTypeImports, typeName, []) expect(fs.outputFile).to.have.been.calledWithMatch(typePath, renderedType) }) it('creates Type with a string field', async () => { - await new Type([typeName, '--fields', 'title:string'], {} as IConfig).run() + await new Type([typeName, '--fields', 'title:string'], {} as Config).run() const renderedType = renderType(defaultTypeImports, typeName, [{ name: 'title', type: 'string' }]) expect(fs.outputFile).to.have.been.calledWithMatch(typePath, renderedType) }) it('creates Type with a number field', async () => { - await new Type([typeName, '--fields', 'quantity:number'], {} as IConfig).run() + await new Type([typeName, '--fields', 'quantity:number'], {} as Config).run() const renderedType = renderType(defaultTypeImports, typeName, [{ name: 'quantity', type: 'number' }]) expect(fs.outputFile).to.have.been.calledWithMatch(typePath, renderedType) }) it('creates Type with UUID field', async () => { - await new Type([typeName, '--fields', 'identifier:UUID'], {} as IConfig).run() + await new Type([typeName, '--fields', 'identifier:UUID'], {} as Config).run() const renderedType = renderType(uuidTypeImports, typeName, [{ name: 'identifier', type: 'UUID' }]) expect(fs.outputFile).to.have.been.calledWithMatch(typePath, renderedType) }) @@ -84,7 +84,7 @@ describe('new', (): void => { it('creates Type with multiple fields', async () => { await new Type( [typeName, '--fields', 'title:string', 'quantity:number', 'identifier:UUID'], - {} as IConfig + {} as Config ).run() const fields = [ { name: 'title', type: 'string' }, @@ -99,7 +99,7 @@ describe('new', (): void => { describe('displays an error', () => { it('with empty Type name', async () => { replace(console, 'error', fake.resolves({})) - await new Type([], {} as IConfig).run() + await new Type([], {} as Config).run() expect(fs.outputFile).to.have.not.been.calledWithMatch(typesRoot) expect(console.error).to.have.been.calledWithMatch(/You haven't provided a type name/) }) @@ -108,7 +108,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Type([typeName, '--fields'], {} as IConfig).run() + await new Type([typeName, '--fields'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -121,7 +121,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Type([typeName, '--fields', 'title'], {} as IConfig).run() + await new Type([typeName, '--fields', 'title'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -134,7 +134,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Type([typeName, '--fields', 'title:'], {} as IConfig).run() + await new Type([typeName, '--fields', 'title:'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -148,7 +148,7 @@ describe('new', (): void => { let exceptionThrown = false let exceptionMessage = '' try { - await new Type([typeName, '--fields', 'title:string', 'title:string', 'quantity:number'], {} as IConfig).run() + await new Type([typeName, '--fields', 'title:string', 'title:string', 'quantity:number'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message diff --git a/packages/cli/test/commands/nuke.test.ts b/packages/cli/test/commands/nuke.test.ts index d4ac1f386..8d0aa08c5 100644 --- a/packages/cli/test/commands/nuke.test.ts +++ b/packages/cli/test/commands/nuke.test.ts @@ -6,7 +6,7 @@ import { ProviderLibrary, BoosterConfig } from '@boostercloud/framework-types' import * as Nuke from '../../src/commands/nuke' import * as providerService from '../../src/services/provider-service' import { oraLogger } from '../../src/services/logger' -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' import { test } from '@oclif/test' import * as environment from '../../src/services/environment' import * as configService from '../../src/services/config-service' @@ -139,12 +139,12 @@ describe('nuke', () => { }) it('init calls checkCurrentDirBoosterVersion', async () => { - await new Nuke.default([], {} as IConfig).init() + await new Nuke.default([], {} as Config).init() expect(projectChecker.checkCurrentDirBoosterVersion).to.have.been.called }) it('without flags', async () => { - await new Nuke.default([], {} as IConfig).run() + await new Nuke.default([], {} as Config).run() expect(configService.compileProjectAndLoadConfig).to.have.not.been.called expect(providerService.nukeCloudProviderResources).to.have.not.been.called @@ -155,7 +155,7 @@ describe('nuke', () => { let exceptionThrown = false let exceptionMessage = '' try { - await new Nuke.default(['-e'], {} as IConfig).run() + await new Nuke.default(['-e'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -170,7 +170,7 @@ describe('nuke', () => { let exceptionThrown = false let exceptionMessage = '' try { - await new Nuke.default(['--environment'], {} as IConfig).run() + await new Nuke.default(['--environment'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -184,7 +184,7 @@ describe('nuke', () => { describe('inside a booster project', () => { it('entering correct environment and application name', async () => { replace(Prompter.prototype, 'defaultOrPrompt', fake.resolves('new-booster-app')) - await new Nuke.default(['-e', 'fake_environment'], {} as IConfig).run() + await new Nuke.default(['-e', 'fake_environment'], {} as Config).run() expect(configService.compileProjectAndLoadConfig).to.have.been.called expect(providerService.nukeCloudProviderResources).to.have.been.called @@ -192,7 +192,7 @@ describe('nuke', () => { }) it('entering correct environment and --force flag', async () => { - await new Nuke.default(['-e', 'fake_environment', '--force'], {} as IConfig).run() + await new Nuke.default(['-e', 'fake_environment', '--force'], {} as Config).run() expect(configService.compileProjectAndLoadConfig).to.have.been.called expect(providerService.nukeCloudProviderResources).to.have.been.called @@ -200,7 +200,7 @@ describe('nuke', () => { }) it('entering correct environment and -f flag', async () => { - await new Nuke.default(['-e', 'fake_environment', '-f'], {} as IConfig).run() + await new Nuke.default(['-e', 'fake_environment', '-f'], {} as Config).run() expect(configService.compileProjectAndLoadConfig).to.have.been.called expect(providerService.nukeCloudProviderResources).to.have.been.called @@ -212,7 +212,7 @@ describe('nuke', () => { let exceptionThrown = false let exceptionMessage = '' try { - await new Nuke.default(['-e', 'fake_environment'], {} as IConfig).run() + await new Nuke.default(['-e', 'fake_environment'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -228,19 +228,19 @@ describe('nuke', () => { let exceptionThrown = false let exceptionMessage = '' try { - await new Nuke.default(['-e', 'fake_environment', '--nonexistingoption'], {} as IConfig).run() + await new Nuke.default(['-e', 'fake_environment', '--nonexistingoption'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message } expect(exceptionThrown).to.be.equal(true) - expect(exceptionMessage).to.contain('Unexpected argument: --nonexistingoption') + expect(exceptionMessage).to.contain('Nonexistent flag: --nonexistingoption') expect(providerService.nukeCloudProviderResources).to.have.not.been.called expect(oraLogger.info).to.have.not.been.calledWithMatch('Removal complete!') }) it('without defining environment and --force', async () => { - await new Nuke.default(['--force'], {} as IConfig).run() + await new Nuke.default(['--force'], {} as Config).run() expect(providerService.nukeCloudProviderResources).to.have.not.been.called expect(oraLogger.fail).to.have.been.calledWithMatch(/No environment set/) diff --git a/packages/cli/test/commands/start.test.ts b/packages/cli/test/commands/start.test.ts index 09699230b..074af5a5f 100644 --- a/packages/cli/test/commands/start.test.ts +++ b/packages/cli/test/commands/start.test.ts @@ -4,7 +4,7 @@ import { ProviderLibrary, BoosterConfig } from '@boostercloud/framework-types' import * as Start from '../../src/commands/start' import * as providerService from '../../src/services/provider-service' import { oraLogger } from '../../src/services/logger' -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' import { test } from '@oclif/test' import * as environment from '../../src/services/environment' import * as configService from '../../src/services/config-service' @@ -66,12 +66,12 @@ describe('start', () => { }) it('init calls checkCurrentDirBoosterVersion', async () => { - await new Start.default([], {} as IConfig).init() + await new Start.default([], {} as Config).init() expect(projectChecker.checkCurrentDirBoosterVersion).to.have.been.called }) it('without flags', async () => { - await new Start.default([], {} as IConfig).run() + await new Start.default([], {} as Config).run() expect(configService.compileProjectAndLoadConfig).to.have.not.been.called expect(providerService.startProvider).to.have.not.been.called @@ -82,7 +82,7 @@ describe('start', () => { let exceptionThrown = false let exceptionMessage = '' try { - await new Start.default(['-e'], {} as IConfig).run() + await new Start.default(['-e'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -97,7 +97,7 @@ describe('start', () => { let exceptionThrown = false let exceptionMessage = '' try { - await new Start.default(['--environment'], {} as IConfig).run() + await new Start.default(['--environment'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -110,7 +110,7 @@ describe('start', () => { describe('inside a booster project', () => { it('entering correct environment', async () => { - await new Start.default(['-e', 'fake_environment'], {} as IConfig).run() + await new Start.default(['-e', 'fake_environment'], {} as Config).run() expect(configService.compileProjectAndLoadConfig).to.have.been.called expect(providerService.startProvider).to.have.been.called @@ -118,7 +118,7 @@ describe('start', () => { }) it('entering correct environment and --port flag', async () => { - await new Start.default(['-e', 'fake_environment', '--port', '5000'], {} as IConfig).run() + await new Start.default(['-e', 'fake_environment', '--port', '5000'], {} as Config).run() expect(configService.compileProjectAndLoadConfig).to.have.been.called expect(providerService.startProvider).to.have.been.called @@ -126,7 +126,7 @@ describe('start', () => { }) it('entering correct environment and -p flag', async () => { - await new Start.default(['-e', 'fake_environment', '-p', '5000'], {} as IConfig).run() + await new Start.default(['-e', 'fake_environment', '-p', '5000'], {} as Config).run() expect(configService.compileProjectAndLoadConfig).to.have.been.called expect(providerService.startProvider).to.have.been.called @@ -137,13 +137,13 @@ describe('start', () => { let exceptionThrown = false let exceptionMessage = '' try { - await new Start.default(['-e', 'fake_environment', '--nonexistingoption'], {} as IConfig).run() + await new Start.default(['-e', 'fake_environment', '--nonexistingoption'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message } expect(exceptionThrown).to.be.equal(true) - expect(exceptionMessage).to.contain('Unexpected argument: --nonexistingoption') + expect(exceptionMessage).to.contain('Nonexistent flag: --nonexistingoption') expect(configService.compileProjectAndLoadConfig).to.have.not.been.called expect(providerService.startProvider).to.have.not.been.called expect(oraLogger.start).to.have.not.been.calledWithMatch(/Starting debug server on port/) @@ -153,7 +153,7 @@ describe('start', () => { let exceptionThrown = false let exceptionMessage = '' try { - await new Start.default(['-e', 'fake_environment', '--port'], {} as IConfig).run() + await new Start.default(['-e', 'fake_environment', '--port'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -169,7 +169,7 @@ describe('start', () => { let exceptionThrown = false let exceptionMessage = '' try { - await new Start.default(['-e', 'fake_environment', '-p'], {} as IConfig).run() + await new Start.default(['-e', 'fake_environment', '-p'], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message @@ -182,7 +182,7 @@ describe('start', () => { }) it('without defining environment and -p', async () => { - await new Start.default(['-p', '5000'], {} as IConfig).run() + await new Start.default(['-p', '5000'], {} as Config).run() expect(configService.compileProjectAndLoadConfig).to.have.not.been.called expect(providerService.startProvider).to.have.not.been.called diff --git a/packages/cli/test/commands/stub/publish.test.ts b/packages/cli/test/commands/stub/publish.test.ts index 62593bfe1..1cb913ad3 100644 --- a/packages/cli/test/commands/stub/publish.test.ts +++ b/packages/cli/test/commands/stub/publish.test.ts @@ -1,4 +1,4 @@ -import { IConfig } from '@oclif/config' +import { Config } from '@oclif/core' import * as fs from 'fs-extra' import { join } from 'path' import { restore, replace, fake, stub, SinonSpy, spy } from 'sinon' @@ -71,7 +71,7 @@ describe('stub', async () => { }) it('init calls checkCurrentDirBoosterVersion', async () => { - await new Publish([], {} as IConfig).init() + await new Publish([], {} as Config).init() expect(ProjectChecker.checkCurrentDirBoosterVersion).to.have.been.called }) @@ -80,7 +80,7 @@ describe('stub', async () => { stub(fs, 'existsSync').returns(false) spy(Prompter, 'confirmPrompt') - await new Publish([], {} as IConfig).run() + await new Publish([], {} as Config).run() expect(fs.existsSync).to.have.been.calledOnce expect(fs.existsSync).to.have.been.returned(false) @@ -104,7 +104,7 @@ describe('stub', async () => { stub(inquirer, 'prompt').resolves({ confirm: true }) spy(Prompter, 'confirmPrompt') - await new Publish([], {} as IConfig).run() + await new Publish([], {} as Config).run() expect(fs.existsSync).to.have.been.calledOnce expect(fs.existsSync).to.have.been.returned(true) @@ -128,7 +128,7 @@ describe('stub', async () => { stub(fs, 'existsSync').returns(true) spy(Prompter, 'confirmPrompt') - await new Publish(['--force'], {} as IConfig).run() + await new Publish(['--force'], {} as Config).run() expect(fs.existsSync).to.have.been.calledOnce expect(fs.existsSync).to.have.been.returned(true) @@ -159,7 +159,7 @@ describe('stub', async () => { let exceptionMessage = '' try { - await new Publish([], {} as IConfig).run() + await new Publish([], {} as Config).run() } catch (e) { exceptionThrown = true exceptionMessage = e.message diff --git a/packages/framework-types/package.json b/packages/framework-types/package.json index 7edd6a880..c94aef6f5 100644 --- a/packages/framework-types/package.json +++ b/packages/framework-types/package.json @@ -56,7 +56,6 @@ "@types/uuid": "8.3.0", "@typescript-eslint/eslint-plugin": "^5.0.0", "@typescript-eslint/parser": "^5.0.0", - "@types/graphql": "^14.5.0", "eslint": "^8.23.1", "eslint-config-prettier": "8.3.0", "eslint-plugin-import": "^2.26.0",