diff --git a/.github/workflows/record_pr.yml b/.github/workflows/record_pr.yml index 803455c21f..1bb7352dfd 100644 --- a/.github/workflows/record_pr.yml +++ b/.github/workflows/record_pr.yml @@ -15,7 +15,7 @@ jobs: mkdir -p ./pr echo ${{ github.event.number }} > ./pr/number echo "${{ github.event.pull_request.title }}" > ./pr/title - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: pr path: pr/ diff --git a/.github/workflows/stale-issues.yml b/.github/workflows/stale-issues.yml index 3f53a8c164..15b5dff177 100644 --- a/.github/workflows/stale-issues.yml +++ b/.github/workflows/stale-issues.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest name: Stale issue job steps: - - uses: aws-actions/stale-issue-cleanup@e9f9e34 + - uses: aws-actions/stale-issue-cleanup@e1cf8a5d54b4ff316c76f5356079d3a8df84137e with: # Setting messages to an empty string will cause the automation to skip # that category diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fa366e971..0b568fdbbb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.8.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) + + +### Bug Fixes + +* **logger:** change logging to use stdout ([#748](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/748)) ([0781a47](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/0781a479a6ae3c794f94c72b59cd0920073159a2)) + + + + + # [0.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) diff --git a/examples/cdk/CHANGELOG.md b/examples/cdk/CHANGELOG.md index 2f28a40fd6..39f1f24d54 100644 --- a/examples/cdk/CHANGELOG.md +++ b/examples/cdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.8.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) + +**Note:** Version bump only for package cdk-app + + + + + # [0.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) **Note:** Version bump only for package cdk-app diff --git a/examples/cdk/package-lock.json b/examples/cdk/package-lock.json index 02005b1972..7f2df3d6d3 100644 --- a/examples/cdk/package-lock.json +++ b/examples/cdk/package-lock.json @@ -1,12 +1,12 @@ { "name": "cdk-app", - "version": "0.8.0", + "version": "0.8.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cdk-app", - "version": "0.8.0", + "version": "0.8.1", "dependencies": { "@aws-lambda-powertools/logger": "^0.7.0", "@aws-lambda-powertools/metrics": "^0.7.0", @@ -167,9 +167,9 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.58.0.tgz", - "integrity": "sha512-nS5G/OX8Bg4ajBa6+jLcbbr4PpEO+l5eJfGUzoJQwS4Zqa0lF/wC0kyjKm61gLp4JuvhrQskxIC/3IXUqB1XVQ==", + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.67.0.tgz", + "integrity": "sha512-njBLSqX2+4eTjeptODxdYgBC8cYwwNE3VwrIFgf+nosIo8Ll07evZgHhfZsyURou0cUUpxFInDf1KaAotH9lBQ==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", @@ -207,14 +207,14 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.58.0.tgz", - "integrity": "sha512-2cHZsG2eXv/Zl0hvsG9+rdHEuAclMFfkma/3LC3RRwSuZXo1rXoIhFkzHfGfIbivdk738YAo7FT3ZYGlrsK4ow==", + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.67.0.tgz", + "integrity": "sha512-gTWQU/4tPQLMJpLXgSbUss5s5dsyxpXJW2gWosvLLtX5QlchGBzWEawoA3QIxFRkNJrXqLyaVDBdFFqB+l0mVQ==", "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", "@aws-sdk/config-resolver": "3.58.0", - "@aws-sdk/credential-provider-node": "3.58.0", + "@aws-sdk/credential-provider-node": "3.67.0", "@aws-sdk/fetch-http-handler": "3.58.0", "@aws-sdk/hash-node": "3.55.0", "@aws-sdk/invalid-dependency": "3.55.0", @@ -295,13 +295,13 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.58.0.tgz", - "integrity": "sha512-uM62hcHUVaHP1YFnbrjf2RlrRj1m/BvMPE+T5jdNRWdE3lvnunhEMawB26HZs9nQqCV6d25I8G9/fGWVL7g3Og==", + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.67.0.tgz", + "integrity": "sha512-47uNhLsd2eKWOa+alsyoT48TbtIfYtIJmC85APunHczqfpUC1YHOyHZ3pCzByGrgx4khjnJ323gfq9kreEHCvA==", "dependencies": { "@aws-sdk/credential-provider-env": "3.55.0", "@aws-sdk/credential-provider-imds": "3.58.0", - "@aws-sdk/credential-provider-sso": "3.58.0", + "@aws-sdk/credential-provider-sso": "3.67.0", "@aws-sdk/credential-provider-web-identity": "3.55.0", "@aws-sdk/property-provider": "3.55.0", "@aws-sdk/shared-ini-file-loader": "3.58.0", @@ -313,15 +313,15 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.58.0.tgz", - "integrity": "sha512-f0wzcgMYCQUrii6TLP2ggCxkQP4HH8PW8tbbWEgt4cdIXcjE9KEuxN5yOV6sFHzL3eJh0QM9Yaz8WzhWn6fT2A==", + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.67.0.tgz", + "integrity": "sha512-nxBUJ4rANue9MWQyhrmkZwuKVVpwbUXEqyMwJD1uxEZnYXksmAoVxKW/m4vxy1nh/65wAFCCipeLmqYzwJ8m0A==", "dependencies": { "@aws-sdk/credential-provider-env": "3.55.0", "@aws-sdk/credential-provider-imds": "3.58.0", - "@aws-sdk/credential-provider-ini": "3.58.0", + "@aws-sdk/credential-provider-ini": "3.67.0", "@aws-sdk/credential-provider-process": "3.58.0", - "@aws-sdk/credential-provider-sso": "3.58.0", + "@aws-sdk/credential-provider-sso": "3.67.0", "@aws-sdk/credential-provider-web-identity": "3.55.0", "@aws-sdk/property-provider": "3.55.0", "@aws-sdk/shared-ini-file-loader": "3.58.0", @@ -347,11 +347,11 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.58.0.tgz", - "integrity": "sha512-2qO34s9lJqvCC6zOF4UpopW6xURZpYfVC8xTUDpAUnvTOt4nS5hkx4vNyqPAXILoRHuFJsnlWsBH1UP5ZnBiZg==", + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.67.0.tgz", + "integrity": "sha512-AwS7tvA++2li0+yZkiCL1zk56EC3N6fDXWDqPEG/lKuviwyv1B+up6r/6ks7ADWbXuOKzrmslS7rn3DT2ZUkig==", "dependencies": { - "@aws-sdk/client-sso": "3.58.0", + "@aws-sdk/client-sso": "3.67.0", "@aws-sdk/property-provider": "3.55.0", "@aws-sdk/shared-ini-file-loader": "3.58.0", "@aws-sdk/types": "3.55.0", @@ -2456,9 +2456,9 @@ } }, "node_modules/aws-sdk": { - "version": "2.1110.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1110.0.tgz", - "integrity": "sha512-qxHqzE2ikGNRzhajcmWIBuptML3LBwz9TMnS0jLQjXOP54fZYW6EEKy2Dy7MKjHKeo8QQy/EWtDdWfH9Fu5UIA==", + "version": "2.1113.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1113.0.tgz", + "integrity": "sha512-F+B+HFnKCVIOmErZ1jJ8YL4XxDSaUI9l3JskfpIrk0XdJVcIfyHgA4XUrTUda4z5TOy1Z7eWV2IXgEpVRM4xyw==", "dependencies": { "buffer": "4.9.2", "events": "1.1.1", @@ -2875,9 +2875,9 @@ "dev": true }, "node_modules/constructs": { - "version": "10.0.108", - "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.0.108.tgz", - "integrity": "sha512-A5sZMVWEblwtPBAOScOt8lBn2epTUljGy/sVfHi7juLnSNSZd2qaO7t62qvbIWJEpH047uYGd755PomB+sXeHA==", + "version": "10.0.113", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.0.113.tgz", + "integrity": "sha512-Q2UNZz2nGiW2ZDZz7+FLOKQNyGr0LXc6mjuAvxXJ57UMwLabbhva8lKWMv3fztdsqlVbtl1DGq1vw2htbaNNJw==", "engines": { "node": ">= 12.7.0" } @@ -3100,9 +3100,9 @@ } }, "node_modules/esbuild": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.34.tgz", - "integrity": "sha512-QIWdPT/gFF6hCaf4m7kP0cJ+JIuFkdHibI7vVFvu3eJS1HpVmYHWDulyN5WXwbRA0SX/7ZDaJ/1DH8SdY9xOJg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.36.tgz", + "integrity": "sha512-HhFHPiRXGYOCRlrhpiVDYKcFJRdO0sBElZ668M4lh2ER0YgnkLxECuFe7uWCf23FrcLc59Pqr7dHkTqmRPDHmw==", "dev": true, "hasInstallScript": true, "bin": { @@ -3112,32 +3112,32 @@ "node": ">=12" }, "optionalDependencies": { - "esbuild-android-64": "0.14.34", - "esbuild-android-arm64": "0.14.34", - "esbuild-darwin-64": "0.14.34", - "esbuild-darwin-arm64": "0.14.34", - "esbuild-freebsd-64": "0.14.34", - "esbuild-freebsd-arm64": "0.14.34", - "esbuild-linux-32": "0.14.34", - "esbuild-linux-64": "0.14.34", - "esbuild-linux-arm": "0.14.34", - "esbuild-linux-arm64": "0.14.34", - "esbuild-linux-mips64le": "0.14.34", - "esbuild-linux-ppc64le": "0.14.34", - "esbuild-linux-riscv64": "0.14.34", - "esbuild-linux-s390x": "0.14.34", - "esbuild-netbsd-64": "0.14.34", - "esbuild-openbsd-64": "0.14.34", - "esbuild-sunos-64": "0.14.34", - "esbuild-windows-32": "0.14.34", - "esbuild-windows-64": "0.14.34", - "esbuild-windows-arm64": "0.14.34" + "esbuild-android-64": "0.14.36", + "esbuild-android-arm64": "0.14.36", + "esbuild-darwin-64": "0.14.36", + "esbuild-darwin-arm64": "0.14.36", + "esbuild-freebsd-64": "0.14.36", + "esbuild-freebsd-arm64": "0.14.36", + "esbuild-linux-32": "0.14.36", + "esbuild-linux-64": "0.14.36", + "esbuild-linux-arm": "0.14.36", + "esbuild-linux-arm64": "0.14.36", + "esbuild-linux-mips64le": "0.14.36", + "esbuild-linux-ppc64le": "0.14.36", + "esbuild-linux-riscv64": "0.14.36", + "esbuild-linux-s390x": "0.14.36", + "esbuild-netbsd-64": "0.14.36", + "esbuild-openbsd-64": "0.14.36", + "esbuild-sunos-64": "0.14.36", + "esbuild-windows-32": "0.14.36", + "esbuild-windows-64": "0.14.36", + "esbuild-windows-arm64": "0.14.36" } }, "node_modules/esbuild-android-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.34.tgz", - "integrity": "sha512-XfxcfJqmMYsT/LXqrptzFxmaR3GWzXHDLdFNIhm6S00zPaQF1TBBWm+9t0RZ6LRR7iwH57DPjaOeW20vMqI4Yw==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.36.tgz", + "integrity": "sha512-jwpBhF1jmo0tVCYC/ORzVN+hyVcNZUWuozGcLHfod0RJCedTDTvR4nwlTXdx1gtncDqjk33itjO+27OZHbiavw==", "cpu": [ "x64" ], @@ -3151,9 +3151,9 @@ } }, "node_modules/esbuild-android-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.34.tgz", - "integrity": "sha512-T02+NXTmSRL1Mc6puz+R9CB54rSPICkXKq6+tw8B6vxZFnCPzbJxgwIX4kcluz9p8nYBjF3+lSilTGWb7+Xgew==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.36.tgz", + "integrity": "sha512-/hYkyFe7x7Yapmfv4X/tBmyKnggUmdQmlvZ8ZlBnV4+PjisrEhAvC3yWpURuD9XoB8Wa1d5dGkTsF53pIvpjsg==", "cpu": [ "arm64" ], @@ -3167,9 +3167,9 @@ } }, "node_modules/esbuild-darwin-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.34.tgz", - "integrity": "sha512-pLRip2Bh4Ng7Bf6AMgCrSp3pPe/qZyf11h5Qo2mOfJqLWzSVjxrXW+CFRJfrOVP7TCnh/gmZSM2AFdCPB72vtw==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.36.tgz", + "integrity": "sha512-kkl6qmV0dTpyIMKagluzYqlc1vO0ecgpviK/7jwPbRDEv5fejRTaBBEE2KxEQbTHcLhiiDbhG7d5UybZWo/1zQ==", "cpu": [ "x64" ], @@ -3183,9 +3183,9 @@ } }, "node_modules/esbuild-darwin-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.34.tgz", - "integrity": "sha512-vpidSJEBxx6lf1NWgXC+DCmGqesJuZ5Y8aQVVsaoO4i8tRXbXb0whChRvop/zd3nfNM4dIl5EXAky0knRX5I6w==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.36.tgz", + "integrity": "sha512-q8fY4r2Sx6P0Pr3VUm//eFYKVk07C5MHcEinU1BjyFnuYz4IxR/03uBbDwluR6ILIHnZTE7AkTUWIdidRi1Jjw==", "cpu": [ "arm64" ], @@ -3199,9 +3199,9 @@ } }, "node_modules/esbuild-freebsd-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.34.tgz", - "integrity": "sha512-m0HBjePhe0hAQJgtMRMNV9kMgIyV4/qSnzPx42kRMQBcPhgjAq1JRu4Il26czC+9FgpMbFkUktb07f/Lwnc6CA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.36.tgz", + "integrity": "sha512-Hn8AYuxXXRptybPqoMkga4HRFE7/XmhtlQjXFHoAIhKUPPMeJH35GYEUWGbjteai9FLFvBAjEAlwEtSGxnqWww==", "cpu": [ "x64" ], @@ -3215,9 +3215,9 @@ } }, "node_modules/esbuild-freebsd-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.34.tgz", - "integrity": "sha512-cpRc2B94L1KvMPPYB4D6G39jLqpKlD3noAMY4/e86iXXXkhUYJJEtTuyNFTa9JRpWM0xCAp4mxjHjoIiLuoCLA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.36.tgz", + "integrity": "sha512-S3C0attylLLRiCcHiJd036eDEMOY32+h8P+jJ3kTcfhJANNjP0TNBNL30TZmEdOSx/820HJFgRrqpNAvTbjnDA==", "cpu": [ "arm64" ], @@ -3231,9 +3231,9 @@ } }, "node_modules/esbuild-linux-32": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.34.tgz", - "integrity": "sha512-8nQaEaoW7MH/K/RlozJa+lE1ejHIr8fuPIHhc513UebRav7HtXgQvxHQ6VZRUkWtep23M6dd7UqhwO1tMOfzQQ==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.36.tgz", + "integrity": "sha512-Eh9OkyTrEZn9WGO4xkI3OPPpUX7p/3QYvdG0lL4rfr73Ap2HAr6D9lP59VMF64Ex01LhHSXwIsFG/8AQjh6eNw==", "cpu": [ "ia32" ], @@ -3247,9 +3247,9 @@ } }, "node_modules/esbuild-linux-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.34.tgz", - "integrity": "sha512-Y3of4qQoLLlAgf042MlrY1P+7PnN9zWj8nVtw9XQG5hcLOZLz7IKpU35oeu7n4wvyaZHwvQqDJ93gRLqdJekcQ==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.36.tgz", + "integrity": "sha512-vFVFS5ve7PuwlfgoWNyRccGDi2QTNkQo/2k5U5ttVD0jRFaMlc8UQee708fOZA6zTCDy5RWsT5MJw3sl2X6KDg==", "cpu": [ "x64" ], @@ -3263,9 +3263,9 @@ } }, "node_modules/esbuild-linux-arm": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.34.tgz", - "integrity": "sha512-9lpq1NcJqssAF7alCO6zL3gvBVVt/lKw4oetUM7OgNnRX0OWpB+ZIO9FwCrSj/dMdmgDhPLf+119zB8QxSMmAg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.36.tgz", + "integrity": "sha512-NhgU4n+NCsYgt7Hy61PCquEz5aevI6VjQvxwBxtxrooXsxt5b2xtOUXYZe04JxqQo+XZk3d1gcr7pbV9MAQ/Lg==", "cpu": [ "arm" ], @@ -3279,9 +3279,9 @@ } }, "node_modules/esbuild-linux-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.34.tgz", - "integrity": "sha512-IlWaGtj9ir7+Nrume1DGcyzBDlK8GcnJq0ANKwcI9pVw8tqr+6GD0eqyF9SF1mR8UmAp+odrx1H5NdR2cHdFHA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.36.tgz", + "integrity": "sha512-24Vq1M7FdpSmaTYuu1w0Hdhiqkbto1I5Pjyi+4Cdw5fJKGlwQuw+hWynTcRI/cOZxBcBpP21gND7W27gHAiftw==", "cpu": [ "arm64" ], @@ -3295,9 +3295,9 @@ } }, "node_modules/esbuild-linux-mips64le": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.34.tgz", - "integrity": "sha512-k3or+01Rska1AjUyNjA4buEwB51eyN/xPQAoOx1CjzAQC3l8rpjUDw55kXyL63O/1MUi4ISvtNtl8gLwdyEcxw==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.36.tgz", + "integrity": "sha512-hZUeTXvppJN+5rEz2EjsOFM9F1bZt7/d2FUM1lmQo//rXh1RTFYzhC0txn7WV0/jCC7SvrGRaRz0NMsRPf8SIA==", "cpu": [ "mips64el" ], @@ -3311,9 +3311,9 @@ } }, "node_modules/esbuild-linux-ppc64le": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.34.tgz", - "integrity": "sha512-+qxb8M9FfM2CJaVU7GgYpJOHM1ngQOx+/VrtBjb4C8oVqaPcESCeg2anjl+HRZy8VpYc71q/iBYausPPbJ+Keg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.36.tgz", + "integrity": "sha512-1Bg3QgzZjO+QtPhP9VeIBhAduHEc2kzU43MzBnMwpLSZ890azr4/A9Dganun8nsqD/1TBcqhId0z4mFDO8FAvg==", "cpu": [ "ppc64" ], @@ -3327,9 +3327,9 @@ } }, "node_modules/esbuild-linux-riscv64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.34.tgz", - "integrity": "sha512-Y717ltBdQ5j5sZIHdy1DV9kieo0wMip0dCmVSTceowCPYSn1Cg33Kd6981+F/3b9FDMzNWldZFOBRILViENZSA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.36.tgz", + "integrity": "sha512-dOE5pt3cOdqEhaufDRzNCHf5BSwxgygVak9UR7PH7KPVHwSTDAZHDoEjblxLqjJYpc5XaU9+gKJ9F8mp9r5I4A==", "cpu": [ "riscv64" ], @@ -3343,9 +3343,9 @@ } }, "node_modules/esbuild-linux-s390x": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.34.tgz", - "integrity": "sha512-bDDgYO4LhL4+zPs+WcBkXph+AQoPcQRTv18FzZS0WhjfH8TZx2QqlVPGhmhZ6WidrY+jKthUqO6UhGyIb4MpmA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.36.tgz", + "integrity": "sha512-g4FMdh//BBGTfVHjF6MO7Cz8gqRoDPzXWxRvWkJoGroKA18G9m0wddvPbEqcQf5Tbt2vSc1CIgag7cXwTmoTXg==", "cpu": [ "s390x" ], @@ -3359,9 +3359,9 @@ } }, "node_modules/esbuild-netbsd-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.34.tgz", - "integrity": "sha512-cfaFGXdRt0+vHsjNPyF0POM4BVSHPSbhLPe8mppDc7GDDxjIl08mV1Zou14oDWMp/XZMjYN1kWYRSfftiD0vvQ==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.36.tgz", + "integrity": "sha512-UB2bVImxkWk4vjnP62ehFNZ73lQY1xcnL5ZNYF3x0AG+j8HgdkNF05v67YJdCIuUJpBuTyCK8LORCYo9onSW+A==", "cpu": [ "x64" ], @@ -3375,9 +3375,9 @@ } }, "node_modules/esbuild-openbsd-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.34.tgz", - "integrity": "sha512-vmy9DxXVnRiI14s8GKuYBtess+EVcDALkbpTqd5jw4XITutIzyB7n4x0Tj5utAkKsgZJB22lLWGekr0ABnSLow==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.36.tgz", + "integrity": "sha512-NvGB2Chf8GxuleXRGk8e9zD3aSdRO5kLt9coTQbCg7WMGXeX471sBgh4kSg8pjx0yTXRt0MlrUDnjVYnetyivg==", "cpu": [ "x64" ], @@ -3391,9 +3391,9 @@ } }, "node_modules/esbuild-sunos-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.34.tgz", - "integrity": "sha512-eNPVatNET1F7tRMhii7goL/eptfxc0ALRjrj9SPFNqp0zmxrehBFD6BaP3R4LjMn6DbMO0jOAnTLFKr8NqcJAA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.36.tgz", + "integrity": "sha512-VkUZS5ftTSjhRjuRLp+v78auMO3PZBXu6xl4ajomGenEm2/rGuWlhFSjB7YbBNErOchj51Jb2OK8lKAo8qdmsQ==", "cpu": [ "x64" ], @@ -3407,9 +3407,9 @@ } }, "node_modules/esbuild-windows-32": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.34.tgz", - "integrity": "sha512-EFhpXyHEcnqWYe2rAHFd8dRw8wkrd9U+9oqcyoEL84GbanAYjiiIjBZsnR8kl0sCQ5w6bLpk7vCEIA2VS32Vcg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.36.tgz", + "integrity": "sha512-bIar+A6hdytJjZrDxfMBUSEHHLfx3ynoEZXx/39nxy86pX/w249WZm8Bm0dtOAByAf4Z6qV0LsnTIJHiIqbw0w==", "cpu": [ "ia32" ], @@ -3423,9 +3423,9 @@ } }, "node_modules/esbuild-windows-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.34.tgz", - "integrity": "sha512-a8fbl8Ky7PxNEjf1aJmtxdDZj32/hC7S1OcA2ckEpCJRTjiKslI9vAdPpSjrKIWhws4Galpaawy0nB7fjHYf5Q==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.36.tgz", + "integrity": "sha512-+p4MuRZekVChAeueT1Y9LGkxrT5x7YYJxYE8ZOTcEfeUUN43vktSn6hUNsvxzzATrSgq5QqRdllkVBxWZg7KqQ==", "cpu": [ "x64" ], @@ -3439,9 +3439,9 @@ } }, "node_modules/esbuild-windows-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.34.tgz", - "integrity": "sha512-EYvmKbSa2B3sPnpC28UEu9jBK5atGV4BaVRE7CYGUci2Hlz4AvtV/LML+TcDMT6gBgibnN2gcltWclab3UutMg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.36.tgz", + "integrity": "sha512-fBB4WlDqV1m18EF/aheGYQkQZHfPHiHJSBYzXIo8yKehek+0BtBwo/4PNwKGJ5T0YK0oc8pBKjgwPbzSrPLb+Q==", "cpu": [ "arm64" ], @@ -6767,9 +6767,9 @@ } }, "@aws-sdk/client-sso": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.58.0.tgz", - "integrity": "sha512-nS5G/OX8Bg4ajBa6+jLcbbr4PpEO+l5eJfGUzoJQwS4Zqa0lF/wC0kyjKm61gLp4JuvhrQskxIC/3IXUqB1XVQ==", + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.67.0.tgz", + "integrity": "sha512-njBLSqX2+4eTjeptODxdYgBC8cYwwNE3VwrIFgf+nosIo8Ll07evZgHhfZsyURou0cUUpxFInDf1KaAotH9lBQ==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", @@ -6804,14 +6804,14 @@ } }, "@aws-sdk/client-sts": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.58.0.tgz", - "integrity": "sha512-2cHZsG2eXv/Zl0hvsG9+rdHEuAclMFfkma/3LC3RRwSuZXo1rXoIhFkzHfGfIbivdk738YAo7FT3ZYGlrsK4ow==", + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.67.0.tgz", + "integrity": "sha512-gTWQU/4tPQLMJpLXgSbUss5s5dsyxpXJW2gWosvLLtX5QlchGBzWEawoA3QIxFRkNJrXqLyaVDBdFFqB+l0mVQ==", "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", "@aws-sdk/config-resolver": "3.58.0", - "@aws-sdk/credential-provider-node": "3.58.0", + "@aws-sdk/credential-provider-node": "3.67.0", "@aws-sdk/fetch-http-handler": "3.58.0", "@aws-sdk/hash-node": "3.55.0", "@aws-sdk/invalid-dependency": "3.55.0", @@ -6880,13 +6880,13 @@ } }, "@aws-sdk/credential-provider-ini": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.58.0.tgz", - "integrity": "sha512-uM62hcHUVaHP1YFnbrjf2RlrRj1m/BvMPE+T5jdNRWdE3lvnunhEMawB26HZs9nQqCV6d25I8G9/fGWVL7g3Og==", + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.67.0.tgz", + "integrity": "sha512-47uNhLsd2eKWOa+alsyoT48TbtIfYtIJmC85APunHczqfpUC1YHOyHZ3pCzByGrgx4khjnJ323gfq9kreEHCvA==", "requires": { "@aws-sdk/credential-provider-env": "3.55.0", "@aws-sdk/credential-provider-imds": "3.58.0", - "@aws-sdk/credential-provider-sso": "3.58.0", + "@aws-sdk/credential-provider-sso": "3.67.0", "@aws-sdk/credential-provider-web-identity": "3.55.0", "@aws-sdk/property-provider": "3.55.0", "@aws-sdk/shared-ini-file-loader": "3.58.0", @@ -6895,15 +6895,15 @@ } }, "@aws-sdk/credential-provider-node": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.58.0.tgz", - "integrity": "sha512-f0wzcgMYCQUrii6TLP2ggCxkQP4HH8PW8tbbWEgt4cdIXcjE9KEuxN5yOV6sFHzL3eJh0QM9Yaz8WzhWn6fT2A==", + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.67.0.tgz", + "integrity": "sha512-nxBUJ4rANue9MWQyhrmkZwuKVVpwbUXEqyMwJD1uxEZnYXksmAoVxKW/m4vxy1nh/65wAFCCipeLmqYzwJ8m0A==", "requires": { "@aws-sdk/credential-provider-env": "3.55.0", "@aws-sdk/credential-provider-imds": "3.58.0", - "@aws-sdk/credential-provider-ini": "3.58.0", + "@aws-sdk/credential-provider-ini": "3.67.0", "@aws-sdk/credential-provider-process": "3.58.0", - "@aws-sdk/credential-provider-sso": "3.58.0", + "@aws-sdk/credential-provider-sso": "3.67.0", "@aws-sdk/credential-provider-web-identity": "3.55.0", "@aws-sdk/property-provider": "3.55.0", "@aws-sdk/shared-ini-file-loader": "3.58.0", @@ -6923,11 +6923,11 @@ } }, "@aws-sdk/credential-provider-sso": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.58.0.tgz", - "integrity": "sha512-2qO34s9lJqvCC6zOF4UpopW6xURZpYfVC8xTUDpAUnvTOt4nS5hkx4vNyqPAXILoRHuFJsnlWsBH1UP5ZnBiZg==", + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.67.0.tgz", + "integrity": "sha512-AwS7tvA++2li0+yZkiCL1zk56EC3N6fDXWDqPEG/lKuviwyv1B+up6r/6ks7ADWbXuOKzrmslS7rn3DT2ZUkig==", "requires": { - "@aws-sdk/client-sso": "3.58.0", + "@aws-sdk/client-sso": "3.67.0", "@aws-sdk/property-provider": "3.55.0", "@aws-sdk/shared-ini-file-loader": "3.58.0", "@aws-sdk/types": "3.55.0", @@ -8598,9 +8598,9 @@ } }, "aws-sdk": { - "version": "2.1110.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1110.0.tgz", - "integrity": "sha512-qxHqzE2ikGNRzhajcmWIBuptML3LBwz9TMnS0jLQjXOP54fZYW6EEKy2Dy7MKjHKeo8QQy/EWtDdWfH9Fu5UIA==", + "version": "2.1113.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1113.0.tgz", + "integrity": "sha512-F+B+HFnKCVIOmErZ1jJ8YL4XxDSaUI9l3JskfpIrk0XdJVcIfyHgA4XUrTUda4z5TOy1Z7eWV2IXgEpVRM4xyw==", "requires": { "buffer": "4.9.2", "events": "1.1.1", @@ -8925,9 +8925,9 @@ "dev": true }, "constructs": { - "version": "10.0.108", - "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.0.108.tgz", - "integrity": "sha512-A5sZMVWEblwtPBAOScOt8lBn2epTUljGy/sVfHi7juLnSNSZd2qaO7t62qvbIWJEpH047uYGd755PomB+sXeHA==" + "version": "10.0.113", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.0.113.tgz", + "integrity": "sha512-Q2UNZz2nGiW2ZDZz7+FLOKQNyGr0LXc6mjuAvxXJ57UMwLabbhva8lKWMv3fztdsqlVbtl1DGq1vw2htbaNNJw==" }, "convert-source-map": { "version": "1.8.0", @@ -9104,170 +9104,170 @@ } }, "esbuild": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.34.tgz", - "integrity": "sha512-QIWdPT/gFF6hCaf4m7kP0cJ+JIuFkdHibI7vVFvu3eJS1HpVmYHWDulyN5WXwbRA0SX/7ZDaJ/1DH8SdY9xOJg==", - "dev": true, - "requires": { - "esbuild-android-64": "0.14.34", - "esbuild-android-arm64": "0.14.34", - "esbuild-darwin-64": "0.14.34", - "esbuild-darwin-arm64": "0.14.34", - "esbuild-freebsd-64": "0.14.34", - "esbuild-freebsd-arm64": "0.14.34", - "esbuild-linux-32": "0.14.34", - "esbuild-linux-64": "0.14.34", - "esbuild-linux-arm": "0.14.34", - "esbuild-linux-arm64": "0.14.34", - "esbuild-linux-mips64le": "0.14.34", - "esbuild-linux-ppc64le": "0.14.34", - "esbuild-linux-riscv64": "0.14.34", - "esbuild-linux-s390x": "0.14.34", - "esbuild-netbsd-64": "0.14.34", - "esbuild-openbsd-64": "0.14.34", - "esbuild-sunos-64": "0.14.34", - "esbuild-windows-32": "0.14.34", - "esbuild-windows-64": "0.14.34", - "esbuild-windows-arm64": "0.14.34" + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.36.tgz", + "integrity": "sha512-HhFHPiRXGYOCRlrhpiVDYKcFJRdO0sBElZ668M4lh2ER0YgnkLxECuFe7uWCf23FrcLc59Pqr7dHkTqmRPDHmw==", + "dev": true, + "requires": { + "esbuild-android-64": "0.14.36", + "esbuild-android-arm64": "0.14.36", + "esbuild-darwin-64": "0.14.36", + "esbuild-darwin-arm64": "0.14.36", + "esbuild-freebsd-64": "0.14.36", + "esbuild-freebsd-arm64": "0.14.36", + "esbuild-linux-32": "0.14.36", + "esbuild-linux-64": "0.14.36", + "esbuild-linux-arm": "0.14.36", + "esbuild-linux-arm64": "0.14.36", + "esbuild-linux-mips64le": "0.14.36", + "esbuild-linux-ppc64le": "0.14.36", + "esbuild-linux-riscv64": "0.14.36", + "esbuild-linux-s390x": "0.14.36", + "esbuild-netbsd-64": "0.14.36", + "esbuild-openbsd-64": "0.14.36", + "esbuild-sunos-64": "0.14.36", + "esbuild-windows-32": "0.14.36", + "esbuild-windows-64": "0.14.36", + "esbuild-windows-arm64": "0.14.36" } }, "esbuild-android-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.34.tgz", - "integrity": "sha512-XfxcfJqmMYsT/LXqrptzFxmaR3GWzXHDLdFNIhm6S00zPaQF1TBBWm+9t0RZ6LRR7iwH57DPjaOeW20vMqI4Yw==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.36.tgz", + "integrity": "sha512-jwpBhF1jmo0tVCYC/ORzVN+hyVcNZUWuozGcLHfod0RJCedTDTvR4nwlTXdx1gtncDqjk33itjO+27OZHbiavw==", "dev": true, "optional": true }, "esbuild-android-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.34.tgz", - "integrity": "sha512-T02+NXTmSRL1Mc6puz+R9CB54rSPICkXKq6+tw8B6vxZFnCPzbJxgwIX4kcluz9p8nYBjF3+lSilTGWb7+Xgew==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.36.tgz", + "integrity": "sha512-/hYkyFe7x7Yapmfv4X/tBmyKnggUmdQmlvZ8ZlBnV4+PjisrEhAvC3yWpURuD9XoB8Wa1d5dGkTsF53pIvpjsg==", "dev": true, "optional": true }, "esbuild-darwin-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.34.tgz", - "integrity": "sha512-pLRip2Bh4Ng7Bf6AMgCrSp3pPe/qZyf11h5Qo2mOfJqLWzSVjxrXW+CFRJfrOVP7TCnh/gmZSM2AFdCPB72vtw==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.36.tgz", + "integrity": "sha512-kkl6qmV0dTpyIMKagluzYqlc1vO0ecgpviK/7jwPbRDEv5fejRTaBBEE2KxEQbTHcLhiiDbhG7d5UybZWo/1zQ==", "dev": true, "optional": true }, "esbuild-darwin-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.34.tgz", - "integrity": "sha512-vpidSJEBxx6lf1NWgXC+DCmGqesJuZ5Y8aQVVsaoO4i8tRXbXb0whChRvop/zd3nfNM4dIl5EXAky0knRX5I6w==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.36.tgz", + "integrity": "sha512-q8fY4r2Sx6P0Pr3VUm//eFYKVk07C5MHcEinU1BjyFnuYz4IxR/03uBbDwluR6ILIHnZTE7AkTUWIdidRi1Jjw==", "dev": true, "optional": true }, "esbuild-freebsd-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.34.tgz", - "integrity": "sha512-m0HBjePhe0hAQJgtMRMNV9kMgIyV4/qSnzPx42kRMQBcPhgjAq1JRu4Il26czC+9FgpMbFkUktb07f/Lwnc6CA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.36.tgz", + "integrity": "sha512-Hn8AYuxXXRptybPqoMkga4HRFE7/XmhtlQjXFHoAIhKUPPMeJH35GYEUWGbjteai9FLFvBAjEAlwEtSGxnqWww==", "dev": true, "optional": true }, "esbuild-freebsd-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.34.tgz", - "integrity": "sha512-cpRc2B94L1KvMPPYB4D6G39jLqpKlD3noAMY4/e86iXXXkhUYJJEtTuyNFTa9JRpWM0xCAp4mxjHjoIiLuoCLA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.36.tgz", + "integrity": "sha512-S3C0attylLLRiCcHiJd036eDEMOY32+h8P+jJ3kTcfhJANNjP0TNBNL30TZmEdOSx/820HJFgRrqpNAvTbjnDA==", "dev": true, "optional": true }, "esbuild-linux-32": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.34.tgz", - "integrity": "sha512-8nQaEaoW7MH/K/RlozJa+lE1ejHIr8fuPIHhc513UebRav7HtXgQvxHQ6VZRUkWtep23M6dd7UqhwO1tMOfzQQ==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.36.tgz", + "integrity": "sha512-Eh9OkyTrEZn9WGO4xkI3OPPpUX7p/3QYvdG0lL4rfr73Ap2HAr6D9lP59VMF64Ex01LhHSXwIsFG/8AQjh6eNw==", "dev": true, "optional": true }, "esbuild-linux-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.34.tgz", - "integrity": "sha512-Y3of4qQoLLlAgf042MlrY1P+7PnN9zWj8nVtw9XQG5hcLOZLz7IKpU35oeu7n4wvyaZHwvQqDJ93gRLqdJekcQ==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.36.tgz", + "integrity": "sha512-vFVFS5ve7PuwlfgoWNyRccGDi2QTNkQo/2k5U5ttVD0jRFaMlc8UQee708fOZA6zTCDy5RWsT5MJw3sl2X6KDg==", "dev": true, "optional": true }, "esbuild-linux-arm": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.34.tgz", - "integrity": "sha512-9lpq1NcJqssAF7alCO6zL3gvBVVt/lKw4oetUM7OgNnRX0OWpB+ZIO9FwCrSj/dMdmgDhPLf+119zB8QxSMmAg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.36.tgz", + "integrity": "sha512-NhgU4n+NCsYgt7Hy61PCquEz5aevI6VjQvxwBxtxrooXsxt5b2xtOUXYZe04JxqQo+XZk3d1gcr7pbV9MAQ/Lg==", "dev": true, "optional": true }, "esbuild-linux-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.34.tgz", - "integrity": "sha512-IlWaGtj9ir7+Nrume1DGcyzBDlK8GcnJq0ANKwcI9pVw8tqr+6GD0eqyF9SF1mR8UmAp+odrx1H5NdR2cHdFHA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.36.tgz", + "integrity": "sha512-24Vq1M7FdpSmaTYuu1w0Hdhiqkbto1I5Pjyi+4Cdw5fJKGlwQuw+hWynTcRI/cOZxBcBpP21gND7W27gHAiftw==", "dev": true, "optional": true }, "esbuild-linux-mips64le": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.34.tgz", - "integrity": "sha512-k3or+01Rska1AjUyNjA4buEwB51eyN/xPQAoOx1CjzAQC3l8rpjUDw55kXyL63O/1MUi4ISvtNtl8gLwdyEcxw==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.36.tgz", + "integrity": "sha512-hZUeTXvppJN+5rEz2EjsOFM9F1bZt7/d2FUM1lmQo//rXh1RTFYzhC0txn7WV0/jCC7SvrGRaRz0NMsRPf8SIA==", "dev": true, "optional": true }, "esbuild-linux-ppc64le": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.34.tgz", - "integrity": "sha512-+qxb8M9FfM2CJaVU7GgYpJOHM1ngQOx+/VrtBjb4C8oVqaPcESCeg2anjl+HRZy8VpYc71q/iBYausPPbJ+Keg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.36.tgz", + "integrity": "sha512-1Bg3QgzZjO+QtPhP9VeIBhAduHEc2kzU43MzBnMwpLSZ890azr4/A9Dganun8nsqD/1TBcqhId0z4mFDO8FAvg==", "dev": true, "optional": true }, "esbuild-linux-riscv64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.34.tgz", - "integrity": "sha512-Y717ltBdQ5j5sZIHdy1DV9kieo0wMip0dCmVSTceowCPYSn1Cg33Kd6981+F/3b9FDMzNWldZFOBRILViENZSA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.36.tgz", + "integrity": "sha512-dOE5pt3cOdqEhaufDRzNCHf5BSwxgygVak9UR7PH7KPVHwSTDAZHDoEjblxLqjJYpc5XaU9+gKJ9F8mp9r5I4A==", "dev": true, "optional": true }, "esbuild-linux-s390x": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.34.tgz", - "integrity": "sha512-bDDgYO4LhL4+zPs+WcBkXph+AQoPcQRTv18FzZS0WhjfH8TZx2QqlVPGhmhZ6WidrY+jKthUqO6UhGyIb4MpmA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.36.tgz", + "integrity": "sha512-g4FMdh//BBGTfVHjF6MO7Cz8gqRoDPzXWxRvWkJoGroKA18G9m0wddvPbEqcQf5Tbt2vSc1CIgag7cXwTmoTXg==", "dev": true, "optional": true }, "esbuild-netbsd-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.34.tgz", - "integrity": "sha512-cfaFGXdRt0+vHsjNPyF0POM4BVSHPSbhLPe8mppDc7GDDxjIl08mV1Zou14oDWMp/XZMjYN1kWYRSfftiD0vvQ==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.36.tgz", + "integrity": "sha512-UB2bVImxkWk4vjnP62ehFNZ73lQY1xcnL5ZNYF3x0AG+j8HgdkNF05v67YJdCIuUJpBuTyCK8LORCYo9onSW+A==", "dev": true, "optional": true }, "esbuild-openbsd-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.34.tgz", - "integrity": "sha512-vmy9DxXVnRiI14s8GKuYBtess+EVcDALkbpTqd5jw4XITutIzyB7n4x0Tj5utAkKsgZJB22lLWGekr0ABnSLow==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.36.tgz", + "integrity": "sha512-NvGB2Chf8GxuleXRGk8e9zD3aSdRO5kLt9coTQbCg7WMGXeX471sBgh4kSg8pjx0yTXRt0MlrUDnjVYnetyivg==", "dev": true, "optional": true }, "esbuild-sunos-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.34.tgz", - "integrity": "sha512-eNPVatNET1F7tRMhii7goL/eptfxc0ALRjrj9SPFNqp0zmxrehBFD6BaP3R4LjMn6DbMO0jOAnTLFKr8NqcJAA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.36.tgz", + "integrity": "sha512-VkUZS5ftTSjhRjuRLp+v78auMO3PZBXu6xl4ajomGenEm2/rGuWlhFSjB7YbBNErOchj51Jb2OK8lKAo8qdmsQ==", "dev": true, "optional": true }, "esbuild-windows-32": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.34.tgz", - "integrity": "sha512-EFhpXyHEcnqWYe2rAHFd8dRw8wkrd9U+9oqcyoEL84GbanAYjiiIjBZsnR8kl0sCQ5w6bLpk7vCEIA2VS32Vcg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.36.tgz", + "integrity": "sha512-bIar+A6hdytJjZrDxfMBUSEHHLfx3ynoEZXx/39nxy86pX/w249WZm8Bm0dtOAByAf4Z6qV0LsnTIJHiIqbw0w==", "dev": true, "optional": true }, "esbuild-windows-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.34.tgz", - "integrity": "sha512-a8fbl8Ky7PxNEjf1aJmtxdDZj32/hC7S1OcA2ckEpCJRTjiKslI9vAdPpSjrKIWhws4Galpaawy0nB7fjHYf5Q==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.36.tgz", + "integrity": "sha512-+p4MuRZekVChAeueT1Y9LGkxrT5x7YYJxYE8ZOTcEfeUUN43vktSn6hUNsvxzzATrSgq5QqRdllkVBxWZg7KqQ==", "dev": true, "optional": true }, "esbuild-windows-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.34.tgz", - "integrity": "sha512-EYvmKbSa2B3sPnpC28UEu9jBK5atGV4BaVRE7CYGUci2Hlz4AvtV/LML+TcDMT6gBgibnN2gcltWclab3UutMg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.36.tgz", + "integrity": "sha512-fBB4WlDqV1m18EF/aheGYQkQZHfPHiHJSBYzXIo8yKehek+0BtBwo/4PNwKGJ5T0YK0oc8pBKjgwPbzSrPLb+Q==", "dev": true, "optional": true }, diff --git a/examples/cdk/package.json b/examples/cdk/package.json index ef3b931708..9cfc6eea65 100644 --- a/examples/cdk/package.json +++ b/examples/cdk/package.json @@ -1,6 +1,6 @@ { "name": "cdk-app", - "version": "0.8.0", + "version": "0.8.1", "bin": { "cdk-app": "bin/cdk-app.js" }, diff --git a/lerna.json b/lerna.json index 62c59fd381..083c324fa4 100644 --- a/lerna.json +++ b/lerna.json @@ -3,7 +3,7 @@ "packages/*", "examples/cdk" ], - "version": "0.8.0", + "version": "0.8.1", "npmClient": "npm", "message": "chore(release): %s [skip ci]" } diff --git a/package-lock.json b/package-lock.json index 41c9cf1eaa..4d8b0cda03 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4021,14 +4021,14 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.18.0.tgz", - "integrity": "sha512-tzrmdGMJI/uii9/V6lurMo4/o+dMTKDH82LkNjhJ3adCW22YQydoRs5MwTiqxGF9CSYxPxQ7EYb4jLNlIs+E+A==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.19.0.tgz", + "integrity": "sha512-w59GpFqDYGnWFim9p6TGJz7a3qWeENJuAKCqjGSx+Hq/bwq3RZwXYqy98KIfN85yDqz9mq6QXiY5h0FjGQLyEg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.18.0", - "@typescript-eslint/type-utils": "5.18.0", - "@typescript-eslint/utils": "5.18.0", + "@typescript-eslint/scope-manager": "5.19.0", + "@typescript-eslint/type-utils": "5.19.0", + "@typescript-eslint/utils": "5.19.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", @@ -4054,14 +4054,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.18.0.tgz", - "integrity": "sha512-+08nYfurBzSSPndngnHvFw/fniWYJ5ymOrn/63oMIbgomVQOvIDhBoJmYZ9lwQOCnQV9xHGvf88ze3jFGUYooQ==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.19.0.tgz", + "integrity": "sha512-yhktJjMCJX8BSBczh1F/uY8wGRYrBeyn84kH6oyqdIJwTGKmzX5Qiq49LRQ0Jh0LXnWijEziSo6BRqny8nqLVQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.18.0", - "@typescript-eslint/types": "5.18.0", - "@typescript-eslint/typescript-estree": "5.18.0", + "@typescript-eslint/scope-manager": "5.19.0", + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/typescript-estree": "5.19.0", "debug": "^4.3.2" }, "engines": { @@ -4081,13 +4081,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.18.0.tgz", - "integrity": "sha512-C0CZML6NyRDj+ZbMqh9FnPscg2PrzSaVQg3IpTmpe0NURMVBXlghGZgMYqBw07YW73i0MCqSDqv2SbywnCS8jQ==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz", + "integrity": "sha512-Fz+VrjLmwq5fbQn5W7cIJZ066HxLMKvDEmf4eu1tZ8O956aoX45jAuBB76miAECMTODyUxH61AQM7q4/GOMQ5g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.18.0", - "@typescript-eslint/visitor-keys": "5.18.0" + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/visitor-keys": "5.19.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4098,12 +4098,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.18.0.tgz", - "integrity": "sha512-vcn9/6J5D6jtHxpEJrgK8FhaM8r6J1/ZiNu70ZUJN554Y3D9t3iovi6u7JF8l/e7FcBIxeuTEidZDR70UuCIfA==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.19.0.tgz", + "integrity": "sha512-O6XQ4RI4rQcBGshTQAYBUIGsKqrKeuIOz9v8bckXZnSeXjn/1+BDZndHLe10UplQeJLXDNbaZYrAytKNQO2T4Q==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.18.0", + "@typescript-eslint/utils": "5.19.0", "debug": "^4.3.2", "tsutils": "^3.21.0" }, @@ -4124,9 +4124,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.18.0.tgz", - "integrity": "sha512-bhV1+XjM+9bHMTmXi46p1Led5NP6iqQcsOxgx7fvk6gGiV48c6IynY0apQb7693twJDsXiVzNXTflhplmaiJaw==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.19.0.tgz", + "integrity": "sha512-zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4137,13 +4137,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.18.0.tgz", - "integrity": "sha512-wa+2VAhOPpZs1bVij9e5gyVu60ReMi/KuOx4LKjGx2Y3XTNUDJgQ+5f77D49pHtqef/klglf+mibuHs9TrPxdQ==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.19.0.tgz", + "integrity": "sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.18.0", - "@typescript-eslint/visitor-keys": "5.18.0", + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/visitor-keys": "5.19.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -4164,15 +4164,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.18.0.tgz", - "integrity": "sha512-+hFGWUMMri7OFY26TsOlGa+zgjEy1ssEipxpLjtl4wSll8zy85x0GrUSju/FHdKfVorZPYJLkF3I4XPtnCTewA==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.19.0.tgz", + "integrity": "sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.18.0", - "@typescript-eslint/types": "5.18.0", - "@typescript-eslint/typescript-estree": "5.18.0", + "@typescript-eslint/scope-manager": "5.19.0", + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/typescript-estree": "5.19.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -4188,12 +4188,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.18.0.tgz", - "integrity": "sha512-Hf+t+dJsjAKpKSkg3EHvbtEpFFb/1CiOHnvI8bjHgOD4/wAw3gKrA0i94LrbekypiZVanJu3McWJg7rWDMzRTg==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz", + "integrity": "sha512-Ym7zZoMDZcAKWsULi2s7UMLREdVQdScPQ/fKWMYefarCztWlHPFVJo8racf8R0Gc8FAEJ2eD4of8As1oFtnQlQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.18.0", + "@typescript-eslint/types": "5.19.0", "eslint-visitor-keys": "^3.0.0" }, "engines": { @@ -4878,9 +4878,9 @@ } }, "node_modules/aws-sdk": { - "version": "2.1110.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1110.0.tgz", - "integrity": "sha512-qxHqzE2ikGNRzhajcmWIBuptML3LBwz9TMnS0jLQjXOP54fZYW6EEKy2Dy7MKjHKeo8QQy/EWtDdWfH9Fu5UIA==", + "version": "2.1113.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1113.0.tgz", + "integrity": "sha512-F+B+HFnKCVIOmErZ1jJ8YL4XxDSaUI9l3JskfpIrk0XdJVcIfyHgA4XUrTUda4z5TOy1Z7eWV2IXgEpVRM4xyw==", "dev": true, "dependencies": { "buffer": "4.9.2", @@ -6415,9 +6415,9 @@ "dev": true }, "node_modules/constructs": { - "version": "10.0.108", - "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.0.108.tgz", - "integrity": "sha512-A5sZMVWEblwtPBAOScOt8lBn2epTUljGy/sVfHi7juLnSNSZd2qaO7t62qvbIWJEpH047uYGd755PomB+sXeHA==", + "version": "10.0.113", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.0.113.tgz", + "integrity": "sha512-Q2UNZz2nGiW2ZDZz7+FLOKQNyGr0LXc6mjuAvxXJ57UMwLabbhva8lKWMv3fztdsqlVbtl1DGq1vw2htbaNNJw==", "dev": true, "engines": { "node": ">= 12.7.0" @@ -7267,9 +7267,9 @@ } }, "node_modules/esbuild": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.34.tgz", - "integrity": "sha512-QIWdPT/gFF6hCaf4m7kP0cJ+JIuFkdHibI7vVFvu3eJS1HpVmYHWDulyN5WXwbRA0SX/7ZDaJ/1DH8SdY9xOJg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.36.tgz", + "integrity": "sha512-HhFHPiRXGYOCRlrhpiVDYKcFJRdO0sBElZ668M4lh2ER0YgnkLxECuFe7uWCf23FrcLc59Pqr7dHkTqmRPDHmw==", "dev": true, "hasInstallScript": true, "bin": { @@ -7279,32 +7279,32 @@ "node": ">=12" }, "optionalDependencies": { - "esbuild-android-64": "0.14.34", - "esbuild-android-arm64": "0.14.34", - "esbuild-darwin-64": "0.14.34", - "esbuild-darwin-arm64": "0.14.34", - "esbuild-freebsd-64": "0.14.34", - "esbuild-freebsd-arm64": "0.14.34", - "esbuild-linux-32": "0.14.34", - "esbuild-linux-64": "0.14.34", - "esbuild-linux-arm": "0.14.34", - "esbuild-linux-arm64": "0.14.34", - "esbuild-linux-mips64le": "0.14.34", - "esbuild-linux-ppc64le": "0.14.34", - "esbuild-linux-riscv64": "0.14.34", - "esbuild-linux-s390x": "0.14.34", - "esbuild-netbsd-64": "0.14.34", - "esbuild-openbsd-64": "0.14.34", - "esbuild-sunos-64": "0.14.34", - "esbuild-windows-32": "0.14.34", - "esbuild-windows-64": "0.14.34", - "esbuild-windows-arm64": "0.14.34" + "esbuild-android-64": "0.14.36", + "esbuild-android-arm64": "0.14.36", + "esbuild-darwin-64": "0.14.36", + "esbuild-darwin-arm64": "0.14.36", + "esbuild-freebsd-64": "0.14.36", + "esbuild-freebsd-arm64": "0.14.36", + "esbuild-linux-32": "0.14.36", + "esbuild-linux-64": "0.14.36", + "esbuild-linux-arm": "0.14.36", + "esbuild-linux-arm64": "0.14.36", + "esbuild-linux-mips64le": "0.14.36", + "esbuild-linux-ppc64le": "0.14.36", + "esbuild-linux-riscv64": "0.14.36", + "esbuild-linux-s390x": "0.14.36", + "esbuild-netbsd-64": "0.14.36", + "esbuild-openbsd-64": "0.14.36", + "esbuild-sunos-64": "0.14.36", + "esbuild-windows-32": "0.14.36", + "esbuild-windows-64": "0.14.36", + "esbuild-windows-arm64": "0.14.36" } }, "node_modules/esbuild-android-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.34.tgz", - "integrity": "sha512-XfxcfJqmMYsT/LXqrptzFxmaR3GWzXHDLdFNIhm6S00zPaQF1TBBWm+9t0RZ6LRR7iwH57DPjaOeW20vMqI4Yw==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.36.tgz", + "integrity": "sha512-jwpBhF1jmo0tVCYC/ORzVN+hyVcNZUWuozGcLHfod0RJCedTDTvR4nwlTXdx1gtncDqjk33itjO+27OZHbiavw==", "cpu": [ "x64" ], @@ -7318,9 +7318,9 @@ } }, "node_modules/esbuild-android-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.34.tgz", - "integrity": "sha512-T02+NXTmSRL1Mc6puz+R9CB54rSPICkXKq6+tw8B6vxZFnCPzbJxgwIX4kcluz9p8nYBjF3+lSilTGWb7+Xgew==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.36.tgz", + "integrity": "sha512-/hYkyFe7x7Yapmfv4X/tBmyKnggUmdQmlvZ8ZlBnV4+PjisrEhAvC3yWpURuD9XoB8Wa1d5dGkTsF53pIvpjsg==", "cpu": [ "arm64" ], @@ -7334,9 +7334,9 @@ } }, "node_modules/esbuild-darwin-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.34.tgz", - "integrity": "sha512-pLRip2Bh4Ng7Bf6AMgCrSp3pPe/qZyf11h5Qo2mOfJqLWzSVjxrXW+CFRJfrOVP7TCnh/gmZSM2AFdCPB72vtw==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.36.tgz", + "integrity": "sha512-kkl6qmV0dTpyIMKagluzYqlc1vO0ecgpviK/7jwPbRDEv5fejRTaBBEE2KxEQbTHcLhiiDbhG7d5UybZWo/1zQ==", "cpu": [ "x64" ], @@ -7350,9 +7350,9 @@ } }, "node_modules/esbuild-darwin-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.34.tgz", - "integrity": "sha512-vpidSJEBxx6lf1NWgXC+DCmGqesJuZ5Y8aQVVsaoO4i8tRXbXb0whChRvop/zd3nfNM4dIl5EXAky0knRX5I6w==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.36.tgz", + "integrity": "sha512-q8fY4r2Sx6P0Pr3VUm//eFYKVk07C5MHcEinU1BjyFnuYz4IxR/03uBbDwluR6ILIHnZTE7AkTUWIdidRi1Jjw==", "cpu": [ "arm64" ], @@ -7366,9 +7366,9 @@ } }, "node_modules/esbuild-freebsd-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.34.tgz", - "integrity": "sha512-m0HBjePhe0hAQJgtMRMNV9kMgIyV4/qSnzPx42kRMQBcPhgjAq1JRu4Il26czC+9FgpMbFkUktb07f/Lwnc6CA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.36.tgz", + "integrity": "sha512-Hn8AYuxXXRptybPqoMkga4HRFE7/XmhtlQjXFHoAIhKUPPMeJH35GYEUWGbjteai9FLFvBAjEAlwEtSGxnqWww==", "cpu": [ "x64" ], @@ -7382,9 +7382,9 @@ } }, "node_modules/esbuild-freebsd-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.34.tgz", - "integrity": "sha512-cpRc2B94L1KvMPPYB4D6G39jLqpKlD3noAMY4/e86iXXXkhUYJJEtTuyNFTa9JRpWM0xCAp4mxjHjoIiLuoCLA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.36.tgz", + "integrity": "sha512-S3C0attylLLRiCcHiJd036eDEMOY32+h8P+jJ3kTcfhJANNjP0TNBNL30TZmEdOSx/820HJFgRrqpNAvTbjnDA==", "cpu": [ "arm64" ], @@ -7398,9 +7398,9 @@ } }, "node_modules/esbuild-linux-32": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.34.tgz", - "integrity": "sha512-8nQaEaoW7MH/K/RlozJa+lE1ejHIr8fuPIHhc513UebRav7HtXgQvxHQ6VZRUkWtep23M6dd7UqhwO1tMOfzQQ==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.36.tgz", + "integrity": "sha512-Eh9OkyTrEZn9WGO4xkI3OPPpUX7p/3QYvdG0lL4rfr73Ap2HAr6D9lP59VMF64Ex01LhHSXwIsFG/8AQjh6eNw==", "cpu": [ "ia32" ], @@ -7414,9 +7414,9 @@ } }, "node_modules/esbuild-linux-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.34.tgz", - "integrity": "sha512-Y3of4qQoLLlAgf042MlrY1P+7PnN9zWj8nVtw9XQG5hcLOZLz7IKpU35oeu7n4wvyaZHwvQqDJ93gRLqdJekcQ==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.36.tgz", + "integrity": "sha512-vFVFS5ve7PuwlfgoWNyRccGDi2QTNkQo/2k5U5ttVD0jRFaMlc8UQee708fOZA6zTCDy5RWsT5MJw3sl2X6KDg==", "cpu": [ "x64" ], @@ -7430,9 +7430,9 @@ } }, "node_modules/esbuild-linux-arm": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.34.tgz", - "integrity": "sha512-9lpq1NcJqssAF7alCO6zL3gvBVVt/lKw4oetUM7OgNnRX0OWpB+ZIO9FwCrSj/dMdmgDhPLf+119zB8QxSMmAg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.36.tgz", + "integrity": "sha512-NhgU4n+NCsYgt7Hy61PCquEz5aevI6VjQvxwBxtxrooXsxt5b2xtOUXYZe04JxqQo+XZk3d1gcr7pbV9MAQ/Lg==", "cpu": [ "arm" ], @@ -7446,9 +7446,9 @@ } }, "node_modules/esbuild-linux-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.34.tgz", - "integrity": "sha512-IlWaGtj9ir7+Nrume1DGcyzBDlK8GcnJq0ANKwcI9pVw8tqr+6GD0eqyF9SF1mR8UmAp+odrx1H5NdR2cHdFHA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.36.tgz", + "integrity": "sha512-24Vq1M7FdpSmaTYuu1w0Hdhiqkbto1I5Pjyi+4Cdw5fJKGlwQuw+hWynTcRI/cOZxBcBpP21gND7W27gHAiftw==", "cpu": [ "arm64" ], @@ -7462,9 +7462,9 @@ } }, "node_modules/esbuild-linux-mips64le": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.34.tgz", - "integrity": "sha512-k3or+01Rska1AjUyNjA4buEwB51eyN/xPQAoOx1CjzAQC3l8rpjUDw55kXyL63O/1MUi4ISvtNtl8gLwdyEcxw==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.36.tgz", + "integrity": "sha512-hZUeTXvppJN+5rEz2EjsOFM9F1bZt7/d2FUM1lmQo//rXh1RTFYzhC0txn7WV0/jCC7SvrGRaRz0NMsRPf8SIA==", "cpu": [ "mips64el" ], @@ -7478,9 +7478,9 @@ } }, "node_modules/esbuild-linux-ppc64le": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.34.tgz", - "integrity": "sha512-+qxb8M9FfM2CJaVU7GgYpJOHM1ngQOx+/VrtBjb4C8oVqaPcESCeg2anjl+HRZy8VpYc71q/iBYausPPbJ+Keg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.36.tgz", + "integrity": "sha512-1Bg3QgzZjO+QtPhP9VeIBhAduHEc2kzU43MzBnMwpLSZ890azr4/A9Dganun8nsqD/1TBcqhId0z4mFDO8FAvg==", "cpu": [ "ppc64" ], @@ -7494,9 +7494,9 @@ } }, "node_modules/esbuild-linux-riscv64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.34.tgz", - "integrity": "sha512-Y717ltBdQ5j5sZIHdy1DV9kieo0wMip0dCmVSTceowCPYSn1Cg33Kd6981+F/3b9FDMzNWldZFOBRILViENZSA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.36.tgz", + "integrity": "sha512-dOE5pt3cOdqEhaufDRzNCHf5BSwxgygVak9UR7PH7KPVHwSTDAZHDoEjblxLqjJYpc5XaU9+gKJ9F8mp9r5I4A==", "cpu": [ "riscv64" ], @@ -7510,9 +7510,9 @@ } }, "node_modules/esbuild-linux-s390x": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.34.tgz", - "integrity": "sha512-bDDgYO4LhL4+zPs+WcBkXph+AQoPcQRTv18FzZS0WhjfH8TZx2QqlVPGhmhZ6WidrY+jKthUqO6UhGyIb4MpmA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.36.tgz", + "integrity": "sha512-g4FMdh//BBGTfVHjF6MO7Cz8gqRoDPzXWxRvWkJoGroKA18G9m0wddvPbEqcQf5Tbt2vSc1CIgag7cXwTmoTXg==", "cpu": [ "s390x" ], @@ -7526,9 +7526,9 @@ } }, "node_modules/esbuild-netbsd-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.34.tgz", - "integrity": "sha512-cfaFGXdRt0+vHsjNPyF0POM4BVSHPSbhLPe8mppDc7GDDxjIl08mV1Zou14oDWMp/XZMjYN1kWYRSfftiD0vvQ==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.36.tgz", + "integrity": "sha512-UB2bVImxkWk4vjnP62ehFNZ73lQY1xcnL5ZNYF3x0AG+j8HgdkNF05v67YJdCIuUJpBuTyCK8LORCYo9onSW+A==", "cpu": [ "x64" ], @@ -7542,9 +7542,9 @@ } }, "node_modules/esbuild-openbsd-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.34.tgz", - "integrity": "sha512-vmy9DxXVnRiI14s8GKuYBtess+EVcDALkbpTqd5jw4XITutIzyB7n4x0Tj5utAkKsgZJB22lLWGekr0ABnSLow==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.36.tgz", + "integrity": "sha512-NvGB2Chf8GxuleXRGk8e9zD3aSdRO5kLt9coTQbCg7WMGXeX471sBgh4kSg8pjx0yTXRt0MlrUDnjVYnetyivg==", "cpu": [ "x64" ], @@ -7558,9 +7558,9 @@ } }, "node_modules/esbuild-sunos-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.34.tgz", - "integrity": "sha512-eNPVatNET1F7tRMhii7goL/eptfxc0ALRjrj9SPFNqp0zmxrehBFD6BaP3R4LjMn6DbMO0jOAnTLFKr8NqcJAA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.36.tgz", + "integrity": "sha512-VkUZS5ftTSjhRjuRLp+v78auMO3PZBXu6xl4ajomGenEm2/rGuWlhFSjB7YbBNErOchj51Jb2OK8lKAo8qdmsQ==", "cpu": [ "x64" ], @@ -7574,9 +7574,9 @@ } }, "node_modules/esbuild-windows-32": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.34.tgz", - "integrity": "sha512-EFhpXyHEcnqWYe2rAHFd8dRw8wkrd9U+9oqcyoEL84GbanAYjiiIjBZsnR8kl0sCQ5w6bLpk7vCEIA2VS32Vcg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.36.tgz", + "integrity": "sha512-bIar+A6hdytJjZrDxfMBUSEHHLfx3ynoEZXx/39nxy86pX/w249WZm8Bm0dtOAByAf4Z6qV0LsnTIJHiIqbw0w==", "cpu": [ "ia32" ], @@ -7590,9 +7590,9 @@ } }, "node_modules/esbuild-windows-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.34.tgz", - "integrity": "sha512-a8fbl8Ky7PxNEjf1aJmtxdDZj32/hC7S1OcA2ckEpCJRTjiKslI9vAdPpSjrKIWhws4Galpaawy0nB7fjHYf5Q==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.36.tgz", + "integrity": "sha512-+p4MuRZekVChAeueT1Y9LGkxrT5x7YYJxYE8ZOTcEfeUUN43vktSn6hUNsvxzzATrSgq5QqRdllkVBxWZg7KqQ==", "cpu": [ "x64" ], @@ -7606,9 +7606,9 @@ } }, "node_modules/esbuild-windows-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.34.tgz", - "integrity": "sha512-EYvmKbSa2B3sPnpC28UEu9jBK5atGV4BaVRE7CYGUci2Hlz4AvtV/LML+TcDMT6gBgibnN2gcltWclab3UutMg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.36.tgz", + "integrity": "sha512-fBB4WlDqV1m18EF/aheGYQkQZHfPHiHJSBYzXIo8yKehek+0BtBwo/4PNwKGJ5T0YK0oc8pBKjgwPbzSrPLb+Q==", "cpu": [ "arm64" ], @@ -7725,9 +7725,9 @@ } }, "node_modules/eslint": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz", - "integrity": "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.13.0.tgz", + "integrity": "sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.2.1", @@ -14744,9 +14744,9 @@ } }, "node_modules/typedoc": { - "version": "0.22.14", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.14.tgz", - "integrity": "sha512-tlf9wIcsrnQSjetStrnRutuy2RjZkG5PK2umwveZLTkuC2K9VywOZTdu2G19BdOPzGrhZjf9WK7pthXqnFQejg==", + "version": "0.22.15", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.15.tgz", + "integrity": "sha512-CMd1lrqQbFvbx6S9G6fL4HKp3GoIuhujJReWqlIvSb2T26vGai+8Os3Mde7Pn832pXYemd9BMuuYWhFpL5st0Q==", "dev": true, "dependencies": { "glob": "^7.2.0", @@ -15524,15 +15524,15 @@ }, "packages/commons": { "name": "@aws-lambda-powertools/commons", - "version": "0.7.2", + "version": "0.8.0", "license": "MIT-0" }, "packages/logger": { "name": "@aws-lambda-powertools/logger", - "version": "0.7.2", + "version": "0.8.0", "license": "MIT", "dependencies": { - "@aws-lambda-powertools/commons": "^0.7.2", + "@aws-lambda-powertools/commons": "^0.8.0", "lodash.clonedeep": "^4.5.0", "lodash.merge": "^4.6.2", "lodash.pickby": "^4.6.0" @@ -15546,10 +15546,10 @@ }, "packages/metrics": { "name": "@aws-lambda-powertools/metrics", - "version": "0.7.2", + "version": "0.8.0", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^0.7.2" + "@aws-lambda-powertools/commons": "^0.8.0" }, "devDependencies": { "@types/promise-retry": "^1.1.3", @@ -15558,10 +15558,10 @@ }, "packages/tracing": { "name": "@aws-lambda-powertools/tracer", - "version": "0.7.2", + "version": "0.8.0", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^0.7.1", + "@aws-lambda-powertools/commons": "^0.8.0", "aws-xray-sdk-core": "^3.3.4" }, "devDependencies": { @@ -15788,7 +15788,7 @@ "@aws-lambda-powertools/logger": { "version": "file:packages/logger", "requires": { - "@aws-lambda-powertools/commons": "^0.7.2", + "@aws-lambda-powertools/commons": "^0.8.0", "@types/lodash.clonedeep": "^4.5.6", "@types/lodash.merge": "^4.6.6", "@types/lodash.pickby": "^4.6.6", @@ -15801,7 +15801,7 @@ "@aws-lambda-powertools/metrics": { "version": "file:packages/metrics", "requires": { - "@aws-lambda-powertools/commons": "^0.7.2", + "@aws-lambda-powertools/commons": "^0.8.0", "@types/promise-retry": "^1.1.3", "promise-retry": "^2.0.1" } @@ -15809,7 +15809,7 @@ "@aws-lambda-powertools/tracer": { "version": "file:packages/tracing", "requires": { - "@aws-lambda-powertools/commons": "^0.7.1", + "@aws-lambda-powertools/commons": "^0.8.0", "@aws-sdk/client-dynamodb": "^3.58.0", "@types/promise-retry": "^1.1.3", "aws-xray-sdk-core": "^3.3.4", @@ -18870,14 +18870,14 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.18.0.tgz", - "integrity": "sha512-tzrmdGMJI/uii9/V6lurMo4/o+dMTKDH82LkNjhJ3adCW22YQydoRs5MwTiqxGF9CSYxPxQ7EYb4jLNlIs+E+A==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.19.0.tgz", + "integrity": "sha512-w59GpFqDYGnWFim9p6TGJz7a3qWeENJuAKCqjGSx+Hq/bwq3RZwXYqy98KIfN85yDqz9mq6QXiY5h0FjGQLyEg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.18.0", - "@typescript-eslint/type-utils": "5.18.0", - "@typescript-eslint/utils": "5.18.0", + "@typescript-eslint/scope-manager": "5.19.0", + "@typescript-eslint/type-utils": "5.19.0", + "@typescript-eslint/utils": "5.19.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", @@ -18887,52 +18887,52 @@ } }, "@typescript-eslint/parser": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.18.0.tgz", - "integrity": "sha512-+08nYfurBzSSPndngnHvFw/fniWYJ5ymOrn/63oMIbgomVQOvIDhBoJmYZ9lwQOCnQV9xHGvf88ze3jFGUYooQ==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.19.0.tgz", + "integrity": "sha512-yhktJjMCJX8BSBczh1F/uY8wGRYrBeyn84kH6oyqdIJwTGKmzX5Qiq49LRQ0Jh0LXnWijEziSo6BRqny8nqLVQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.18.0", - "@typescript-eslint/types": "5.18.0", - "@typescript-eslint/typescript-estree": "5.18.0", + "@typescript-eslint/scope-manager": "5.19.0", + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/typescript-estree": "5.19.0", "debug": "^4.3.2" } }, "@typescript-eslint/scope-manager": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.18.0.tgz", - "integrity": "sha512-C0CZML6NyRDj+ZbMqh9FnPscg2PrzSaVQg3IpTmpe0NURMVBXlghGZgMYqBw07YW73i0MCqSDqv2SbywnCS8jQ==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz", + "integrity": "sha512-Fz+VrjLmwq5fbQn5W7cIJZ066HxLMKvDEmf4eu1tZ8O956aoX45jAuBB76miAECMTODyUxH61AQM7q4/GOMQ5g==", "dev": true, "requires": { - "@typescript-eslint/types": "5.18.0", - "@typescript-eslint/visitor-keys": "5.18.0" + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/visitor-keys": "5.19.0" } }, "@typescript-eslint/type-utils": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.18.0.tgz", - "integrity": "sha512-vcn9/6J5D6jtHxpEJrgK8FhaM8r6J1/ZiNu70ZUJN554Y3D9t3iovi6u7JF8l/e7FcBIxeuTEidZDR70UuCIfA==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.19.0.tgz", + "integrity": "sha512-O6XQ4RI4rQcBGshTQAYBUIGsKqrKeuIOz9v8bckXZnSeXjn/1+BDZndHLe10UplQeJLXDNbaZYrAytKNQO2T4Q==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.18.0", + "@typescript-eslint/utils": "5.19.0", "debug": "^4.3.2", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.18.0.tgz", - "integrity": "sha512-bhV1+XjM+9bHMTmXi46p1Led5NP6iqQcsOxgx7fvk6gGiV48c6IynY0apQb7693twJDsXiVzNXTflhplmaiJaw==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.19.0.tgz", + "integrity": "sha512-zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.18.0.tgz", - "integrity": "sha512-wa+2VAhOPpZs1bVij9e5gyVu60ReMi/KuOx4LKjGx2Y3XTNUDJgQ+5f77D49pHtqef/klglf+mibuHs9TrPxdQ==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.19.0.tgz", + "integrity": "sha512-dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.18.0", - "@typescript-eslint/visitor-keys": "5.18.0", + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/visitor-keys": "5.19.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -18941,26 +18941,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.18.0.tgz", - "integrity": "sha512-+hFGWUMMri7OFY26TsOlGa+zgjEy1ssEipxpLjtl4wSll8zy85x0GrUSju/FHdKfVorZPYJLkF3I4XPtnCTewA==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.19.0.tgz", + "integrity": "sha512-ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.18.0", - "@typescript-eslint/types": "5.18.0", - "@typescript-eslint/typescript-estree": "5.18.0", + "@typescript-eslint/scope-manager": "5.19.0", + "@typescript-eslint/types": "5.19.0", + "@typescript-eslint/typescript-estree": "5.19.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.18.0.tgz", - "integrity": "sha512-Hf+t+dJsjAKpKSkg3EHvbtEpFFb/1CiOHnvI8bjHgOD4/wAw3gKrA0i94LrbekypiZVanJu3McWJg7rWDMzRTg==", + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz", + "integrity": "sha512-Ym7zZoMDZcAKWsULi2s7UMLREdVQdScPQ/fKWMYefarCztWlHPFVJo8racf8R0Gc8FAEJ2eD4of8As1oFtnQlQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.18.0", + "@typescript-eslint/types": "5.19.0", "eslint-visitor-keys": "^3.0.0" } }, @@ -19473,9 +19473,9 @@ } }, "aws-sdk": { - "version": "2.1110.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1110.0.tgz", - "integrity": "sha512-qxHqzE2ikGNRzhajcmWIBuptML3LBwz9TMnS0jLQjXOP54fZYW6EEKy2Dy7MKjHKeo8QQy/EWtDdWfH9Fu5UIA==", + "version": "2.1113.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1113.0.tgz", + "integrity": "sha512-F+B+HFnKCVIOmErZ1jJ8YL4XxDSaUI9l3JskfpIrk0XdJVcIfyHgA4XUrTUda4z5TOy1Z7eWV2IXgEpVRM4xyw==", "dev": true, "requires": { "buffer": "4.9.2", @@ -20836,9 +20836,9 @@ "dev": true }, "constructs": { - "version": "10.0.108", - "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.0.108.tgz", - "integrity": "sha512-A5sZMVWEblwtPBAOScOt8lBn2epTUljGy/sVfHi7juLnSNSZd2qaO7t62qvbIWJEpH047uYGd755PomB+sXeHA==", + "version": "10.0.113", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.0.113.tgz", + "integrity": "sha512-Q2UNZz2nGiW2ZDZz7+FLOKQNyGr0LXc6mjuAvxXJ57UMwLabbhva8lKWMv3fztdsqlVbtl1DGq1vw2htbaNNJw==", "dev": true }, "conventional-changelog-angular": { @@ -21493,170 +21493,170 @@ } }, "esbuild": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.34.tgz", - "integrity": "sha512-QIWdPT/gFF6hCaf4m7kP0cJ+JIuFkdHibI7vVFvu3eJS1HpVmYHWDulyN5WXwbRA0SX/7ZDaJ/1DH8SdY9xOJg==", - "dev": true, - "requires": { - "esbuild-android-64": "0.14.34", - "esbuild-android-arm64": "0.14.34", - "esbuild-darwin-64": "0.14.34", - "esbuild-darwin-arm64": "0.14.34", - "esbuild-freebsd-64": "0.14.34", - "esbuild-freebsd-arm64": "0.14.34", - "esbuild-linux-32": "0.14.34", - "esbuild-linux-64": "0.14.34", - "esbuild-linux-arm": "0.14.34", - "esbuild-linux-arm64": "0.14.34", - "esbuild-linux-mips64le": "0.14.34", - "esbuild-linux-ppc64le": "0.14.34", - "esbuild-linux-riscv64": "0.14.34", - "esbuild-linux-s390x": "0.14.34", - "esbuild-netbsd-64": "0.14.34", - "esbuild-openbsd-64": "0.14.34", - "esbuild-sunos-64": "0.14.34", - "esbuild-windows-32": "0.14.34", - "esbuild-windows-64": "0.14.34", - "esbuild-windows-arm64": "0.14.34" + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.36.tgz", + "integrity": "sha512-HhFHPiRXGYOCRlrhpiVDYKcFJRdO0sBElZ668M4lh2ER0YgnkLxECuFe7uWCf23FrcLc59Pqr7dHkTqmRPDHmw==", + "dev": true, + "requires": { + "esbuild-android-64": "0.14.36", + "esbuild-android-arm64": "0.14.36", + "esbuild-darwin-64": "0.14.36", + "esbuild-darwin-arm64": "0.14.36", + "esbuild-freebsd-64": "0.14.36", + "esbuild-freebsd-arm64": "0.14.36", + "esbuild-linux-32": "0.14.36", + "esbuild-linux-64": "0.14.36", + "esbuild-linux-arm": "0.14.36", + "esbuild-linux-arm64": "0.14.36", + "esbuild-linux-mips64le": "0.14.36", + "esbuild-linux-ppc64le": "0.14.36", + "esbuild-linux-riscv64": "0.14.36", + "esbuild-linux-s390x": "0.14.36", + "esbuild-netbsd-64": "0.14.36", + "esbuild-openbsd-64": "0.14.36", + "esbuild-sunos-64": "0.14.36", + "esbuild-windows-32": "0.14.36", + "esbuild-windows-64": "0.14.36", + "esbuild-windows-arm64": "0.14.36" } }, "esbuild-android-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.34.tgz", - "integrity": "sha512-XfxcfJqmMYsT/LXqrptzFxmaR3GWzXHDLdFNIhm6S00zPaQF1TBBWm+9t0RZ6LRR7iwH57DPjaOeW20vMqI4Yw==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.36.tgz", + "integrity": "sha512-jwpBhF1jmo0tVCYC/ORzVN+hyVcNZUWuozGcLHfod0RJCedTDTvR4nwlTXdx1gtncDqjk33itjO+27OZHbiavw==", "dev": true, "optional": true }, "esbuild-android-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.34.tgz", - "integrity": "sha512-T02+NXTmSRL1Mc6puz+R9CB54rSPICkXKq6+tw8B6vxZFnCPzbJxgwIX4kcluz9p8nYBjF3+lSilTGWb7+Xgew==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.36.tgz", + "integrity": "sha512-/hYkyFe7x7Yapmfv4X/tBmyKnggUmdQmlvZ8ZlBnV4+PjisrEhAvC3yWpURuD9XoB8Wa1d5dGkTsF53pIvpjsg==", "dev": true, "optional": true }, "esbuild-darwin-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.34.tgz", - "integrity": "sha512-pLRip2Bh4Ng7Bf6AMgCrSp3pPe/qZyf11h5Qo2mOfJqLWzSVjxrXW+CFRJfrOVP7TCnh/gmZSM2AFdCPB72vtw==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.36.tgz", + "integrity": "sha512-kkl6qmV0dTpyIMKagluzYqlc1vO0ecgpviK/7jwPbRDEv5fejRTaBBEE2KxEQbTHcLhiiDbhG7d5UybZWo/1zQ==", "dev": true, "optional": true }, "esbuild-darwin-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.34.tgz", - "integrity": "sha512-vpidSJEBxx6lf1NWgXC+DCmGqesJuZ5Y8aQVVsaoO4i8tRXbXb0whChRvop/zd3nfNM4dIl5EXAky0knRX5I6w==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.36.tgz", + "integrity": "sha512-q8fY4r2Sx6P0Pr3VUm//eFYKVk07C5MHcEinU1BjyFnuYz4IxR/03uBbDwluR6ILIHnZTE7AkTUWIdidRi1Jjw==", "dev": true, "optional": true }, "esbuild-freebsd-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.34.tgz", - "integrity": "sha512-m0HBjePhe0hAQJgtMRMNV9kMgIyV4/qSnzPx42kRMQBcPhgjAq1JRu4Il26czC+9FgpMbFkUktb07f/Lwnc6CA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.36.tgz", + "integrity": "sha512-Hn8AYuxXXRptybPqoMkga4HRFE7/XmhtlQjXFHoAIhKUPPMeJH35GYEUWGbjteai9FLFvBAjEAlwEtSGxnqWww==", "dev": true, "optional": true }, "esbuild-freebsd-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.34.tgz", - "integrity": "sha512-cpRc2B94L1KvMPPYB4D6G39jLqpKlD3noAMY4/e86iXXXkhUYJJEtTuyNFTa9JRpWM0xCAp4mxjHjoIiLuoCLA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.36.tgz", + "integrity": "sha512-S3C0attylLLRiCcHiJd036eDEMOY32+h8P+jJ3kTcfhJANNjP0TNBNL30TZmEdOSx/820HJFgRrqpNAvTbjnDA==", "dev": true, "optional": true }, "esbuild-linux-32": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.34.tgz", - "integrity": "sha512-8nQaEaoW7MH/K/RlozJa+lE1ejHIr8fuPIHhc513UebRav7HtXgQvxHQ6VZRUkWtep23M6dd7UqhwO1tMOfzQQ==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.36.tgz", + "integrity": "sha512-Eh9OkyTrEZn9WGO4xkI3OPPpUX7p/3QYvdG0lL4rfr73Ap2HAr6D9lP59VMF64Ex01LhHSXwIsFG/8AQjh6eNw==", "dev": true, "optional": true }, "esbuild-linux-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.34.tgz", - "integrity": "sha512-Y3of4qQoLLlAgf042MlrY1P+7PnN9zWj8nVtw9XQG5hcLOZLz7IKpU35oeu7n4wvyaZHwvQqDJ93gRLqdJekcQ==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.36.tgz", + "integrity": "sha512-vFVFS5ve7PuwlfgoWNyRccGDi2QTNkQo/2k5U5ttVD0jRFaMlc8UQee708fOZA6zTCDy5RWsT5MJw3sl2X6KDg==", "dev": true, "optional": true }, "esbuild-linux-arm": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.34.tgz", - "integrity": "sha512-9lpq1NcJqssAF7alCO6zL3gvBVVt/lKw4oetUM7OgNnRX0OWpB+ZIO9FwCrSj/dMdmgDhPLf+119zB8QxSMmAg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.36.tgz", + "integrity": "sha512-NhgU4n+NCsYgt7Hy61PCquEz5aevI6VjQvxwBxtxrooXsxt5b2xtOUXYZe04JxqQo+XZk3d1gcr7pbV9MAQ/Lg==", "dev": true, "optional": true }, "esbuild-linux-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.34.tgz", - "integrity": "sha512-IlWaGtj9ir7+Nrume1DGcyzBDlK8GcnJq0ANKwcI9pVw8tqr+6GD0eqyF9SF1mR8UmAp+odrx1H5NdR2cHdFHA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.36.tgz", + "integrity": "sha512-24Vq1M7FdpSmaTYuu1w0Hdhiqkbto1I5Pjyi+4Cdw5fJKGlwQuw+hWynTcRI/cOZxBcBpP21gND7W27gHAiftw==", "dev": true, "optional": true }, "esbuild-linux-mips64le": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.34.tgz", - "integrity": "sha512-k3or+01Rska1AjUyNjA4buEwB51eyN/xPQAoOx1CjzAQC3l8rpjUDw55kXyL63O/1MUi4ISvtNtl8gLwdyEcxw==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.36.tgz", + "integrity": "sha512-hZUeTXvppJN+5rEz2EjsOFM9F1bZt7/d2FUM1lmQo//rXh1RTFYzhC0txn7WV0/jCC7SvrGRaRz0NMsRPf8SIA==", "dev": true, "optional": true }, "esbuild-linux-ppc64le": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.34.tgz", - "integrity": "sha512-+qxb8M9FfM2CJaVU7GgYpJOHM1ngQOx+/VrtBjb4C8oVqaPcESCeg2anjl+HRZy8VpYc71q/iBYausPPbJ+Keg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.36.tgz", + "integrity": "sha512-1Bg3QgzZjO+QtPhP9VeIBhAduHEc2kzU43MzBnMwpLSZ890azr4/A9Dganun8nsqD/1TBcqhId0z4mFDO8FAvg==", "dev": true, "optional": true }, "esbuild-linux-riscv64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.34.tgz", - "integrity": "sha512-Y717ltBdQ5j5sZIHdy1DV9kieo0wMip0dCmVSTceowCPYSn1Cg33Kd6981+F/3b9FDMzNWldZFOBRILViENZSA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.36.tgz", + "integrity": "sha512-dOE5pt3cOdqEhaufDRzNCHf5BSwxgygVak9UR7PH7KPVHwSTDAZHDoEjblxLqjJYpc5XaU9+gKJ9F8mp9r5I4A==", "dev": true, "optional": true }, "esbuild-linux-s390x": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.34.tgz", - "integrity": "sha512-bDDgYO4LhL4+zPs+WcBkXph+AQoPcQRTv18FzZS0WhjfH8TZx2QqlVPGhmhZ6WidrY+jKthUqO6UhGyIb4MpmA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.36.tgz", + "integrity": "sha512-g4FMdh//BBGTfVHjF6MO7Cz8gqRoDPzXWxRvWkJoGroKA18G9m0wddvPbEqcQf5Tbt2vSc1CIgag7cXwTmoTXg==", "dev": true, "optional": true }, "esbuild-netbsd-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.34.tgz", - "integrity": "sha512-cfaFGXdRt0+vHsjNPyF0POM4BVSHPSbhLPe8mppDc7GDDxjIl08mV1Zou14oDWMp/XZMjYN1kWYRSfftiD0vvQ==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.36.tgz", + "integrity": "sha512-UB2bVImxkWk4vjnP62ehFNZ73lQY1xcnL5ZNYF3x0AG+j8HgdkNF05v67YJdCIuUJpBuTyCK8LORCYo9onSW+A==", "dev": true, "optional": true }, "esbuild-openbsd-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.34.tgz", - "integrity": "sha512-vmy9DxXVnRiI14s8GKuYBtess+EVcDALkbpTqd5jw4XITutIzyB7n4x0Tj5utAkKsgZJB22lLWGekr0ABnSLow==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.36.tgz", + "integrity": "sha512-NvGB2Chf8GxuleXRGk8e9zD3aSdRO5kLt9coTQbCg7WMGXeX471sBgh4kSg8pjx0yTXRt0MlrUDnjVYnetyivg==", "dev": true, "optional": true }, "esbuild-sunos-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.34.tgz", - "integrity": "sha512-eNPVatNET1F7tRMhii7goL/eptfxc0ALRjrj9SPFNqp0zmxrehBFD6BaP3R4LjMn6DbMO0jOAnTLFKr8NqcJAA==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.36.tgz", + "integrity": "sha512-VkUZS5ftTSjhRjuRLp+v78auMO3PZBXu6xl4ajomGenEm2/rGuWlhFSjB7YbBNErOchj51Jb2OK8lKAo8qdmsQ==", "dev": true, "optional": true }, "esbuild-windows-32": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.34.tgz", - "integrity": "sha512-EFhpXyHEcnqWYe2rAHFd8dRw8wkrd9U+9oqcyoEL84GbanAYjiiIjBZsnR8kl0sCQ5w6bLpk7vCEIA2VS32Vcg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.36.tgz", + "integrity": "sha512-bIar+A6hdytJjZrDxfMBUSEHHLfx3ynoEZXx/39nxy86pX/w249WZm8Bm0dtOAByAf4Z6qV0LsnTIJHiIqbw0w==", "dev": true, "optional": true }, "esbuild-windows-64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.34.tgz", - "integrity": "sha512-a8fbl8Ky7PxNEjf1aJmtxdDZj32/hC7S1OcA2ckEpCJRTjiKslI9vAdPpSjrKIWhws4Galpaawy0nB7fjHYf5Q==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.36.tgz", + "integrity": "sha512-+p4MuRZekVChAeueT1Y9LGkxrT5x7YYJxYE8ZOTcEfeUUN43vktSn6hUNsvxzzATrSgq5QqRdllkVBxWZg7KqQ==", "dev": true, "optional": true }, "esbuild-windows-arm64": { - "version": "0.14.34", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.34.tgz", - "integrity": "sha512-EYvmKbSa2B3sPnpC28UEu9jBK5atGV4BaVRE7CYGUci2Hlz4AvtV/LML+TcDMT6gBgibnN2gcltWclab3UutMg==", + "version": "0.14.36", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.36.tgz", + "integrity": "sha512-fBB4WlDqV1m18EF/aheGYQkQZHfPHiHJSBYzXIo8yKehek+0BtBwo/4PNwKGJ5T0YK0oc8pBKjgwPbzSrPLb+Q==", "dev": true, "optional": true }, @@ -21733,9 +21733,9 @@ } }, "eslint": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz", - "integrity": "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.13.0.tgz", + "integrity": "sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ==", "dev": true, "requires": { "@eslint/eslintrc": "^1.2.1", @@ -27163,9 +27163,9 @@ } }, "typedoc": { - "version": "0.22.14", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.14.tgz", - "integrity": "sha512-tlf9wIcsrnQSjetStrnRutuy2RjZkG5PK2umwveZLTkuC2K9VywOZTdu2G19BdOPzGrhZjf9WK7pthXqnFQejg==", + "version": "0.22.15", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.15.tgz", + "integrity": "sha512-CMd1lrqQbFvbx6S9G6fL4HKp3GoIuhujJReWqlIvSb2T26vGai+8Os3Mde7Pn832pXYemd9BMuuYWhFpL5st0Q==", "dev": true, "requires": { "glob": "^7.2.0", diff --git a/packages/commons/CHANGELOG.md b/packages/commons/CHANGELOG.md index 3fbc344590..e9c78eff2e 100644 --- a/packages/commons/CHANGELOG.md +++ b/packages/commons/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.8.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) + + +### Bug Fixes + +* **logger:** change logging to use stdout ([#748](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/748)) ([0781a47](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/0781a479a6ae3c794f94c72b59cd0920073159a2)) + + + + + # [0.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) **Note:** Version bump only for package @aws-lambda-powertools/commons diff --git a/packages/commons/package.json b/packages/commons/package.json index c4e14e54a5..d6a603488e 100644 --- a/packages/commons/package.json +++ b/packages/commons/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/commons", - "version": "0.8.0", + "version": "0.8.1", "description": "A shared utility package for AWS Lambda Powertools for TypeScript libraries", "author": { "name": "Amazon Web Services", diff --git a/packages/commons/tests/unit/InvocationLogs.test.ts b/packages/commons/tests/unit/InvocationLogs.test.ts index 1ef5e33cc2..e0617c8ebe 100644 --- a/packages/commons/tests/unit/InvocationLogs.test.ts +++ b/packages/commons/tests/unit/InvocationLogs.test.ts @@ -8,10 +8,10 @@ import { InvocationLogs, LEVEL } from '../utils/InvocationLogs'; const exampleLogs = `START RequestId: c6af9ac6-7b61-11e6-9a41-93e812345678 Version: $LATEST -2022-01-27T16:04:39.323Z\tc6af9ac6-7b61-11e6-9a41-93e812345678\tDEBUG\t{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"DEBUG","message":"This is a DEBUG log but contains the word INFO some context and persistent key","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works"} -2022-01-27T16:04:39.323Z\tc6af9ac6-7b61-11e6-9a41-93e812345678\tINFO\t{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"INFO","message":"This is an INFO log with some context","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works","additionalKey":"additionalValue"} -2022-01-27T16:04:39.323Z\tc6af9ac6-7b61-11e6-9a41-93e812345678\tINFO\t{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"INFO","message":"This is a second INFO log with some context","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works","additionalKey":"additionalValue"} -2022-01-27T16:04:39.323Z\tc6af9ac6-7b61-11e6-9a41-93e812345678\tERROR\t{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"ERROR","message":"There was an error","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works","error":{"name":"Error","location":"/var/task/index.js:2778","message":"you cannot prevent this","stack":"Error: you cannot prevent this\\n at testFunction (/var/task/index.js:2778:11)\\n at runRequest (/var/task/index.js:2314:36)"}} +{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"DEBUG","message":"This is a DEBUG log but contains the word INFO some context and persistent key","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works"} +{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"INFO","message":"This is an INFO log with some context","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works","additionalKey":"additionalValue"} +{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"INFO","message":"This is a second INFO log with some context","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works","additionalKey":"additionalValue"} +{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"ERROR","message":"There was an error","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works","error":{"name":"Error","location":"/var/task/index.js:2778","message":"you cannot prevent this","stack":"Error: you cannot prevent this\\n at testFunction (/var/task/index.js:2778:11)\\n at runRequest (/var/task/index.js:2314:36)"}} END RequestId: c6af9ac6-7b61-11e6-9a41-93e812345678 REPORT RequestId: c6af9ac6-7b61-11e6-9a41-93e812345678\tDuration: 2.16 ms\tBilled Duration: 3 ms\tMemory Size: 128 MB\tMax Memory Used: 57 MB\t`; @@ -104,13 +104,10 @@ describe('getFunctionLogs()', () => { describe('parseFunctionLog()', () => { test('it should return object with the correct values based on the given log', () => { - const rawLogStr = '2022-01-27T16:04:39.323Z\tc6af9ac6-7b61-11e6-9a41-93e812345678\tDEBUG\t{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"DEBUG","message":"This is a DEBUG log but contains the word INFO some context and persistent key","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works"}'; + const rawLogStr = '{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"DEBUG","message":"This is a DEBUG log but contains the word INFO some context and persistent key","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works"}'; const logObj = InvocationLogs.parseFunctionLog(rawLogStr); - expect(logObj.timestamp).toBe('2022-01-27T16:04:39.323Z'); - expect(logObj.invocationId).toBe('c6af9ac6-7b61-11e6-9a41-93e812345678'); - expect(logObj.logLevel).toBe(LEVEL.DEBUG); - expect(logObj.logObject).toStrictEqual({ + expect(logObj).toStrictEqual({ cold_start: true, function_arn: 'arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c', function_memory_size: 128, @@ -125,14 +122,9 @@ describe('parseFunctionLog()', () => { }); test('it should throw an error if receive incorrect formatted raw log string', () => { - const noTabString = 'no-tab-character'; + const notJSONstring = 'not-json-string'; expect(() => { - InvocationLogs.parseFunctionLog(noTabString); - }).toThrow(Error); - - const missSomeElements = '2022-01-27T16:04:39.323Z\tc6af9ac6-7b61-11e6-9a41-93e812345678\tDEBUG\t'; - expect(() => { - InvocationLogs.parseFunctionLog(missSomeElements); + InvocationLogs.parseFunctionLog(notJSONstring); }).toThrow(Error); }); }); \ No newline at end of file diff --git a/packages/commons/tests/utils/InvocationLogs.ts b/packages/commons/tests/utils/InvocationLogs.ts index f220581090..22e1334007 100644 --- a/packages/commons/tests/utils/InvocationLogs.ts +++ b/packages/commons/tests/utils/InvocationLogs.ts @@ -8,13 +8,17 @@ export enum LEVEL { ERROR = 'ERROR', } -export type FunctionLog = { - timestamp: string - invocationId: string - logLevel: LEVEL - // eslint-disable-next-line @typescript-eslint/no-explicit-any - logObject: {[key: string]: any} +export type ErrorField = { + name: string + message: string + stack: string }; + +export type FunctionLog = { + level: LEVEL + error: ErrorField +} & { [key: string]: unknown }; + export class InvocationLogs { public static LEVEL = LEVEL; @@ -22,18 +26,17 @@ export class InvocationLogs { * Array of logs from invocation. * * The first element is START, and the last two elements are END, and REPORT. - * In each log, each content is separated by '\t' * [ * 'START RequestId: c6af9ac6-7b61-11e6-9a41-93e812345678 Version: $LATEST', - * '2022-01-27T16:04:39.323Z\tc6af9ac6-7b61-11e6-9a41-93e812345678\tINFO\t{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"INFO","message":"This is an INFO log with some context and persistent key","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works"}', - * '2022-01-27T16:04:39.323Z\tc6af9ac6-7b61-11e6-9a41-93e812345678\tINFO\t{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"INFO","message":"This is an INFO log with some context","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works","additionalKey":"additionalValue"}', - * '2022-01-27T16:04:39.323Z\tc6af9ac6-7b61-11e6-9a41-93e812345678\tERROR\t{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"ERROR","message":"There was an error","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works","error":{"name":"Error","location":"/var/task/index.js:2778","message":"you cannot prevent this","stack":"Error: you cannot prevent this\\n at testFunction (/var/task/index.js:2778:11)\\n at runRequest (/var/task/index.js:2314:36)"}}', + * '{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"INFO","message":"This is an INFO log with some context and persistent key","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works"}', + * '{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"INFO","message":"This is an INFO log with some context","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works","additionalKey":"additionalValue"}', + * '{"cold_start":true,"function_arn":"arn:aws:lambda:eu-west-1:561912387782:function:loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_memory_size":128,"function_name":"loggerMiddyStandardFeatures-c555a2ec-1121-4586-9c04-185ab36ea34c","function_request_id":"7f586697-238a-4c3b-9250-a5f057c1119c","level":"ERROR","message":"There was an error","service":"logger-e2e-testing","timestamp":"2022-01-27T16:04:39.323Z","persistentKey":"works","error":{"name":"Error","location":"/var/task/index.js:2778","message":"you cannot prevent this","stack":"Error: you cannot prevent this\\n at testFunction (/var/task/index.js:2778:11)\\n at runRequest (/var/task/index.js:2314:36)"}}', * 'END RequestId: c6af9ac6-7b61-11e6-9a41-93e812345678', * 'REPORT RequestId: c6af9ac6-7b61-11e6-9a41-93e812345678\tDuration: 2.16 ms\tBilled Duration: 3 ms\tMemory Size: 128 MB\tMax Memory Used: 57 MB\t', * ] * See https://docs.aws.amazon.com/lambda/latest/dg/nodejs-logging.html for details */ - private logs: string[]; + private logs: string[]; public constructor(logResult: string) { const rawLog = Buffer.from(logResult, 'base64').toString('utf-8').trim(); @@ -43,48 +46,37 @@ export class InvocationLogs { /** * Find all functional logs whether it contains a given text * @param text - * @param log level to filter + * @param levelToFilter level to filter * @returns */ public doesAnyFunctionLogsContains(text: string, levelToFilter?: LEVEL): boolean { const filteredLogs = this.getFunctionLogs(levelToFilter) .filter(log => log.includes(text)); - + return filteredLogs.length > 0; } /** * Return only logs from function, exclude START, END, and REPORT generated by Lambda service - * @param log level to filter + * @param levelToFilter level to filter * @returns Array of function logs */ public getFunctionLogs(levelToFilter?: LEVEL): string[] { let filteredLogs = this.logs.slice(1, -2); if (levelToFilter) { - filteredLogs = filteredLogs.filter(log => log.split('\t')[2] == levelToFilter); - } - + filteredLogs = filteredLogs.filter((log) => JSON.parse(log).level == levelToFilter); + } + return filteredLogs; } /** - * Each of log message contains 4 elements, separted by tabs - * 1. Timestamp (e.g. 2022-01-27T16:04:39.323Z ) - * 2. Invocation id (e.g. tafb6de1a-48f8-4fbb-ad72-23a4f0c2924c) - * 3. Log level (e.g. INFO) - * 4. Log object (e.g. {\"cold_start\":true, ..}) - * @param message + * Each of log message contains a JSON with the structured Log object (e.g. {\"cold_start\":true, ..}) + * @param log */ public static parseFunctionLog(log: string): FunctionLog { - const elements = log.split('\t'); - - return { - timestamp: elements[0], - invocationId: elements[1], - logLevel: elements[2], - logObject: JSON.parse(elements[3]), - }; + return JSON.parse(log); } } \ No newline at end of file diff --git a/packages/logger/CHANGELOG.md b/packages/logger/CHANGELOG.md index 0641cad772..9747a5a215 100644 --- a/packages/logger/CHANGELOG.md +++ b/packages/logger/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.8.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) + + +### Bug Fixes + +* **logger:** change logging to use stdout ([#748](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/748)) ([0781a47](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/0781a479a6ae3c794f94c72b59cd0920073159a2)) + + + + + # [0.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) **Note:** Version bump only for package @aws-lambda-powertools/logger diff --git a/packages/logger/package.json b/packages/logger/package.json index 4c9ec1437b..d657a0abfc 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/logger", - "version": "0.8.0", + "version": "0.8.1", "description": "The logging package for the AWS Lambda Powertools for TypeScript library", "author": { "name": "Amazon Web Services", @@ -61,7 +61,7 @@ "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" }, "dependencies": { - "@aws-lambda-powertools/commons": "^0.8.0", + "@aws-lambda-powertools/commons": "^0.8.1", "lodash.clonedeep": "^4.5.0", "lodash.merge": "^4.6.2", "lodash.pickby": "^4.6.0" diff --git a/packages/logger/src/Logger.ts b/packages/logger/src/Logger.ts index fd0540a36c..523bed85a4 100644 --- a/packages/logger/src/Logger.ts +++ b/packages/logger/src/Logger.ts @@ -1,3 +1,4 @@ +import { Console } from 'console'; import type { Context } from 'aws-lambda'; import { Utility } from '@aws-lambda-powertools/commons'; import { LogFormatterInterface, PowertoolLogFormatter } from './formatter'; @@ -107,6 +108,8 @@ import type { */ class Logger extends Utility implements ClassThatLogs { + private console = new Console({ stdout: process.stdout, stderr: process.stderr }); + private customConfigService?: ConfigServiceInterface; private static readonly defaultLogLevel: LogLevel = 'INFO'; @@ -448,7 +451,7 @@ class Logger extends Utility implements ClassThatLogs { const consoleMethod = logLevel.toLowerCase() as keyof ClassThatLogs; - console[consoleMethod](JSON.stringify(log.getAttributes(), this.removeCircularDependencies())); + this.console[consoleMethod](JSON.stringify(log.getAttributes(), this.removeCircularDependencies())); } /** diff --git a/packages/logger/tests/e2e/basicFeatures.middy.test.ts b/packages/logger/tests/e2e/basicFeatures.middy.test.ts index bbf31c228b..140f08eef9 100644 --- a/packages/logger/tests/e2e/basicFeatures.middy.test.ts +++ b/packages/logger/tests/e2e/basicFeatures.middy.test.ts @@ -10,7 +10,7 @@ import path from 'path'; import { randomUUID } from 'crypto'; import { App, Stack } from 'aws-cdk-lib'; -import { +import { createStackWithLambdaFunction, generateUniqueName, invokeFunction, @@ -18,7 +18,7 @@ import { } from '../../../commons/tests/utils/e2eUtils'; import { InvocationLogs } from '../../../commons/tests/utils/InvocationLogs'; import { deployStack, destroyStack } from '../../../commons/tests/utils/cdk-cli'; -import { +import { RESOURCE_NAME_PREFIX, STACK_OUTPUT_LOG_GROUP, SETUP_TIMEOUT, @@ -67,8 +67,8 @@ describe(`logger E2E tests basic functionalities (middy) for runtime: ${runtime} UUID: uuid, // Text to be used by Logger in the Lambda function - PERSISTENT_KEY, - PERSISTENT_VALUE, + PERSISTENT_KEY, + PERSISTENT_VALUE, SINGLE_LOG_ITEM_KEY, SINGLE_LOG_ITEM_VALUE, ERROR_MSG, @@ -84,7 +84,7 @@ describe(`logger E2E tests basic functionalities (middy) for runtime: ${runtime} invocationLogs = await invokeFunction(functionName, 2, 'SEQUENTIAL'); console.log('logGroupName', logGroupName); - + }, SETUP_TIMEOUT); describe('Log level filtering', () => { @@ -148,7 +148,7 @@ describe(`logger E2E tests basic functionalities (middy) for runtime: ${runtime} it('should log additional keys and value only once', async () => { const logMessages = invocationLogs[0].getFunctionLogs() .filter(message => message.includes(`"${SINGLE_LOG_ITEM_KEY}":"${SINGLE_LOG_ITEM_VALUE}"`)); - + expect(logMessages).toHaveLength(1); }, TEST_CASE_TIMEOUT); }); @@ -157,10 +157,10 @@ describe(`logger E2E tests basic functionalities (middy) for runtime: ${runtime} it('should log additional keys and value only once', async () => { const logMessages = invocationLogs[0].getFunctionLogs(LEVEL.ERROR) .filter(message => message.includes(ERROR_MSG)); - + expect(logMessages).toHaveLength(1); - const { logObject } = InvocationLogs.parseFunctionLog(logMessages[0]); + const logObject = InvocationLogs.parseFunctionLog(logMessages[0]); const errorObj = logObject.error; expect(errorObj.name).toBe('Error'); diff --git a/packages/logger/tests/e2e/childLogger.manual.test.ts b/packages/logger/tests/e2e/childLogger.manual.test.ts index 8f821663c6..8c2c1e5c02 100644 --- a/packages/logger/tests/e2e/childLogger.manual.test.ts +++ b/packages/logger/tests/e2e/childLogger.manual.test.ts @@ -10,7 +10,7 @@ import path from 'path'; import { randomUUID } from 'crypto'; import { App, Stack } from 'aws-cdk-lib'; -import { +import { createStackWithLambdaFunction, generateUniqueName, invokeFunction, @@ -18,14 +18,14 @@ import { } from '../../../commons/tests/utils/e2eUtils'; import { InvocationLogs } from '../../../commons/tests/utils/InvocationLogs'; import { deployStack, destroyStack } from '../../../commons/tests/utils/cdk-cli'; -import { +import { RESOURCE_NAME_PREFIX, STACK_OUTPUT_LOG_GROUP, SETUP_TIMEOUT, TEST_CASE_TIMEOUT, TEARDOWN_TIMEOUT } from './constants'; - + const runtime: string = process.env.RUNTIME || 'nodejs14x'; if (!isValidRuntimeKey(runtime)) { @@ -54,7 +54,7 @@ describe(`logger E2E tests child logger functionalities (manual) for runtime: ${ let invocationLogs: InvocationLogs[]; beforeAll(async () => { - + // Create and deploy a stack with AWS CDK stack = createStackWithLambdaFunction({ app: integTestApp, @@ -67,8 +67,8 @@ describe(`logger E2E tests child logger functionalities (manual) for runtime: ${ UUID: uuid, // Text to be used by Logger in the Lambda function - PARENT_PERSISTENT_KEY, - PARENT_PERSISTENT_VALUE, + PARENT_PERSISTENT_KEY, + PARENT_PERSISTENT_VALUE, PARENT_LOG_MSG, CHILD_LOG_MSG, CHILD_LOG_LEVEL, @@ -83,7 +83,7 @@ describe(`logger E2E tests child logger functionalities (manual) for runtime: ${ invocationLogs = await invokeFunction(functionName, 1); console.log('logGroupName', logGroupName); - + }, SETUP_TIMEOUT); const getAllChildLogs = (): string[] => invocationLogs[0].getFunctionLogs() @@ -111,7 +111,7 @@ describe(`logger E2E tests child logger functionalities (manual) for runtime: ${ // Only parent has injected context. const allChildLogs = getAllChildLogs(); - for ( const log of allChildLogs ) { + for (const log of allChildLogs) { expect(log).not.toContain('function_arn'); expect(log).not.toContain('function_memory_size'); expect(log).not.toContain('function_name'); diff --git a/packages/logger/tests/e2e/sampleRate.decorator.test.ts b/packages/logger/tests/e2e/sampleRate.decorator.test.ts index ac0b2e83dc..8ccd18e73f 100644 --- a/packages/logger/tests/e2e/sampleRate.decorator.test.ts +++ b/packages/logger/tests/e2e/sampleRate.decorator.test.ts @@ -10,7 +10,7 @@ import path from 'path'; import { randomUUID } from 'crypto'; import { App, Stack } from 'aws-cdk-lib'; -import { +import { createStackWithLambdaFunction, generateUniqueName, invokeFunction, @@ -18,7 +18,7 @@ import { } from '../../../commons/tests/utils/e2eUtils'; import { InvocationLogs } from '../../../commons/tests/utils/InvocationLogs'; import { deployStack, destroyStack } from '../../../commons/tests/utils/cdk-cli'; -import { +import { RESOURCE_NAME_PREFIX, STACK_OUTPUT_LOG_GROUP, SETUP_TIMEOUT, @@ -53,7 +53,7 @@ describe(`logger E2E tests sample rate and injectLambdaContext() for runtime: ${ let invocationLogs: InvocationLogs[]; beforeAll(async () => { - + // Create and deploy a stack with AWS CDK stack = createStackWithLambdaFunction({ app: integTestApp, @@ -66,7 +66,7 @@ describe(`logger E2E tests sample rate and injectLambdaContext() for runtime: ${ UUID: uuid, // Parameter(s) to be used by Logger in the Lambda function - LOG_MSG, + LOG_MSG, SAMPLE_RATE, }, logGroupOutputKey: STACK_OUTPUT_LOG_GROUP, @@ -78,7 +78,7 @@ describe(`logger E2E tests sample rate and injectLambdaContext() for runtime: ${ invocationLogs = await invokeFunction(functionName, 20); console.log('logGroupName', logGroupName); - + }, SETUP_TIMEOUT); describe('Enabling sample rate', () => { @@ -105,7 +105,7 @@ describe(`logger E2E tests sample rate and injectLambdaContext() for runtime: ${ // Given that we set rate to 0.5. The chance that we get all invocations sampled (or not sampled) is less than 0.5^20 expect(countSampled).toBeGreaterThan(0); expect(countNotSampled).toBeGreaterThan(0); - + }, TEST_CASE_TIMEOUT); }); @@ -113,7 +113,7 @@ describe(`logger E2E tests sample rate and injectLambdaContext() for runtime: ${ it('should inject Lambda context into the log', async () => { const logMessages = invocationLogs[0].getFunctionLogs(LEVEL.ERROR); - for ( const log of logMessages ) { + for (const log of logMessages) { expect(log).toContain('function_arn'); expect(log).toContain('function_memory_size'); expect(log).toContain('function_name'); diff --git a/packages/logger/tests/unit/Logger.test.ts b/packages/logger/tests/unit/Logger.test.ts index f6481c7499..a6d5b034ac 100644 --- a/packages/logger/tests/unit/Logger.test.ts +++ b/packages/logger/tests/unit/Logger.test.ts @@ -14,24 +14,14 @@ import { EnvironmentVariablesService } from '../../src/config'; import { PowertoolLogFormatter } from '../../src/formatter'; import { ClassThatLogs } from '../../src/types'; import { Context } from 'aws-lambda'; +import { Console } from 'console'; const mockDate = new Date(1466424490000); const dateSpy = jest.spyOn(global, 'Date').mockImplementation(() => mockDate as unknown as string); -const consoleSpy = { - 'debug': jest.spyOn(console, 'debug').mockImplementation(), - 'info': jest.spyOn(console, 'info').mockImplementation(), - 'warn': jest.spyOn(console, 'warn').mockImplementation(), - 'error': jest.spyOn(console, 'error').mockImplementation(), -}; - describe('Class: Logger', () => { beforeEach(() => { - consoleSpy['debug'].mockClear(); - consoleSpy['info'].mockClear(); - consoleSpy['warn'].mockClear(); - consoleSpy['error'].mockClear(); dateSpy.mockClear(); }); @@ -57,12 +47,13 @@ describe('Class: Logger', () => { describe('Feature: log level', () => { const methodOfLogger = method as keyof ClassThatLogs; - test('when the Logger\'s log level is DEBUG, it '+ debugAction + ' print to stdout', () => { + test('when the Logger\'s log level is DEBUG, it ' + debugAction + ' print to stdout', () => { // Prepare - const logger: ClassThatLogs = createLogger({ + const logger: Logger = createLogger({ logLevel: 'DEBUG', }); + const consoleSpy = jest.spyOn(logger['console'], methodOfLogger).mockImplementation(); // Act if (logger[methodOfLogger]) { @@ -70,9 +61,9 @@ describe('Class: Logger', () => { } // Assess - expect(console[methodOfLogger]).toBeCalledTimes(debugPrints ? 1 : 0); + expect(consoleSpy).toBeCalledTimes(debugPrints ? 1 : 0); if (debugPrints) { - expect(console[methodOfLogger]).toHaveBeenNthCalledWith(1, JSON.stringify({ + expect(consoleSpy).toHaveBeenNthCalledWith(1, JSON.stringify({ level: methodOfLogger.toUpperCase(), message: 'foo', service: 'hello-world', @@ -83,12 +74,13 @@ describe('Class: Logger', () => { }); - test('when the Logger\'s log level is INFO, it '+ infoAction + ' print to stdout', () => { + test('when the Logger\'s log level is INFO, it ' + infoAction + ' print to stdout', () => { // Prepare - const logger: ClassThatLogs = createLogger({ + const logger: Logger = createLogger({ logLevel: 'INFO', }); + const consoleSpy = jest.spyOn(logger['console'], methodOfLogger).mockImplementation(); // Act if (logger[methodOfLogger]) { @@ -96,9 +88,9 @@ describe('Class: Logger', () => { } // Assess - expect(console[methodOfLogger]).toBeCalledTimes(infoPrints ? 1 : 0); + expect(consoleSpy).toBeCalledTimes(infoPrints ? 1 : 0); if (infoPrints) { - expect(console[methodOfLogger]).toHaveBeenNthCalledWith(1, JSON.stringify({ + expect(consoleSpy).toHaveBeenNthCalledWith(1, JSON.stringify({ level: methodOfLogger.toUpperCase(), message: 'foo', service: 'hello-world', @@ -109,12 +101,13 @@ describe('Class: Logger', () => { }); - test('when the Logger\'s log level is WARN, it '+ warnAction + ' print to stdout', () => { + test('when the Logger\'s log level is WARN, it ' + warnAction + ' print to stdout', () => { // Prepare - const logger: ClassThatLogs = createLogger({ + const logger: Logger = createLogger({ logLevel: 'WARN', }); + const consoleSpy = jest.spyOn(logger['console'], methodOfLogger).mockImplementation(); // Act if (logger[methodOfLogger]) { @@ -122,9 +115,9 @@ describe('Class: Logger', () => { } // Assess - expect(console[methodOfLogger]).toBeCalledTimes(warnPrints ? 1 : 0); + expect(consoleSpy).toBeCalledTimes(warnPrints ? 1 : 0); if (warnPrints) { - expect(console[methodOfLogger]).toHaveBeenNthCalledWith(1, JSON.stringify({ + expect(consoleSpy).toHaveBeenNthCalledWith(1, JSON.stringify({ level: methodOfLogger.toUpperCase(), message: 'foo', service: 'hello-world', @@ -135,12 +128,13 @@ describe('Class: Logger', () => { }); - test('when the Logger\'s log level is ERROR, it '+ errorAction + ' print to stdout', () => { + test('when the Logger\'s log level is ERROR, it ' + errorAction + ' print to stdout', () => { // Prepare - const logger: ClassThatLogs = createLogger({ + const logger: Logger = createLogger({ logLevel: 'ERROR', }); + const consoleSpy = jest.spyOn(logger['console'], methodOfLogger).mockImplementation(); // Act if (logger[methodOfLogger]) { @@ -148,9 +142,9 @@ describe('Class: Logger', () => { } // Assess - expect(console[methodOfLogger]).toBeCalledTimes(errorPrints ? 1 : 0); + expect(consoleSpy).toBeCalledTimes(errorPrints ? 1 : 0); if (errorPrints) { - expect(console[methodOfLogger]).toHaveBeenNthCalledWith(1, JSON.stringify({ + expect(consoleSpy).toHaveBeenNthCalledWith(1, JSON.stringify({ level: methodOfLogger.toUpperCase(), message: 'foo', service: 'hello-world', @@ -170,10 +164,11 @@ describe('Class: Logger', () => { test('when the Logger\'s log level is higher and the current Lambda invocation IS NOT sampled for logging, it DOES NOT print to stdout', () => { // Prepare - const logger: ClassThatLogs = createLogger({ + const logger: Logger = createLogger({ logLevel: 'ERROR', sampleRateValue: 0, }); + const consoleSpy = jest.spyOn(logger['console'], methodOfLogger).mockImplementation(); // Act if (logger[methodOfLogger]) { @@ -181,16 +176,17 @@ describe('Class: Logger', () => { } // Assess - expect(console[methodOfLogger]).toBeCalledTimes(method === 'error' ? 1 : 0); + expect(consoleSpy).toBeCalledTimes(method === 'error' ? 1 : 0); }); test('when the Logger\'s log level is higher and the current Lambda invocation IS sampled for logging, it DOES print to stdout', () => { // Prepare - const logger: ClassThatLogs = createLogger({ + const logger: Logger = createLogger({ logLevel: 'ERROR', sampleRateValue: 1, }); + const consoleSpy = jest.spyOn(logger['console'], methodOfLogger).mockImplementation(); // Act if (logger[methodOfLogger]) { @@ -198,8 +194,8 @@ describe('Class: Logger', () => { } // Assess - expect(console[methodOfLogger]).toBeCalledTimes(1); - expect(console[methodOfLogger]).toHaveBeenNthCalledWith(1, JSON.stringify({ + expect(consoleSpy).toBeCalledTimes(1); + expect(consoleSpy).toHaveBeenNthCalledWith(1, JSON.stringify({ level: method.toUpperCase(), message: 'foo', sampling_rate: 1, @@ -215,10 +211,11 @@ describe('Class: Logger', () => { const methodOfLogger = method as keyof ClassThatLogs; - test('when the Lambda context is not captured and a string is passed as log message, it should print a valid '+ method.toUpperCase() + ' log', () => { + test('when the Lambda context is not captured and a string is passed as log message, it should print a valid ' + method.toUpperCase() + ' log', () => { // Prepare - const logger: ClassThatLogs = createLogger(); + const logger: Logger = createLogger(); + const consoleSpy = jest.spyOn(logger['console'], methodOfLogger).mockImplementation(); // Act if (logger[methodOfLogger]) { @@ -226,8 +223,8 @@ describe('Class: Logger', () => { } // Assess - expect(console[methodOfLogger]).toBeCalledTimes(1); - expect(console[methodOfLogger]).toHaveBeenNthCalledWith(1, JSON.stringify({ + expect(consoleSpy).toBeCalledTimes(1); + expect(consoleSpy).toHaveBeenNthCalledWith(1, JSON.stringify({ level: method.toUpperCase(), message: 'foo', service: 'hello-world', @@ -236,13 +233,14 @@ describe('Class: Logger', () => { })); }); - test('when the Lambda context is captured, it returns a valid '+ method.toUpperCase() + ' log', () => { + test('when the Lambda context is captured, it returns a valid ' + method.toUpperCase() + ' log', () => { // Prepare - const logger: ClassThatLogs & { addContext: (context: Context) => void } = createLogger({ + const logger: Logger & { addContext: (context: Context) => void } = createLogger({ logLevel: 'DEBUG', }); logger.addContext(dummyContext); + const consoleSpy = jest.spyOn(logger['console'], methodOfLogger).mockImplementation(); // Act if (logger[methodOfLogger]) { @@ -250,8 +248,8 @@ describe('Class: Logger', () => { } // Assess - expect(console[methodOfLogger]).toBeCalledTimes(1); - expect(console[methodOfLogger]).toHaveBeenNthCalledWith(1, JSON.stringify({ + expect(consoleSpy).toBeCalledTimes(1); + expect(consoleSpy).toHaveBeenNthCalledWith(1, JSON.stringify({ cold_start: true, function_arn: 'arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function', function_memory_size: 128, @@ -271,35 +269,35 @@ describe('Class: Logger', () => { describe('Feature: ephemeral log attributes', () => { const methodOfLogger = method as keyof ClassThatLogs; - const methodOfConsole = methodOfLogger; test('when added, they should appear in that log item only', () => { // Prepare - const logger: ClassThatLogs = createLogger({ + const logger: Logger = createLogger({ logLevel: 'DEBUG', }); + const consoleSpy = jest.spyOn(logger['console'], methodOfLogger).mockImplementation(); // Act if (logger[methodOfLogger]) { logger[methodOfLogger]('A log item without extra parameters'); logger[methodOfLogger]('A log item with a string as first parameter, and an object as second parameter', { extra: 'parameter' }); logger[methodOfLogger]('A log item with a string as first parameter, and objects as other parameters', { parameterOne: 'foo' }, { parameterTwo: 'bar' }); - logger[methodOfLogger]( { message: 'A log item with an object as first parameters', extra: 'parameter' }); - logger[methodOfLogger]('A log item with a string as first parameter, and an error as second parameter', new Error('Something happened!') ); + logger[methodOfLogger]({ message: 'A log item with an object as first parameters', extra: 'parameter' }); + logger[methodOfLogger]('A log item with a string as first parameter, and an error as second parameter', new Error('Something happened!')); logger[methodOfLogger]('A log item with a string as first parameter, and an error with custom key as second parameter', { myCustomErrorKey: new Error('Something happened!') }); logger[methodOfLogger]('A log item with a string as first parameter, and a string as second parameter', 'parameter'); } // Assess - expect(console[methodOfConsole]).toHaveBeenNthCalledWith(1, JSON.stringify({ + expect(consoleSpy).toHaveBeenNthCalledWith(1, JSON.stringify({ level: method.toUpperCase(), message: 'A log item without extra parameters', service: 'hello-world', timestamp: '2016-06-20T12:08:10.000Z', xray_trace_id: 'abcdef123456abcdef123456abcdef123456', })); - expect(console[methodOfConsole]).toHaveBeenNthCalledWith(2, JSON.stringify({ + expect(consoleSpy).toHaveBeenNthCalledWith(2, JSON.stringify({ level: method.toUpperCase(), message: 'A log item with a string as first parameter, and an object as second parameter', service: 'hello-world', @@ -307,7 +305,7 @@ describe('Class: Logger', () => { xray_trace_id: 'abcdef123456abcdef123456abcdef123456', extra: 'parameter', })); - expect(console[methodOfConsole]).toHaveBeenNthCalledWith(3, JSON.stringify({ + expect(consoleSpy).toHaveBeenNthCalledWith(3, JSON.stringify({ level: method.toUpperCase(), message: 'A log item with a string as first parameter, and objects as other parameters', service: 'hello-world', @@ -316,7 +314,7 @@ describe('Class: Logger', () => { parameterOne: 'foo', parameterTwo: 'bar', })); - expect(console[methodOfConsole]).toHaveBeenNthCalledWith(4, JSON.stringify({ + expect(consoleSpy).toHaveBeenNthCalledWith(4, JSON.stringify({ level: method.toUpperCase(), message: 'A log item with an object as first parameters', service: 'hello-world', @@ -324,8 +322,8 @@ describe('Class: Logger', () => { xray_trace_id: 'abcdef123456abcdef123456abcdef123456', extra: 'parameter', })); - const parameterCallNumber5 = JSON.parse(consoleSpy[methodOfConsole].mock.calls[4][0]); - expect(parameterCallNumber5).toEqual(expect.objectContaining( { + const parameterCallNumber5 = JSON.parse(consoleSpy.mock.calls[4][0]); + expect(parameterCallNumber5).toEqual(expect.objectContaining({ level: method.toUpperCase(), message: 'A log item with a string as first parameter, and an error as second parameter', service: 'hello-world', @@ -338,7 +336,7 @@ describe('Class: Logger', () => { stack: expect.stringMatching(/Logger.test.ts:[0-9]+:[0-9]+/), }, })); - const parameterCallNumber6 = JSON.parse(consoleSpy[methodOfConsole].mock.calls[5][0]); + const parameterCallNumber6 = JSON.parse(consoleSpy.mock.calls[5][0] as string); expect(parameterCallNumber6).toEqual(expect.objectContaining({ level: method.toUpperCase(), message: 'A log item with a string as first parameter, and an error with custom key as second parameter', @@ -352,7 +350,7 @@ describe('Class: Logger', () => { stack: expect.stringMatching(/Logger.test.ts:[0-9]+:[0-9]+/), }, })); - expect(console[methodOfConsole]).toHaveBeenNthCalledWith(7, JSON.stringify({ + expect(consoleSpy).toHaveBeenNthCalledWith(7, JSON.stringify({ level: method.toUpperCase(), message: 'A log item with a string as first parameter, and a string as second parameter', service: 'hello-world', @@ -366,18 +364,18 @@ describe('Class: Logger', () => { describe('Feature: persistent log attributes', () => { const methodOfLogger = method as keyof ClassThatLogs; - const methodOfConsole = methodOfLogger; test('when persistent log attributes are added to the Logger instance, they should appear in all logs printed by the instance', () => { // Prepare - const logger: ClassThatLogs = createLogger({ + const logger: Logger = createLogger({ logLevel: 'DEBUG', persistentLogAttributes: { aws_account_id: '123456789012', aws_region: 'eu-west-1', }, }); + const consoleSpy = jest.spyOn(logger['console'], methodOfLogger).mockImplementation(); // Act if (logger[methodOfLogger]) { @@ -385,8 +383,8 @@ describe('Class: Logger', () => { } // Assess - expect(console[methodOfConsole]).toBeCalledTimes(1); - expect(console[methodOfConsole]).toHaveBeenNthCalledWith(1, JSON.stringify({ + expect(consoleSpy).toBeCalledTimes(1); + expect(consoleSpy).toHaveBeenNthCalledWith(1, JSON.stringify({ level: method.toUpperCase(), message: 'foo', service: 'hello-world', @@ -402,14 +400,14 @@ describe('Class: Logger', () => { describe('Feature: handle safely unexpected errors', () => { const methodOfLogger = method as keyof ClassThatLogs; - const methodOfConsole = methodOfLogger; test('when a logged item references itself, the logger ignores the keys that cause a circular reference', () => { // Prepare - const logger: ClassThatLogs = createLogger({ + const logger: Logger = createLogger({ logLevel: 'DEBUG', }); + const consoleSpy = jest.spyOn(logger['console'], methodOfLogger).mockImplementation(); const circularObject = { foo: 'bar', self: {}, @@ -428,7 +426,7 @@ describe('Class: Logger', () => { // Assess expect(result).toBe('All good!'); - expect(console[methodOfConsole]).toHaveBeenNthCalledWith(1, JSON.stringify({ + expect(consoleSpy).toHaveBeenNthCalledWith(1, JSON.stringify({ level: method.toUpperCase(), message: 'A log with a circular reference', service: 'hello-world', @@ -471,6 +469,7 @@ describe('Class: Logger', () => { // Assess expect(logger).toEqual({ + console: expect.any(Console), coldStart: false, // This is now false because the `coldStart` attribute has been already accessed once by the `addContext` method customConfigService: undefined, envVarsService: expect.any(EnvironmentVariablesService), @@ -614,13 +613,14 @@ describe('Class: Logger', () => { beforeEach(() => { // eslint-disable-next-line @typescript-eslint/no-empty-function - jest.spyOn(console, 'log').mockImplementation(() => {}); + jest.spyOn(console, 'log').mockImplementation(() => { }); }); test('when used as decorator, it returns a function with the correct scope of the decorated class', async () => { // Prepare const logger = new Logger(); + const consoleSpy = jest.spyOn(logger['console'], 'info').mockImplementation(); class LambdaFunction implements LambdaInterface { @logger.injectLambdaContext() @@ -630,7 +630,7 @@ describe('Class: Logger', () => { this.myClassMethod(); } - private myClassMethod (): void { + private myClassMethod(): void { logger.info('This is an INFO log with some context'); } @@ -640,8 +640,8 @@ describe('Class: Logger', () => { await new LambdaFunction().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); // Assess - expect(console['info']).toBeCalledTimes(1); - expect(console['info']).toHaveBeenNthCalledWith(1, JSON.stringify({ + expect(consoleSpy).toBeCalledTimes(1); + expect(consoleSpy).toHaveBeenNthCalledWith(1, JSON.stringify({ cold_start: true, function_arn: 'arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function', function_memory_size: 128, @@ -660,6 +660,7 @@ describe('Class: Logger', () => { // Prepare const logger = new Logger(); + const consoleSpy = jest.spyOn(logger['console'], 'info').mockImplementation(); class LambdaFunction implements LambdaInterface { @logger.injectLambdaContext() @@ -676,15 +677,15 @@ describe('Class: Logger', () => { // Assess - expect(console['info']).toBeCalledTimes(2); - expect(console['info']).toHaveBeenNthCalledWith(1, JSON.stringify({ + expect(consoleSpy).toBeCalledTimes(2); + expect(consoleSpy).toHaveBeenNthCalledWith(1, JSON.stringify({ level: 'INFO', message: 'An INFO log without context!', service: 'hello-world', timestamp: '2016-06-20T12:08:10.000Z', xray_trace_id: 'abcdef123456abcdef123456abcdef123456', })); - expect(console['info']).toHaveBeenNthCalledWith(2, JSON.stringify({ + expect(consoleSpy).toHaveBeenNthCalledWith(2, JSON.stringify({ cold_start: true, function_arn: 'arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function', function_memory_size: 128, @@ -704,6 +705,7 @@ describe('Class: Logger', () => { // Prepare const expectedReturnValue = 'Lambda invoked!'; const logger = new Logger(); + const consoleSpy = jest.spyOn(logger['console'], 'info').mockImplementation(); class LambdaFunction implements LambdaInterface { @logger.injectLambdaContext() @@ -723,15 +725,15 @@ describe('Class: Logger', () => { // Assess expect(actualResult).toEqual(expectedReturnValue); - expect(console['info']).toBeCalledTimes(2); - expect(console['info']).toHaveBeenNthCalledWith(1, JSON.stringify({ + expect(consoleSpy).toBeCalledTimes(2); + expect(consoleSpy).toHaveBeenNthCalledWith(1, JSON.stringify({ level: 'INFO', message: 'An INFO log without context!', service: 'hello-world', timestamp: '2016-06-20T12:08:10.000Z', xray_trace_id: 'abcdef123456abcdef123456abcdef123456', })); - expect(console['info']).toHaveBeenNthCalledWith(2, JSON.stringify({ + expect(consoleSpy).toHaveBeenNthCalledWith(2, JSON.stringify({ cold_start: true, function_arn: 'arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function', function_memory_size: 128, @@ -804,6 +806,7 @@ describe('Class: Logger', () => { expect(parentLogger === childLoggerWithErrorLogLevel).toBe(false); expect(parentLogger).toEqual({ + console: expect.any(Console), coldStart: true, customConfigService: undefined, envVarsService: expect.any(EnvironmentVariablesService), @@ -827,6 +830,7 @@ describe('Class: Logger', () => { }); expect(childLoggerWithPermanentAttributes).toEqual({ + console: expect.any(Console), coldStart: true, customConfigService: undefined, envVarsService: expect.any(EnvironmentVariablesService), @@ -852,6 +856,7 @@ describe('Class: Logger', () => { }); expect(childLoggerWithSampleRateEnabled).toEqual({ + console: expect.any(Console), coldStart: true, customConfigService: undefined, envVarsService: expect.any(EnvironmentVariablesService), @@ -875,6 +880,7 @@ describe('Class: Logger', () => { }); expect(childLoggerWithErrorLogLevel).toEqual({ + console: expect.any(Console), coldStart: true, customConfigService: undefined, envVarsService: expect.any(EnvironmentVariablesService), diff --git a/packages/logger/tests/unit/helpers.test.ts b/packages/logger/tests/unit/helpers.test.ts index 9d3525d343..eea86b4c0c 100644 --- a/packages/logger/tests/unit/helpers.test.ts +++ b/packages/logger/tests/unit/helpers.test.ts @@ -4,6 +4,7 @@ * @group unit/logger/all */ +import { Console } from 'console'; import { ConfigServiceInterface, EnvironmentVariablesService } from '../../src/config'; import { LogFormatter, PowertoolLogFormatter } from '../../src/formatter'; import { LoggerOptions } from '../../src/types'; @@ -78,6 +79,7 @@ describe('Helper: createLogger function', () => { envVarsService: expect.any(EnvironmentVariablesService), logFormatter: expect.any(PowertoolLogFormatter), logLevel: 'WARN', + console: expect.any(Console), logLevelThresholds: { DEBUG: 8, ERROR: 20, @@ -117,6 +119,7 @@ describe('Helper: createLogger function', () => { envVarsService: expect.any(EnvironmentVariablesService), logFormatter: expect.any(PowertoolLogFormatter), logLevel: 'INFO', + console: expect.any(Console), logLevelThresholds: { DEBUG: 8, ERROR: 20, @@ -240,6 +243,7 @@ describe('Helper: createLogger function', () => { envVarsService: expect.any(EnvironmentVariablesService), logFormatter: expect.any(PowertoolLogFormatter), logLevel: 'INFO', + console: expect.any(Console), logLevelThresholds: { DEBUG: 8, ERROR: 20, diff --git a/packages/logger/tests/unit/middleware/middy.test.ts b/packages/logger/tests/unit/middleware/middy.test.ts index 1993bf288f..979a5a5462 100644 --- a/packages/logger/tests/unit/middleware/middy.test.ts +++ b/packages/logger/tests/unit/middleware/middy.test.ts @@ -9,6 +9,7 @@ import { injectLambdaContext } from '../../../src/middleware/middy'; import { Logger } from './../../../src'; import middy from '@middy/core'; import { PowertoolLogFormatter } from '../../../src/formatter'; +import { Console } from 'console'; describe('Middy middleware', () => { @@ -16,8 +17,7 @@ describe('Middy middleware', () => { beforeEach(() => { jest.resetModules(); - // eslint-disable-next-line @typescript-eslint/no-empty-function - jest.spyOn(console, 'log').mockImplementation(() => {}); + jest.spyOn(process.stdout, 'write').mockImplementation(() => null as unknown as boolean); process.env = { ...ENVIRONMENT_VARIABLES }; }); @@ -120,6 +120,8 @@ describe('Middy middleware', () => { // Assess const expectation = expect.objectContaining({ + logsSampled: false, + persistentLogAttributes: {}, powertoolLogData: { sampleRateValue: undefined, awsRegion: 'eu-west-1', @@ -135,8 +137,13 @@ describe('Middy middleware', () => { serviceName: 'hello-world', xRayTraceId: 'abcdef123456abcdef123456abcdef123456', }, + envVarsService: expect.any(EnvironmentVariablesService), + customConfigService: undefined, + logLevel: 'DEBUG', + logFormatter: expect.any(PowertoolLogFormatter), + console: expect.any(Console), }); - expect(logger).toEqual(anotherLogger); + expect(logger).toEqual(expectation); expect(anotherLogger).toEqual(expectation); }); diff --git a/packages/metrics/CHANGELOG.md b/packages/metrics/CHANGELOG.md index 752b4b9a48..f50ed91f2d 100644 --- a/packages/metrics/CHANGELOG.md +++ b/packages/metrics/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.8.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) + +**Note:** Version bump only for package @aws-lambda-powertools/metrics + + + + + # [0.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) **Note:** Version bump only for package @aws-lambda-powertools/metrics diff --git a/packages/metrics/package.json b/packages/metrics/package.json index 0f973e704f..8b41dc0769 100644 --- a/packages/metrics/package.json +++ b/packages/metrics/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/metrics", - "version": "0.8.0", + "version": "0.8.1", "description": "The metrics package for the AWS Lambda Powertools for TypeScript library", "author": { "name": "Amazon Web Services", @@ -67,6 +67,6 @@ "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" }, "dependencies": { - "@aws-lambda-powertools/commons": "^0.8.0" + "@aws-lambda-powertools/commons": "^0.8.1" } } diff --git a/packages/tracing/CHANGELOG.md b/packages/tracing/CHANGELOG.md index 29df2d8223..2514ad1b85 100644 --- a/packages/tracing/CHANGELOG.md +++ b/packages/tracing/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.8.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) + +**Note:** Version bump only for package @aws-lambda-powertools/tracer + + + + + # [0.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) diff --git a/packages/tracing/package.json b/packages/tracing/package.json index e71ba61d99..408167e49d 100644 --- a/packages/tracing/package.json +++ b/packages/tracing/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/tracer", - "version": "0.8.0", + "version": "0.8.1", "description": "The tracer package for the AWS Lambda Powertools for TypeScript library", "author": { "name": "Amazon Web Services", @@ -46,7 +46,7 @@ "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" }, "dependencies": { - "@aws-lambda-powertools/commons": "^0.8.0", + "@aws-lambda-powertools/commons": "^0.8.1", "aws-xray-sdk-core": "^3.3.4" } }