diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 1a7334ee80..5803ca8a28 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,6 +1,6 @@ # See here for image contents: https://github.com/microsoft/vscode-dev-containers/blob/v0.212.0/containers/javascript-node/.devcontainer/base.Dockerfile # [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 16, 14, 12, 16-bullseye, 14-bullseye, 12-bullseye, 16-buster, 14-buster, 12-buster -ARG VARIANT="14-bullseye" +ARG VARIANT="16-bullseye" FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-${VARIANT} # This section to install additional OS packages. @@ -11,5 +11,10 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ # ARG EXTRA_NODE_VERSION=10 # RUN su node -c "umask 0002 && ./usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}" +RUN wget https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip \ + && unzip aws-sam-cli-linux-x86_64.zip -d sam-installation \ + && sudo ./sam-installation/install \ + && rm -rf sam-installation aws-sam-cli-linux-* + # Global node modules RUN su node -c "npm install -g npm-check-updates npm@next-8" diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index b4f8c88210..074180aad9 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -5,16 +5,16 @@ "build": { "dockerfile": "Dockerfile", // Update 'VARIANT' to pick a Node version: 16, 14, 12. - // Append -bullseye or -buster to pin to an OS version. - // Use -bullseye variants on local arm64/Apple Silicon. - "args": { "VARIANT": "14-bullseye" } + // Append -bullseye or -buster to pin to an OS version. + // Use -bullseye variants on local arm64/Apple Silicon. + "args": { + "VARIANT": "16-bullseye" + } }, - // Set *default* container specific settings.json values on container create. "settings": { "git.enableCommitSigning": true }, - // Add the IDs of extensions you want installed when the container is created. "extensions": [ "dbaeumer.vscode-eslint", @@ -25,10 +25,8 @@ "ms-vscode.vscode-typescript-tslint-plugin", "ms-azuretools.vscode-docker" ], - // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "npm ci; npm run lerna-ci; npm run init-environment", - + "postCreateCommand": "npm ci --foreground-scripts; cd examples/cdk; npm ci; cd ../sam; npm ci; cd ../../; npm run init-environment", // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. - "remoteUser": "node" + "remoteUser": "node" } \ No newline at end of file diff --git a/.github/workflows/on-merge-to-main.yml b/.github/workflows/on-merge-to-main.yml index 0a3429227c..607265c08b 100644 --- a/.github/workflows/on-merge-to-main.yml +++ b/.github/workflows/on-merge-to-main.yml @@ -21,10 +21,10 @@ jobs: ######################### # Release new version ######################### - - name: "Use NodeJS 14" + - name: "Use NodeJS 16" uses: actions/setup-node@v3 with: - node-version: '14' + node-version: '16' - name: Install npm@8.x run: npm i -g npm@next-8 - name: "Setup npm" @@ -39,6 +39,11 @@ jobs: # the dependencies in a separate step working-directory: ./examples/cdk run: npm ci + - name: "Setup SAM" + # We use an ad-hoc action so we can specify the SAM CLI version + uses: aws-actions/setup-sam@v2 + with: + version: 1.49.0 - name: Install SAM example packages # Since we are not managing the SAM examples with npm workspaces we install # the dependencies in a separate step diff --git a/.github/workflows/on-release-prod.yml b/.github/workflows/on-release-prod.yml index 5ee78f4c68..5acdb0fa82 100644 --- a/.github/workflows/on-release-prod.yml +++ b/.github/workflows/on-release-prod.yml @@ -21,10 +21,10 @@ jobs: ######################### # Release new version ######################### - - name: "Use NodeJS 14" + - name: "Use NodeJS 16" uses: actions/setup-node@v3 with: - node-version: '14' + node-version: '16' - name: Install npm@8.x run: npm i -g npm@next-8 - name: "Setup npm" @@ -39,6 +39,11 @@ jobs: # the dependencies in a separate step working-directory: ./examples/cdk run: npm ci + - name: "Setup SAM" + # We use an ad-hoc action so we can specify the SAM CLI version + uses: aws-actions/setup-sam@v2 + with: + version: 1.49.0 - name: Install SAM example packages # Since we are not managing the SAM examples with npm workspaces we install # the dependencies in a separate step diff --git a/.github/workflows/pr_lint_and_test.yml b/.github/workflows/pr_lint_and_test.yml index f825016d5c..7341f07d95 100644 --- a/.github/workflows/pr_lint_and_test.yml +++ b/.github/workflows/pr_lint_and_test.yml @@ -7,12 +7,16 @@ jobs: runs-on: ubuntu-latest env: NODE_ENV: dev + strategy: + matrix: + version: [12, 14, 16] + fail-fast: false steps: - uses: actions/checkout@v3 - - name: Set up Node + - name: "Use NodeJS" uses: actions/setup-node@v3 with: - node-version: '14' + node-version: ${{ matrix.version }} - name: Install npm@8.x run: npm i -g npm@next-8 - name: "Setup npm" @@ -27,6 +31,11 @@ jobs: # the dependencies in a separate step working-directory: ./examples/cdk run: npm ci + - name: "Setup SAM" + # We use an ad-hoc action so we can specify the SAM CLI version + uses: aws-actions/setup-sam@v2 + with: + version: 1.49.0 - name: Install SAM example packages # Since we are not managing the SAM examples with npm workspaces we install # the dependencies in a separate step diff --git a/.github/workflows/run-e2e-tests.yml b/.github/workflows/run-e2e-tests.yml index 59174b7610..7b17f76092 100644 --- a/.github/workflows/run-e2e-tests.yml +++ b/.github/workflows/run-e2e-tests.yml @@ -9,11 +9,10 @@ jobs: steps: - name: "Checkout" uses: actions/checkout@v3 - - name: "Use NodeJS 14" + - name: "Use NodeJS 16" uses: actions/setup-node@v3 with: - # Always use version 14 as we use TypeScript target es2020 - node-version: 14 + node-version: 16 - name: "Install npm@8.x" run: npm i -g npm@next-8 - name: "Install monorepo packages" @@ -25,6 +24,11 @@ jobs: # the dependencies in a separate step working-directory: ./examples/cdk run: npm ci + - name: "Setup SAM" + # We use an ad-hoc action so we can specify the SAM CLI version + uses: aws-actions/setup-sam@v2 + with: + version: 1.49.0 - name: Install SAM example packages # Since we are not managing the SAM examples with npm workspaces we install # the dependencies in a separate step @@ -43,16 +47,16 @@ jobs: contents: read strategy: matrix: - version: [12, 14] package: [logger, metrics, tracer] + version: [12, 14, 16] + fail-fast: false steps: - name: "Checkout" uses: actions/checkout@v3 - - name: "Use NodeJS 14" + - name: "Use NodeJS" uses: actions/setup-node@v3 with: - # Always use version 14 as we use TypeScript target es2020 - node-version: 14 + node-version: ${{ matrix.version }} - name: "Install npm@8.x" run: npm i -g npm@next-8 - name: "Install monorepo packages" diff --git a/.gitpod.yml b/.gitpod.yml index 65af352a5a..52661379c7 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -1,5 +1,26 @@ tasks: - - init: nvm install; nvm use; npm i -g npm@next-8; npm ci; npm run lerna-ci; npm run init-environment + - init: | + # Install Nodejs version specified in .nvmrc + nvm install + nvm use + # Install npm 8.x + npm i -g npm@next-8 + # Install monorepo packages + npm ci --foreground-scripts + # Install CDK exampels dependencies + cd examples/cdk + npm ci + # Install SAM exampels dependencies + cd ../sam + npm ci + # Install AWS SAM CLI + wget https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip + unzip aws-sam-cli-linux-x86_64.zip -d sam-installation + sudo ./sam-installation/install + rm -rf sam-installation aws-sam-cli-linux-* + cd ../../ + # Setup husky hooks + npm run init-environment vscode: extensions: - dbaeumer.vscode-eslint diff --git a/.nvmrc b/.nvmrc index 7480d3c856..53d838af21 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -lts/fermium \ No newline at end of file +lts/gallium diff --git a/CHANGELOG.md b/CHANGELOG.md index 83a6e173f9..e927636c74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,23 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.10.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.1...v0.10.0) (2022-06-02) + + +### Bug Fixes + +* **commons:** rename tests subfolder to samples to avoid being deleted by tools such as node-prune ([#882](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/882)) ([74ef816](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/74ef816830eca897d59881b1d260a146a2c9a47c)) + + +### Features + +* **all:** nodejs16x support ([#877](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/877)) ([d2b13c9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d2b13c945adb1a74b7c5f76d45f28a6979ce6429)) +* **logger:** add removeKeys functionality ([#901](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/901)) ([a0f72c2](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/a0f72c275270db33d382bff357f6054f552197e6)) + + + + + ## [0.9.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 301a291d15..90921e6df3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -57,15 +57,19 @@ reported the issue. Please try to include as much information as you can. Detail The following steps describe how to set up the AWS Lambda Powertools for TypeScript repository on your local machine. The alternative is to use a Cloud IDE like [Gitpod](https://www.gitpod.io/) or [Codespaces](https://github.com/features/codespaces) for your development. +[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/awslabs/aws-lambda-powertools-typescript) + ### Setup The following tools need to be installed on your system prior to starting working on a pull request: -- [Node.js >= 14.18.1](https://nodejs.org/download/release/latest-v14.x/) +- [Node.js >= 16.x](https://nodejs.org/download/release/latest-v16.x/) - We recommend using a version in [Active LTS](https://nodejs.org/en/about/releases/) - If you use [nvm](https://github.com/nvm-sh/nvm#nvmrc) or [fnm](https://github.com/Schniz/fnm) you can install the latest LTS version with `nvm use` or `fnm use` respectively. Both will use the `.nvmrc` file in the project's root. - [npm 8.x](https://www.npmjs.com/) - After installing Node.js, you can install `npm` with `npm install -g npm@next-8` +- [AWS SAM CLI >= 1.49.0](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html) + - AWS SAM CLI is a command line interface for AWS Serverless Application Model (SAM), it's used in one of the examples, and it's part of the pre-push hook. - [Docker](https://docs.docker.com/get-docker/) - If you are not planning on making changes to the documentation, you can skip this step. @@ -74,10 +78,7 @@ First, [fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) the ```console git clone https://github.com/{your-account}/aws-lambda-powertools-typescript.git cd aws-lambda-powertools-typescript -npm ci; -cd examples/cdk; npm ci -cd ../.. -npm run init-environment +npm run setup-local ``` We recommend that you use [Visual Studio Code](https://code.visualstudio.com/) to work on the repo. @@ -195,26 +196,34 @@ You can run the end-to-end tests automatically on your forked project by followi ### Examples -As part of the repo you will find an examples folder at the root. This folder contains examples (written with CDK for now) of deployable AWS Lambda functions using Powertools. +As part of the repo you will find an examples folder at the root. This folder contains examples (written with CDK and SAM) of deployable AWS Lambda functions using Powertools. To test your updates with these examples, you just have to: -1. Build your local version of *aws-lambda-powertools-typescript* npm packages with `npm run lerna-package` -2. Update their references in examples +1. Build your local version of *aws-lambda-powertools-typescript* npm packages with `npm run lerna-package` while in the root folder +2. Move to the examples folder of your choice + ```sh + cd packages/examples/cdk + # or + cd packages/examples/sam ``` - cd examples/cdk +3. Update their references in examples + ```sh npm install ../../packages/**/dist/aws-lambda-powertools-* ``` -3. Run cdk tests - ``` +4. Run cdk tests + ```sh npm run test ``` -4. Deploy - ``` +5. Deploy + ```sh npm run cdk deploy + # or + sam build --beta-features + sam deploy --guided ``` -The last command will deploy AWS resources, therefore, you will need an AWS account, and it might incur some costs which should be covered by the [AWS Free Tier](https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all). If you don't have an AWS Account, follow [these instructions to create one](https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/). +The last step will deploy AWS resources, therefore, you will need an AWS account, and it might incur some costs which should be covered by the [AWS Free Tier](https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all). If you don't have an AWS Account, follow [these instructions to create one](https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/). ### Local documentation @@ -250,7 +259,7 @@ Contributions via pull requests are much appreciated. ### Summary -* This project uses `node@14.x` and `npm@8.x` for development (see [Setup](#setup)). +* This project uses `node@16.x` and `npm@8.x` for development (see [Setup](#setup)). * Before opening a Pull Request, please find the existing related issue or open a new one to discuss the proposed changes. A PR without a related issue or discussion has a high risk of being rejected. We are very appreciative and thankful for your time and efforts, and we want to make sure they are not wasted. * After your proposal has been reviewed and accepted by at least one of the project's maintainers, you can submit a pull request. * When opening a PR, make sure to follow the checklist inside the pull request template. diff --git a/README.md b/README.md index 43d43631f1..3db5a22b10 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A suite of TypeScript utilities for AWS Lambda functions to ease adopting best practices such as tracing, structured logging, custom metrics, and more. (AWS Lambda Powertools for [Python](https://github.com/awslabs/aws-lambda-powertools-python) and AWS Lambda Powertools for [Java](https://github.com/awslabs/aws-lambda-powertools-java) are also available). -**[📜 Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[NPM](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://github.com/awslabs/aws-lambda-powertools-roadmap/projects/1)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk)** +**[📜 Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[NPM](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://github.com/awslabs/aws-lambda-powertools-roadmap/projects/1)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples)** > **An AWS Developer Acceleration (DevAx) initiative by Specialist Solution Architects | aws-devax-open-source@amazon.com** @@ -44,9 +44,7 @@ Each TypeScript utility is installed as standalone NPM package. ### Examples * [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) -* [Tracer](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk/src) -* [Logger](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logger/examples) -* [Metrics](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/metrics/examples) +* [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) ## Credits diff --git a/docs/core/logger.md b/docs/core/logger.md index 6a34cab816..f4ae99ca9c 100644 --- a/docs/core/logger.md +++ b/docs/core/logger.md @@ -82,7 +82,7 @@ For a **complete list** of supported environment variables, refer to [this secti ShoppingCartApiFunction: Type: AWS::Serverless::Function Properties: - Runtime: nodejs14.x + Runtime: nodejs16.x Environment: Variables: LOG_LEVEL: WARN @@ -200,9 +200,12 @@ You can append additional persistent keys and values in the logs generated durin * Via the Logger's `appendKeys` method, for all log items generated after calling this method * Passing them in the Logger's constructor +To remove the keys you added, you can use the `removeKeys` method. + + === "handler.ts" - ```typescript hl_lines="5-12 16-23" + ```typescript hl_lines="5-13 17-25 30" import { Logger } from '@aws-lambda-powertools/logger'; // Add persistent log keys via the constructor @@ -213,7 +216,8 @@ You can append additional persistent keys and values in the logs generated durin logger: { name: '@aws-lambda-powertools/logger', version: '0.0.1', - } + }, + extra_key: "some-value" } }); @@ -224,10 +228,14 @@ You can append additional persistent keys and values in the logs generated durin // logger: { // name: '@aws-lambda-powertools/logger', // version: '0.0.1', - // } + // }, + // extra_key: "some-value" // }); export const handler = async (_event: any, _context: any): Promise => { + + // If you don't want to log the "extra_key" attribute in your logs, you can remove it + logger.removeKeys(["extra_key"]) // This info log will print all extra custom attributes added above // Extra attributes: logger object with name and version of the logger library, awsAccountId, awsRegion @@ -271,6 +279,7 @@ You can append additional persistent keys and values in the logs generated durin } ``` + !!! tip "Logger will automatically ignore any key with an `undefined` value" ### Appending additional data to a single log item @@ -787,4 +796,4 @@ This is a Jest sample that provides the minimum information necessary for Logger ``` !!! tip - If you don't want to declare your own dummy Lambda Context, you can use [`ContextExamples.helloworldContext`](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/main/packages/commons/src/tests/resources/contexts/hello-world.ts#L3-L16) from [`@aws-lambda-powertools/commons`](https://www.npmjs.com/package/@aws-lambda-powertools/commons). + If you don't want to declare your own dummy Lambda Context, you can use [`ContextExamples.helloworldContext`](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/main/packages/commons/src/samples/resources/contexts/hello-world.ts#L3-L16) from [`@aws-lambda-powertools/commons`](https://www.npmjs.com/package/@aws-lambda-powertools/commons). diff --git a/docs/core/metrics.md b/docs/core/metrics.md index c3d1fe873e..bfe04aa609 100644 --- a/docs/core/metrics.md +++ b/docs/core/metrics.md @@ -101,7 +101,7 @@ The `Metrics` utility is instantiated outside of the Lambda handler. In doing th HelloWorldFunction: Type: AWS::Serverless::Function Properties: - Runtime: nodejs14.x + Runtime: nodejs16.x Environment: Variables: POWERTOOLS_SERVICE_NAME: orders diff --git a/docs/core/tracer.md b/docs/core/tracer.md index 8f24399847..4f8241f1e2 100644 --- a/docs/core/tracer.md +++ b/docs/core/tracer.md @@ -88,7 +88,7 @@ The `Tracer` utility is instantiated outside of the Lambda handler. In doing thi HelloWorldFunction: Type: AWS::Serverless::Function Properties: - Runtime: nodejs14.x + Runtime: nodejs16.x Tracing: Active Environment: Variables: diff --git a/docs/index.md b/docs/index.md index 48b60e850c..aace91263e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -63,9 +63,7 @@ Each TypeScript utility is installed as standalone NPM package. ## Examples * [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk){target="_blank"} -* [Tracer](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk/lib){target="_blank"} -* [Logger](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logger/examples){target="_blank"} -* [Metrics](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/metrics/examples){target="_blank"} +* [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam){target="_blank"} ## Credits diff --git a/examples/cdk/CHANGELOG.md b/examples/cdk/CHANGELOG.md index f3fc54f0e4..2d24d3e3d6 100644 --- a/examples/cdk/CHANGELOG.md +++ b/examples/cdk/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.10.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.1...v0.10.0) (2022-06-02) + + +### Features + +* **all:** nodejs16x support ([#877](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/877)) ([d2b13c9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d2b13c945adb1a74b7c5f76d45f28a6979ce6429)) + + + + + ## [0.9.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) **Note:** Version bump only for package cdk-app diff --git a/examples/cdk/package-lock.json b/examples/cdk/package-lock.json index 4d3c120b7d..e1e7f0ab60 100644 --- a/examples/cdk/package-lock.json +++ b/examples/cdk/package-lock.json @@ -1,12 +1,12 @@ { "name": "cdk-app", - "version": "0.9.1", + "version": "0.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cdk-app", - "version": "0.9.1", + "version": "0.10.0", "license": "MIT-0", "dependencies": { "@aws-lambda-powertools/logger": "^0.7.0", @@ -15,7 +15,7 @@ "@aws-sdk/client-sts": "^3.53.0", "@middy/core": "^2.5.6", "@types/aws-lambda": "^8.10.86", - "aws-cdk-lib": "2.24.1", + "aws-cdk-lib": "2.25.0", "aws-sdk": "^2.1088.0", "constructs": "^10.0.82", "source-map-support": "^0.5.16" @@ -1433,22 +1433,13 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, "node_modules/@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "dependencies": { - "@cspotcode/source-map-consumer": "0.8.0" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { "node": ">=12" @@ -1919,9 +1910,9 @@ "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", - "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", @@ -2273,9 +2264,9 @@ } }, "node_modules/aws-cdk-lib": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.24.1.tgz", - "integrity": "sha512-xGeEX+9wPGppSiIUdf/JTLMmqMikGhlSi7bjijl3lwncZtySkdjX0j+W2A1fuKp0S8Yd2axkwVkltIMxzNH/gw==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.25.0.tgz", + "integrity": "sha512-rcQeQu/lTmi1tg5DwV0gBqJtF73khApfHt9n7BIHkKbUWvCB50lIL1Q1/7cHvTicfQ62UnwFoPWwB0YqQceDVQ==", "bundleDependencies": [ "@balena/dockerignore", "case", @@ -2876,9 +2867,9 @@ "dev": true }, "node_modules/constructs": { - "version": "10.1.12", - "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.12.tgz", - "integrity": "sha512-u9WKNab4gwzdSxQg1BjVP6g5xDDV1j9mwVL5Z/EYRycCYn3XWDXPK5qLt4hQ45d68TqZ5tGOV075fNPWL5DB1w==", + "version": "10.1.19", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.19.tgz", + "integrity": "sha512-fkwDjoJ1LW8sjfXDkSftTJnoQm3+EmsKyM8i+bgQh/n5zOAvW9znMU7o3qooKiGJZ8iJtvkEX54I6ZRGrmJhYw==", "engines": { "node": ">= 14.17.0" } @@ -3101,9 +3092,9 @@ } }, "node_modules/esbuild": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.39.tgz", - "integrity": "sha512-2kKujuzvRWYtwvNjYDY444LQIA3TyJhJIX3Yo4+qkFlDDtGlSicWgeHVJqMUP/2sSfH10PGwfsj+O2ro1m10xQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.40.tgz", + "integrity": "sha512-toIoQk3ODEEIudsN74wXGdw1eiUN4aKRijOqiwEAqfUFlhORPYFJtACzRdRRlpUysRUUlvIUoGE1aw/MIVCWnA==", "dev": true, "hasInstallScript": true, "bin": { @@ -3113,32 +3104,32 @@ "node": ">=12" }, "optionalDependencies": { - "esbuild-android-64": "0.14.39", - "esbuild-android-arm64": "0.14.39", - "esbuild-darwin-64": "0.14.39", - "esbuild-darwin-arm64": "0.14.39", - "esbuild-freebsd-64": "0.14.39", - "esbuild-freebsd-arm64": "0.14.39", - "esbuild-linux-32": "0.14.39", - "esbuild-linux-64": "0.14.39", - "esbuild-linux-arm": "0.14.39", - "esbuild-linux-arm64": "0.14.39", - "esbuild-linux-mips64le": "0.14.39", - "esbuild-linux-ppc64le": "0.14.39", - "esbuild-linux-riscv64": "0.14.39", - "esbuild-linux-s390x": "0.14.39", - "esbuild-netbsd-64": "0.14.39", - "esbuild-openbsd-64": "0.14.39", - "esbuild-sunos-64": "0.14.39", - "esbuild-windows-32": "0.14.39", - "esbuild-windows-64": "0.14.39", - "esbuild-windows-arm64": "0.14.39" + "esbuild-android-64": "0.14.40", + "esbuild-android-arm64": "0.14.40", + "esbuild-darwin-64": "0.14.40", + "esbuild-darwin-arm64": "0.14.40", + "esbuild-freebsd-64": "0.14.40", + "esbuild-freebsd-arm64": "0.14.40", + "esbuild-linux-32": "0.14.40", + "esbuild-linux-64": "0.14.40", + "esbuild-linux-arm": "0.14.40", + "esbuild-linux-arm64": "0.14.40", + "esbuild-linux-mips64le": "0.14.40", + "esbuild-linux-ppc64le": "0.14.40", + "esbuild-linux-riscv64": "0.14.40", + "esbuild-linux-s390x": "0.14.40", + "esbuild-netbsd-64": "0.14.40", + "esbuild-openbsd-64": "0.14.40", + "esbuild-sunos-64": "0.14.40", + "esbuild-windows-32": "0.14.40", + "esbuild-windows-64": "0.14.40", + "esbuild-windows-arm64": "0.14.40" } }, "node_modules/esbuild-android-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.39.tgz", - "integrity": "sha512-EJOu04p9WgZk0UoKTqLId9VnIsotmI/Z98EXrKURGb3LPNunkeffqQIkjS2cAvidh+OK5uVrXaIP229zK6GvhQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.40.tgz", + "integrity": "sha512-+69t+bmJWWhTyG8waJZcu4UGzM4NbDXAwssTEDYwonyz6L/Is11Y3csJhE16RM0a1GeDin0n810vNP+NVjttKA==", "cpu": [ "x64" ], @@ -3152,9 +3143,9 @@ } }, "node_modules/esbuild-android-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.39.tgz", - "integrity": "sha512-+twajJqO7n3MrCz9e+2lVOnFplRsaGRwsq1KL/uOy7xK7QdRSprRQcObGDeDZUZsacD5gUkk6OiHiYp6RzU3CA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.40.tgz", + "integrity": "sha512-lVDn4d7/NL5Svrxuskmd/YcluI6uI4Ebp7A1/tWyLJJYbvfIy5l4Vy8GMhErGLePbRyJJiuBP9xusapK4u+6bg==", "cpu": [ "arm64" ], @@ -3168,9 +3159,9 @@ } }, "node_modules/esbuild-darwin-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.39.tgz", - "integrity": "sha512-ImT6eUw3kcGcHoUxEcdBpi6LfTRWaV6+qf32iYYAfwOeV+XaQ/Xp5XQIBiijLeo+LpGci9M0FVec09nUw41a5g==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.40.tgz", + "integrity": "sha512-b5u3IXCHhOjkRHIQTSxCN7ObUR5NTyJCP9LrnJ69dEEi1w1usI40T/VNyTTCs7n0UgEH7/zi27vBxbZU+sU4Ew==", "cpu": [ "x64" ], @@ -3184,9 +3175,9 @@ } }, "node_modules/esbuild-darwin-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.39.tgz", - "integrity": "sha512-/fcQ5UhE05OiT+bW5v7/up1bDsnvaRZPJxXwzXsMRrr7rZqPa85vayrD723oWMT64dhrgWeA3FIneF8yER0XTw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.40.tgz", + "integrity": "sha512-Wn0C2nrZSANvzK9efcxjKpv9l8yUC4PtYMmnf775gUNwak7sqecuoelhbUTshhrwsfjCNfjsrUhsHY2OHUiEdw==", "cpu": [ "arm64" ], @@ -3200,9 +3191,9 @@ } }, "node_modules/esbuild-freebsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.39.tgz", - "integrity": "sha512-oMNH8lJI4wtgN5oxuFP7BQ22vgB/e3Tl5Woehcd6i2r6F3TszpCnNl8wo2d/KvyQ4zvLvCWAlRciumhQg88+kQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.40.tgz", + "integrity": "sha512-B9WZNUn7Y9f97xrQGBAQPKsebeFZzAd+JCdsLCexrVfTjB24b+/Iuq5O2z/q5Meg7Yz0S+j8AO6ncpvNkK2u0w==", "cpu": [ "x64" ], @@ -3216,9 +3207,9 @@ } }, "node_modules/esbuild-freebsd-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.39.tgz", - "integrity": "sha512-1GHK7kwk57ukY2yI4ILWKJXaxfr+8HcM/r/JKCGCPziIVlL+Wi7RbJ2OzMcTKZ1HpvEqCTBT/J6cO4ZEwW4Ypg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.40.tgz", + "integrity": "sha512-3aB9uJv2/lmQNzwmieNyyOdxKi+3ERwrqf3snBu/oEng8b7nMBNrEN+p7jjkTYNYmo291KiH/5EIAXwpsZndFw==", "cpu": [ "arm64" ], @@ -3232,9 +3223,9 @@ } }, "node_modules/esbuild-linux-32": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.39.tgz", - "integrity": "sha512-g97Sbb6g4zfRLIxHgW2pc393DjnkTRMeq3N1rmjDUABxpx8SjocK4jLen+/mq55G46eE2TA0MkJ4R3SpKMu7dg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.40.tgz", + "integrity": "sha512-LMI9BMeuGf6NRS23LbyVarN3nf+JyNcfiVEnR9M8691kL5Ffp3e7oTYRH65XdTUirM9D6e5cppfWLjvrRbGnRw==", "cpu": [ "ia32" ], @@ -3248,9 +3239,9 @@ } }, "node_modules/esbuild-linux-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.39.tgz", - "integrity": "sha512-4tcgFDYWdI+UbNMGlua9u1Zhu0N5R6u9tl5WOM8aVnNX143JZoBZLpCuUr5lCKhnD0SCO+5gUyMfupGrHtfggQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.40.tgz", + "integrity": "sha512-D/NkZ9QR2KShJXNuRWANxJzPCrwJoAoWVetQiGIAepzXbNh+dBo5ZLmlh8Txs6tE600N67MF/ScHP1S4FxLaJg==", "cpu": [ "x64" ], @@ -3264,9 +3255,9 @@ } }, "node_modules/esbuild-linux-arm": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.39.tgz", - "integrity": "sha512-t0Hn1kWVx5UpCzAJkKRfHeYOLyFnXwYynIkK54/h3tbMweGI7dj400D1k0Vvtj2u1P+JTRT9tx3AjtLEMmfVBQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.40.tgz", + "integrity": "sha512-2a0yZXbzr/s3iCgZ84jFTHf+NyyXQ/7/Sd28oQq5iyy7TbJNS973XUOwgdlHdRqBxvw0nIWTw2FuwyUJAFa6Qg==", "cpu": [ "arm" ], @@ -3280,9 +3271,9 @@ } }, "node_modules/esbuild-linux-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.39.tgz", - "integrity": "sha512-23pc8MlD2D6Px1mV8GMglZlKgwgNKAO8gsgsLLcXWSs9lQsCYkIlMo/2Ycfo5JrDIbLdwgP8D2vpfH2KcBqrDQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.40.tgz", + "integrity": "sha512-TIoZWKjrMJxZujh2nSsrrLkLDLzD/oBpSiobdUGe2bqKZpT4m7fkR0tEDNyM6Xvzj9uTQ4iTfJr2ekmpg3DyTQ==", "cpu": [ "arm64" ], @@ -3296,9 +3287,9 @@ } }, "node_modules/esbuild-linux-mips64le": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.39.tgz", - "integrity": "sha512-epwlYgVdbmkuRr5n4es3B+yDI0I2e/nxhKejT9H0OLxFAlMkeQZxSpxATpDc9m8NqRci6Kwyb/SfmD1koG2Zuw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.40.tgz", + "integrity": "sha512-SP30CYYSDMwr6mPUbjvD4K2R03GQHIQGrkrbXt5NM6mFqzR+S+JKVv9juq/CjlM9V7iIPPPqe4mb4DWC3b8pBw==", "cpu": [ "mips64el" ], @@ -3312,9 +3303,9 @@ } }, "node_modules/esbuild-linux-ppc64le": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.39.tgz", - "integrity": "sha512-W/5ezaq+rQiQBThIjLMNjsuhPHg+ApVAdTz2LvcuesZFMsJoQAW2hutoyg47XxpWi7aEjJGrkS26qCJKhRn3QQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.40.tgz", + "integrity": "sha512-HlU3dfIdwzm/zhbXvMa5yWIafBeI7v6BDaEuApAww5Av8ht7lXgD1fZ11iJVPjRWNLcCZUgZaJKFrosSPQO/Bw==", "cpu": [ "ppc64" ], @@ -3328,9 +3319,9 @@ } }, "node_modules/esbuild-linux-riscv64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.39.tgz", - "integrity": "sha512-IS48xeokcCTKeQIOke2O0t9t14HPvwnZcy+5baG13Z1wxs9ZrC5ig5ypEQQh4QMKxURD5TpCLHw2W42CLuVZaA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.40.tgz", + "integrity": "sha512-4ImTBEUykhIcIq3c97dIXnsmAHb//cjHh4nxttLhwpTZ+b/KdM1IpttqFhB0AFLUsrjP4WOCMxAm5FOL7FC2uw==", "cpu": [ "riscv64" ], @@ -3344,9 +3335,9 @@ } }, "node_modules/esbuild-linux-s390x": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.39.tgz", - "integrity": "sha512-zEfunpqR8sMomqXhNTFEKDs+ik7HC01m3M60MsEjZOqaywHu5e5682fMsqOlZbesEAAaO9aAtRBsU7CHnSZWyA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.40.tgz", + "integrity": "sha512-kFCPKictYjpt5rt0bFdbSmb8AWut75sIh1fZUTCVkujWMcpdL8ADuYMfVrN7R0CSQvkF1nQtrIBfp+ZU7R7KNQ==", "cpu": [ "s390x" ], @@ -3360,9 +3351,9 @@ } }, "node_modules/esbuild-netbsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.39.tgz", - "integrity": "sha512-Uo2suJBSIlrZCe4E0k75VDIFJWfZy+bOV6ih3T4MVMRJh1lHJ2UyGoaX4bOxomYN3t+IakHPyEoln1+qJ1qYaA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.40.tgz", + "integrity": "sha512-Hwzw2cSI6+p03TUjugzec54W6uW4tA1J/WovmlHl96Icjy73eWnAyCQwgG6ZLirXpt2aDfTEVShNaC2fE4KVhQ==", "cpu": [ "x64" ], @@ -3376,9 +3367,9 @@ } }, "node_modules/esbuild-openbsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.39.tgz", - "integrity": "sha512-secQU+EpgUPpYjJe3OecoeGKVvRMLeKUxSMGHnK+aK5uQM3n1FPXNJzyz1LHFOo0WOyw+uoCxBYdM4O10oaCAA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.40.tgz", + "integrity": "sha512-L4Pix+N2Sb0HvLl8zyn1Aq2aYD5Jt8rk9zwW3NUx19yafJqAFsnUN7L/XbbWSv5/XMqnY4hpAvIP2pyeV9+Bjw==", "cpu": [ "x64" ], @@ -3392,9 +3383,9 @@ } }, "node_modules/esbuild-sunos-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.39.tgz", - "integrity": "sha512-qHq0t5gePEDm2nqZLb+35p/qkaXVS7oIe32R0ECh2HOdiXXkj/1uQI9IRogGqKkK+QjDG+DhwiUw7QoHur/Rwg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.40.tgz", + "integrity": "sha512-iEITaelmmCO43ewk0bOYRGrewu2i2h2V0gKHQ/rz1MRqif8ohY/FNLn4WnThGUlrEgA1nTL1tc57PL12QbOo2Q==", "cpu": [ "x64" ], @@ -3408,9 +3399,9 @@ } }, "node_modules/esbuild-windows-32": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.39.tgz", - "integrity": "sha512-XPjwp2OgtEX0JnOlTgT6E5txbRp6Uw54Isorm3CwOtloJazeIWXuiwK0ONJBVb/CGbiCpS7iP2UahGgd2p1x+Q==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.40.tgz", + "integrity": "sha512-uXHmKl4RtCkK1v6QQK4hsP8Xiku6CwUM/W7Yv2rGtfylSOrrWKcpqwlDWx6bIm1Hav1uBC8hbgJ1hY6pWFNhNA==", "cpu": [ "ia32" ], @@ -3424,9 +3415,9 @@ } }, "node_modules/esbuild-windows-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.39.tgz", - "integrity": "sha512-E2wm+5FwCcLpKsBHRw28bSYQw0Ikxb7zIMxw3OPAkiaQhLVr3dnVO8DofmbWhhf6b97bWzg37iSZ45ZDpLw7Ow==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.40.tgz", + "integrity": "sha512-dvgQLVYnJzqce97AeHvxWtV9lHRDxIPatOikmrh1vt/SCE4tyVo5nAT/2SiZBJ6DzYmZT3BcJTV24bBLyu4ZUA==", "cpu": [ "x64" ], @@ -3440,9 +3431,9 @@ } }, "node_modules/esbuild-windows-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.39.tgz", - "integrity": "sha512-sBZQz5D+Gd0EQ09tZRnz/PpVdLwvp/ufMtJ1iDFYddDaPpZXKqPyaxfYBLs3ueiaksQ26GGa7sci0OqFzNs7KA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.40.tgz", + "integrity": "sha512-c8ohQSFtRq78pZ/LQcpMft2xuR2IEitQkW07f9K7iN4EBdJMrCpOoXrZCfmX9lAC8yYOU7xHoLFYVln3n6fK1Q==", "cpu": [ "arm64" ], @@ -6229,12 +6220,12 @@ } }, "node_modules/ts-node": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", - "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", + "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", "dev": true, "dependencies": { - "@cspotcode/source-map-support": "0.7.0", + "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", @@ -6245,7 +6236,7 @@ "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", + "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "bin": { @@ -6372,9 +6363,9 @@ } }, "node_modules/v8-compile-cache-lib": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", - "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, "node_modules/v8-to-istanbul": { @@ -7764,19 +7755,13 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true - }, "@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "requires": { - "@cspotcode/source-map-consumer": "0.8.0" + "@jridgewell/trace-mapping": "0.3.9" } }, "@istanbuljs/load-nyc-config": { @@ -8181,9 +8166,9 @@ "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", - "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.0.3", @@ -8486,9 +8471,9 @@ } }, "aws-cdk-lib": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.24.1.tgz", - "integrity": "sha512-xGeEX+9wPGppSiIUdf/JTLMmqMikGhlSi7bjijl3lwncZtySkdjX0j+W2A1fuKp0S8Yd2axkwVkltIMxzNH/gw==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.25.0.tgz", + "integrity": "sha512-rcQeQu/lTmi1tg5DwV0gBqJtF73khApfHt9n7BIHkKbUWvCB50lIL1Q1/7cHvTicfQ62UnwFoPWwB0YqQceDVQ==", "requires": { "@balena/dockerignore": "^1.0.2", "case": "1.6.3", @@ -8926,9 +8911,9 @@ "dev": true }, "constructs": { - "version": "10.1.12", - "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.12.tgz", - "integrity": "sha512-u9WKNab4gwzdSxQg1BjVP6g5xDDV1j9mwVL5Z/EYRycCYn3XWDXPK5qLt4hQ45d68TqZ5tGOV075fNPWL5DB1w==" + "version": "10.1.19", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.19.tgz", + "integrity": "sha512-fkwDjoJ1LW8sjfXDkSftTJnoQm3+EmsKyM8i+bgQh/n5zOAvW9znMU7o3qooKiGJZ8iJtvkEX54I6ZRGrmJhYw==" }, "convert-source-map": { "version": "1.8.0", @@ -9105,170 +9090,170 @@ } }, "esbuild": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.39.tgz", - "integrity": "sha512-2kKujuzvRWYtwvNjYDY444LQIA3TyJhJIX3Yo4+qkFlDDtGlSicWgeHVJqMUP/2sSfH10PGwfsj+O2ro1m10xQ==", - "dev": true, - "requires": { - "esbuild-android-64": "0.14.39", - "esbuild-android-arm64": "0.14.39", - "esbuild-darwin-64": "0.14.39", - "esbuild-darwin-arm64": "0.14.39", - "esbuild-freebsd-64": "0.14.39", - "esbuild-freebsd-arm64": "0.14.39", - "esbuild-linux-32": "0.14.39", - "esbuild-linux-64": "0.14.39", - "esbuild-linux-arm": "0.14.39", - "esbuild-linux-arm64": "0.14.39", - "esbuild-linux-mips64le": "0.14.39", - "esbuild-linux-ppc64le": "0.14.39", - "esbuild-linux-riscv64": "0.14.39", - "esbuild-linux-s390x": "0.14.39", - "esbuild-netbsd-64": "0.14.39", - "esbuild-openbsd-64": "0.14.39", - "esbuild-sunos-64": "0.14.39", - "esbuild-windows-32": "0.14.39", - "esbuild-windows-64": "0.14.39", - "esbuild-windows-arm64": "0.14.39" + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.40.tgz", + "integrity": "sha512-toIoQk3ODEEIudsN74wXGdw1eiUN4aKRijOqiwEAqfUFlhORPYFJtACzRdRRlpUysRUUlvIUoGE1aw/MIVCWnA==", + "dev": true, + "requires": { + "esbuild-android-64": "0.14.40", + "esbuild-android-arm64": "0.14.40", + "esbuild-darwin-64": "0.14.40", + "esbuild-darwin-arm64": "0.14.40", + "esbuild-freebsd-64": "0.14.40", + "esbuild-freebsd-arm64": "0.14.40", + "esbuild-linux-32": "0.14.40", + "esbuild-linux-64": "0.14.40", + "esbuild-linux-arm": "0.14.40", + "esbuild-linux-arm64": "0.14.40", + "esbuild-linux-mips64le": "0.14.40", + "esbuild-linux-ppc64le": "0.14.40", + "esbuild-linux-riscv64": "0.14.40", + "esbuild-linux-s390x": "0.14.40", + "esbuild-netbsd-64": "0.14.40", + "esbuild-openbsd-64": "0.14.40", + "esbuild-sunos-64": "0.14.40", + "esbuild-windows-32": "0.14.40", + "esbuild-windows-64": "0.14.40", + "esbuild-windows-arm64": "0.14.40" } }, "esbuild-android-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.39.tgz", - "integrity": "sha512-EJOu04p9WgZk0UoKTqLId9VnIsotmI/Z98EXrKURGb3LPNunkeffqQIkjS2cAvidh+OK5uVrXaIP229zK6GvhQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.40.tgz", + "integrity": "sha512-+69t+bmJWWhTyG8waJZcu4UGzM4NbDXAwssTEDYwonyz6L/Is11Y3csJhE16RM0a1GeDin0n810vNP+NVjttKA==", "dev": true, "optional": true }, "esbuild-android-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.39.tgz", - "integrity": "sha512-+twajJqO7n3MrCz9e+2lVOnFplRsaGRwsq1KL/uOy7xK7QdRSprRQcObGDeDZUZsacD5gUkk6OiHiYp6RzU3CA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.40.tgz", + "integrity": "sha512-lVDn4d7/NL5Svrxuskmd/YcluI6uI4Ebp7A1/tWyLJJYbvfIy5l4Vy8GMhErGLePbRyJJiuBP9xusapK4u+6bg==", "dev": true, "optional": true }, "esbuild-darwin-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.39.tgz", - "integrity": "sha512-ImT6eUw3kcGcHoUxEcdBpi6LfTRWaV6+qf32iYYAfwOeV+XaQ/Xp5XQIBiijLeo+LpGci9M0FVec09nUw41a5g==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.40.tgz", + "integrity": "sha512-b5u3IXCHhOjkRHIQTSxCN7ObUR5NTyJCP9LrnJ69dEEi1w1usI40T/VNyTTCs7n0UgEH7/zi27vBxbZU+sU4Ew==", "dev": true, "optional": true }, "esbuild-darwin-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.39.tgz", - "integrity": "sha512-/fcQ5UhE05OiT+bW5v7/up1bDsnvaRZPJxXwzXsMRrr7rZqPa85vayrD723oWMT64dhrgWeA3FIneF8yER0XTw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.40.tgz", + "integrity": "sha512-Wn0C2nrZSANvzK9efcxjKpv9l8yUC4PtYMmnf775gUNwak7sqecuoelhbUTshhrwsfjCNfjsrUhsHY2OHUiEdw==", "dev": true, "optional": true }, "esbuild-freebsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.39.tgz", - "integrity": "sha512-oMNH8lJI4wtgN5oxuFP7BQ22vgB/e3Tl5Woehcd6i2r6F3TszpCnNl8wo2d/KvyQ4zvLvCWAlRciumhQg88+kQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.40.tgz", + "integrity": "sha512-B9WZNUn7Y9f97xrQGBAQPKsebeFZzAd+JCdsLCexrVfTjB24b+/Iuq5O2z/q5Meg7Yz0S+j8AO6ncpvNkK2u0w==", "dev": true, "optional": true }, "esbuild-freebsd-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.39.tgz", - "integrity": "sha512-1GHK7kwk57ukY2yI4ILWKJXaxfr+8HcM/r/JKCGCPziIVlL+Wi7RbJ2OzMcTKZ1HpvEqCTBT/J6cO4ZEwW4Ypg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.40.tgz", + "integrity": "sha512-3aB9uJv2/lmQNzwmieNyyOdxKi+3ERwrqf3snBu/oEng8b7nMBNrEN+p7jjkTYNYmo291KiH/5EIAXwpsZndFw==", "dev": true, "optional": true }, "esbuild-linux-32": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.39.tgz", - "integrity": "sha512-g97Sbb6g4zfRLIxHgW2pc393DjnkTRMeq3N1rmjDUABxpx8SjocK4jLen+/mq55G46eE2TA0MkJ4R3SpKMu7dg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.40.tgz", + "integrity": "sha512-LMI9BMeuGf6NRS23LbyVarN3nf+JyNcfiVEnR9M8691kL5Ffp3e7oTYRH65XdTUirM9D6e5cppfWLjvrRbGnRw==", "dev": true, "optional": true }, "esbuild-linux-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.39.tgz", - "integrity": "sha512-4tcgFDYWdI+UbNMGlua9u1Zhu0N5R6u9tl5WOM8aVnNX143JZoBZLpCuUr5lCKhnD0SCO+5gUyMfupGrHtfggQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.40.tgz", + "integrity": "sha512-D/NkZ9QR2KShJXNuRWANxJzPCrwJoAoWVetQiGIAepzXbNh+dBo5ZLmlh8Txs6tE600N67MF/ScHP1S4FxLaJg==", "dev": true, "optional": true }, "esbuild-linux-arm": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.39.tgz", - "integrity": "sha512-t0Hn1kWVx5UpCzAJkKRfHeYOLyFnXwYynIkK54/h3tbMweGI7dj400D1k0Vvtj2u1P+JTRT9tx3AjtLEMmfVBQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.40.tgz", + "integrity": "sha512-2a0yZXbzr/s3iCgZ84jFTHf+NyyXQ/7/Sd28oQq5iyy7TbJNS973XUOwgdlHdRqBxvw0nIWTw2FuwyUJAFa6Qg==", "dev": true, "optional": true }, "esbuild-linux-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.39.tgz", - "integrity": "sha512-23pc8MlD2D6Px1mV8GMglZlKgwgNKAO8gsgsLLcXWSs9lQsCYkIlMo/2Ycfo5JrDIbLdwgP8D2vpfH2KcBqrDQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.40.tgz", + "integrity": "sha512-TIoZWKjrMJxZujh2nSsrrLkLDLzD/oBpSiobdUGe2bqKZpT4m7fkR0tEDNyM6Xvzj9uTQ4iTfJr2ekmpg3DyTQ==", "dev": true, "optional": true }, "esbuild-linux-mips64le": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.39.tgz", - "integrity": "sha512-epwlYgVdbmkuRr5n4es3B+yDI0I2e/nxhKejT9H0OLxFAlMkeQZxSpxATpDc9m8NqRci6Kwyb/SfmD1koG2Zuw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.40.tgz", + "integrity": "sha512-SP30CYYSDMwr6mPUbjvD4K2R03GQHIQGrkrbXt5NM6mFqzR+S+JKVv9juq/CjlM9V7iIPPPqe4mb4DWC3b8pBw==", "dev": true, "optional": true }, "esbuild-linux-ppc64le": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.39.tgz", - "integrity": "sha512-W/5ezaq+rQiQBThIjLMNjsuhPHg+ApVAdTz2LvcuesZFMsJoQAW2hutoyg47XxpWi7aEjJGrkS26qCJKhRn3QQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.40.tgz", + "integrity": "sha512-HlU3dfIdwzm/zhbXvMa5yWIafBeI7v6BDaEuApAww5Av8ht7lXgD1fZ11iJVPjRWNLcCZUgZaJKFrosSPQO/Bw==", "dev": true, "optional": true }, "esbuild-linux-riscv64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.39.tgz", - "integrity": "sha512-IS48xeokcCTKeQIOke2O0t9t14HPvwnZcy+5baG13Z1wxs9ZrC5ig5ypEQQh4QMKxURD5TpCLHw2W42CLuVZaA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.40.tgz", + "integrity": "sha512-4ImTBEUykhIcIq3c97dIXnsmAHb//cjHh4nxttLhwpTZ+b/KdM1IpttqFhB0AFLUsrjP4WOCMxAm5FOL7FC2uw==", "dev": true, "optional": true }, "esbuild-linux-s390x": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.39.tgz", - "integrity": "sha512-zEfunpqR8sMomqXhNTFEKDs+ik7HC01m3M60MsEjZOqaywHu5e5682fMsqOlZbesEAAaO9aAtRBsU7CHnSZWyA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.40.tgz", + "integrity": "sha512-kFCPKictYjpt5rt0bFdbSmb8AWut75sIh1fZUTCVkujWMcpdL8ADuYMfVrN7R0CSQvkF1nQtrIBfp+ZU7R7KNQ==", "dev": true, "optional": true }, "esbuild-netbsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.39.tgz", - "integrity": "sha512-Uo2suJBSIlrZCe4E0k75VDIFJWfZy+bOV6ih3T4MVMRJh1lHJ2UyGoaX4bOxomYN3t+IakHPyEoln1+qJ1qYaA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.40.tgz", + "integrity": "sha512-Hwzw2cSI6+p03TUjugzec54W6uW4tA1J/WovmlHl96Icjy73eWnAyCQwgG6ZLirXpt2aDfTEVShNaC2fE4KVhQ==", "dev": true, "optional": true }, "esbuild-openbsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.39.tgz", - "integrity": "sha512-secQU+EpgUPpYjJe3OecoeGKVvRMLeKUxSMGHnK+aK5uQM3n1FPXNJzyz1LHFOo0WOyw+uoCxBYdM4O10oaCAA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.40.tgz", + "integrity": "sha512-L4Pix+N2Sb0HvLl8zyn1Aq2aYD5Jt8rk9zwW3NUx19yafJqAFsnUN7L/XbbWSv5/XMqnY4hpAvIP2pyeV9+Bjw==", "dev": true, "optional": true }, "esbuild-sunos-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.39.tgz", - "integrity": "sha512-qHq0t5gePEDm2nqZLb+35p/qkaXVS7oIe32R0ECh2HOdiXXkj/1uQI9IRogGqKkK+QjDG+DhwiUw7QoHur/Rwg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.40.tgz", + "integrity": "sha512-iEITaelmmCO43ewk0bOYRGrewu2i2h2V0gKHQ/rz1MRqif8ohY/FNLn4WnThGUlrEgA1nTL1tc57PL12QbOo2Q==", "dev": true, "optional": true }, "esbuild-windows-32": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.39.tgz", - "integrity": "sha512-XPjwp2OgtEX0JnOlTgT6E5txbRp6Uw54Isorm3CwOtloJazeIWXuiwK0ONJBVb/CGbiCpS7iP2UahGgd2p1x+Q==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.40.tgz", + "integrity": "sha512-uXHmKl4RtCkK1v6QQK4hsP8Xiku6CwUM/W7Yv2rGtfylSOrrWKcpqwlDWx6bIm1Hav1uBC8hbgJ1hY6pWFNhNA==", "dev": true, "optional": true }, "esbuild-windows-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.39.tgz", - "integrity": "sha512-E2wm+5FwCcLpKsBHRw28bSYQw0Ikxb7zIMxw3OPAkiaQhLVr3dnVO8DofmbWhhf6b97bWzg37iSZ45ZDpLw7Ow==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.40.tgz", + "integrity": "sha512-dvgQLVYnJzqce97AeHvxWtV9lHRDxIPatOikmrh1vt/SCE4tyVo5nAT/2SiZBJ6DzYmZT3BcJTV24bBLyu4ZUA==", "dev": true, "optional": true }, "esbuild-windows-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.39.tgz", - "integrity": "sha512-sBZQz5D+Gd0EQ09tZRnz/PpVdLwvp/ufMtJ1iDFYddDaPpZXKqPyaxfYBLs3ueiaksQ26GGa7sci0OqFzNs7KA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.40.tgz", + "integrity": "sha512-c8ohQSFtRq78pZ/LQcpMft2xuR2IEitQkW07f9K7iN4EBdJMrCpOoXrZCfmX9lAC8yYOU7xHoLFYVln3n6fK1Q==", "dev": true, "optional": true }, @@ -11457,12 +11442,12 @@ } }, "ts-node": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", - "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", + "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", "dev": true, "requires": { - "@cspotcode/source-map-support": "0.7.0", + "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", @@ -11473,7 +11458,7 @@ "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", + "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "dependencies": { @@ -11554,9 +11539,9 @@ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "v8-compile-cache-lib": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", - "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, "v8-to-istanbul": { diff --git a/examples/cdk/package.json b/examples/cdk/package.json index 2d6c92325a..839c1dc636 100644 --- a/examples/cdk/package.json +++ b/examples/cdk/package.json @@ -1,6 +1,6 @@ { "name": "cdk-app", - "version": "0.9.1", + "version": "0.10.0", "author": { "name": "Amazon Web Services", "url": "https://aws.amazon.com" @@ -37,7 +37,7 @@ "@aws-sdk/client-sts": "^3.53.0", "@middy/core": "^2.5.6", "@types/aws-lambda": "^8.10.86", - "aws-cdk-lib": "2.24.1", + "aws-cdk-lib": "2.25.0", "aws-sdk": "^2.1088.0", "constructs": "^10.0.82", "source-map-support": "^0.5.16" diff --git a/examples/cdk/src/example-function.ts b/examples/cdk/src/example-function.ts index def8d2ecdf..be9bbd97a7 100644 --- a/examples/cdk/src/example-function.ts +++ b/examples/cdk/src/example-function.ts @@ -2,7 +2,7 @@ import { custom_resources, aws_iam } from 'aws-cdk-lib'; import { Events } from '@aws-lambda-powertools/commons'; import { Construct } from 'constructs'; import { NodejsFunction, NodejsFunctionProps } from 'aws-cdk-lib/aws-lambda-nodejs'; -import { Tracing } from 'aws-cdk-lib/aws-lambda'; +import { Tracing, Runtime } from 'aws-cdk-lib/aws-lambda'; interface ExampleFunctionProps { readonly functionName: string @@ -23,6 +23,7 @@ class ExampleFunction extends Construct { const fn = new NodejsFunction(this, functionName, { tracing: tracingActive ? Tracing.ACTIVE : Tracing.DISABLED, + runtime: Runtime.NODEJS_16_X, ...fnProps }); diff --git a/examples/cdk/tsconfig.json b/examples/cdk/tsconfig.json index 3d8421df47..ce59f26c4a 100644 --- a/examples/cdk/tsconfig.json +++ b/examples/cdk/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "experimentalDecorators": true, "noImplicitAny": true, - "target": "ES2020", + "target": "ES2019", "module": "commonjs", "declaration": true, "outDir": "lib", @@ -22,7 +22,7 @@ "watchDirectory": "useFsEvents", "fallbackPolling": "dynamicPriority" }, -"lib": [ "es2020" ], +"lib": [ "es2019" ], "types": [ "jest", "node" diff --git a/examples/lambda-functions/tsconfig.json b/examples/lambda-functions/tsconfig.json index 6fe6024ff3..b253fc49a1 100644 --- a/examples/lambda-functions/tsconfig.json +++ b/examples/lambda-functions/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "experimentalDecorators": true, "noImplicitAny": true, - "target": "ES2020", + "target": "ES2019", "module": "commonjs", "declaration": true, "declarationMap": true, @@ -21,7 +21,7 @@ "watchDirectory": "useFsEvents", "fallbackPolling": "dynamicPriority" }, - "lib": [ "es2020" ], + "lib": [ "es2019" ], "types": [ "node" ] diff --git a/examples/sam/CHANGELOG.md b/examples/sam/CHANGELOG.md index 9051561f2d..45e0c52c9c 100644 --- a/examples/sam/CHANGELOG.md +++ b/examples/sam/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.10.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.1...v0.10.0) (2022-06-02) + + +### Features + +* **all:** nodejs16x support ([#877](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/877)) ([d2b13c9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d2b13c945adb1a74b7c5f76d45f28a6979ce6429)) + + + + + ## [0.9.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) **Note:** Version bump only for package powertools-typescript-sam-example diff --git a/examples/sam/package-lock.json b/examples/sam/package-lock.json index 8cdd839b7e..723712dcb9 100644 --- a/examples/sam/package-lock.json +++ b/examples/sam/package-lock.json @@ -1,12 +1,12 @@ { "name": "powertools-typescript-sam-example", - "version": "0.9.1", + "version": "0.10.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "powertools-typescript-sam-example", - "version": "0.9.1", + "version": "0.10.0", "license": "MIT-0", "dependencies": { "@aws-lambda-powertools/logger": "^0.7.0", @@ -643,37 +643,38 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, "node_modules/@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "dependencies": { - "@cspotcode/source-map-consumer": "0.8.0" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { "node": ">=12" } }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@eslint/eslintrc": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz", - "integrity": "sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", + "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.3.2", - "globals": "^13.9.0", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -2026,9 +2027,9 @@ } }, "node_modules/esbuild": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.39.tgz", - "integrity": "sha512-2kKujuzvRWYtwvNjYDY444LQIA3TyJhJIX3Yo4+qkFlDDtGlSicWgeHVJqMUP/2sSfH10PGwfsj+O2ro1m10xQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.40.tgz", + "integrity": "sha512-toIoQk3ODEEIudsN74wXGdw1eiUN4aKRijOqiwEAqfUFlhORPYFJtACzRdRRlpUysRUUlvIUoGE1aw/MIVCWnA==", "dev": true, "hasInstallScript": true, "bin": { @@ -2038,32 +2039,32 @@ "node": ">=12" }, "optionalDependencies": { - "esbuild-android-64": "0.14.39", - "esbuild-android-arm64": "0.14.39", - "esbuild-darwin-64": "0.14.39", - "esbuild-darwin-arm64": "0.14.39", - "esbuild-freebsd-64": "0.14.39", - "esbuild-freebsd-arm64": "0.14.39", - "esbuild-linux-32": "0.14.39", - "esbuild-linux-64": "0.14.39", - "esbuild-linux-arm": "0.14.39", - "esbuild-linux-arm64": "0.14.39", - "esbuild-linux-mips64le": "0.14.39", - "esbuild-linux-ppc64le": "0.14.39", - "esbuild-linux-riscv64": "0.14.39", - "esbuild-linux-s390x": "0.14.39", - "esbuild-netbsd-64": "0.14.39", - "esbuild-openbsd-64": "0.14.39", - "esbuild-sunos-64": "0.14.39", - "esbuild-windows-32": "0.14.39", - "esbuild-windows-64": "0.14.39", - "esbuild-windows-arm64": "0.14.39" + "esbuild-android-64": "0.14.40", + "esbuild-android-arm64": "0.14.40", + "esbuild-darwin-64": "0.14.40", + "esbuild-darwin-arm64": "0.14.40", + "esbuild-freebsd-64": "0.14.40", + "esbuild-freebsd-arm64": "0.14.40", + "esbuild-linux-32": "0.14.40", + "esbuild-linux-64": "0.14.40", + "esbuild-linux-arm": "0.14.40", + "esbuild-linux-arm64": "0.14.40", + "esbuild-linux-mips64le": "0.14.40", + "esbuild-linux-ppc64le": "0.14.40", + "esbuild-linux-riscv64": "0.14.40", + "esbuild-linux-s390x": "0.14.40", + "esbuild-netbsd-64": "0.14.40", + "esbuild-openbsd-64": "0.14.40", + "esbuild-sunos-64": "0.14.40", + "esbuild-windows-32": "0.14.40", + "esbuild-windows-64": "0.14.40", + "esbuild-windows-arm64": "0.14.40" } }, "node_modules/esbuild-android-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.39.tgz", - "integrity": "sha512-EJOu04p9WgZk0UoKTqLId9VnIsotmI/Z98EXrKURGb3LPNunkeffqQIkjS2cAvidh+OK5uVrXaIP229zK6GvhQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.40.tgz", + "integrity": "sha512-+69t+bmJWWhTyG8waJZcu4UGzM4NbDXAwssTEDYwonyz6L/Is11Y3csJhE16RM0a1GeDin0n810vNP+NVjttKA==", "cpu": [ "x64" ], @@ -2077,9 +2078,9 @@ } }, "node_modules/esbuild-android-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.39.tgz", - "integrity": "sha512-+twajJqO7n3MrCz9e+2lVOnFplRsaGRwsq1KL/uOy7xK7QdRSprRQcObGDeDZUZsacD5gUkk6OiHiYp6RzU3CA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.40.tgz", + "integrity": "sha512-lVDn4d7/NL5Svrxuskmd/YcluI6uI4Ebp7A1/tWyLJJYbvfIy5l4Vy8GMhErGLePbRyJJiuBP9xusapK4u+6bg==", "cpu": [ "arm64" ], @@ -2093,9 +2094,9 @@ } }, "node_modules/esbuild-darwin-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.39.tgz", - "integrity": "sha512-ImT6eUw3kcGcHoUxEcdBpi6LfTRWaV6+qf32iYYAfwOeV+XaQ/Xp5XQIBiijLeo+LpGci9M0FVec09nUw41a5g==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.40.tgz", + "integrity": "sha512-b5u3IXCHhOjkRHIQTSxCN7ObUR5NTyJCP9LrnJ69dEEi1w1usI40T/VNyTTCs7n0UgEH7/zi27vBxbZU+sU4Ew==", "cpu": [ "x64" ], @@ -2109,9 +2110,9 @@ } }, "node_modules/esbuild-darwin-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.39.tgz", - "integrity": "sha512-/fcQ5UhE05OiT+bW5v7/up1bDsnvaRZPJxXwzXsMRrr7rZqPa85vayrD723oWMT64dhrgWeA3FIneF8yER0XTw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.40.tgz", + "integrity": "sha512-Wn0C2nrZSANvzK9efcxjKpv9l8yUC4PtYMmnf775gUNwak7sqecuoelhbUTshhrwsfjCNfjsrUhsHY2OHUiEdw==", "cpu": [ "arm64" ], @@ -2125,9 +2126,9 @@ } }, "node_modules/esbuild-freebsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.39.tgz", - "integrity": "sha512-oMNH8lJI4wtgN5oxuFP7BQ22vgB/e3Tl5Woehcd6i2r6F3TszpCnNl8wo2d/KvyQ4zvLvCWAlRciumhQg88+kQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.40.tgz", + "integrity": "sha512-B9WZNUn7Y9f97xrQGBAQPKsebeFZzAd+JCdsLCexrVfTjB24b+/Iuq5O2z/q5Meg7Yz0S+j8AO6ncpvNkK2u0w==", "cpu": [ "x64" ], @@ -2141,9 +2142,9 @@ } }, "node_modules/esbuild-freebsd-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.39.tgz", - "integrity": "sha512-1GHK7kwk57ukY2yI4ILWKJXaxfr+8HcM/r/JKCGCPziIVlL+Wi7RbJ2OzMcTKZ1HpvEqCTBT/J6cO4ZEwW4Ypg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.40.tgz", + "integrity": "sha512-3aB9uJv2/lmQNzwmieNyyOdxKi+3ERwrqf3snBu/oEng8b7nMBNrEN+p7jjkTYNYmo291KiH/5EIAXwpsZndFw==", "cpu": [ "arm64" ], @@ -2157,9 +2158,9 @@ } }, "node_modules/esbuild-linux-32": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.39.tgz", - "integrity": "sha512-g97Sbb6g4zfRLIxHgW2pc393DjnkTRMeq3N1rmjDUABxpx8SjocK4jLen+/mq55G46eE2TA0MkJ4R3SpKMu7dg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.40.tgz", + "integrity": "sha512-LMI9BMeuGf6NRS23LbyVarN3nf+JyNcfiVEnR9M8691kL5Ffp3e7oTYRH65XdTUirM9D6e5cppfWLjvrRbGnRw==", "cpu": [ "ia32" ], @@ -2173,9 +2174,9 @@ } }, "node_modules/esbuild-linux-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.39.tgz", - "integrity": "sha512-4tcgFDYWdI+UbNMGlua9u1Zhu0N5R6u9tl5WOM8aVnNX143JZoBZLpCuUr5lCKhnD0SCO+5gUyMfupGrHtfggQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.40.tgz", + "integrity": "sha512-D/NkZ9QR2KShJXNuRWANxJzPCrwJoAoWVetQiGIAepzXbNh+dBo5ZLmlh8Txs6tE600N67MF/ScHP1S4FxLaJg==", "cpu": [ "x64" ], @@ -2189,9 +2190,9 @@ } }, "node_modules/esbuild-linux-arm": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.39.tgz", - "integrity": "sha512-t0Hn1kWVx5UpCzAJkKRfHeYOLyFnXwYynIkK54/h3tbMweGI7dj400D1k0Vvtj2u1P+JTRT9tx3AjtLEMmfVBQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.40.tgz", + "integrity": "sha512-2a0yZXbzr/s3iCgZ84jFTHf+NyyXQ/7/Sd28oQq5iyy7TbJNS973XUOwgdlHdRqBxvw0nIWTw2FuwyUJAFa6Qg==", "cpu": [ "arm" ], @@ -2205,9 +2206,9 @@ } }, "node_modules/esbuild-linux-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.39.tgz", - "integrity": "sha512-23pc8MlD2D6Px1mV8GMglZlKgwgNKAO8gsgsLLcXWSs9lQsCYkIlMo/2Ycfo5JrDIbLdwgP8D2vpfH2KcBqrDQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.40.tgz", + "integrity": "sha512-TIoZWKjrMJxZujh2nSsrrLkLDLzD/oBpSiobdUGe2bqKZpT4m7fkR0tEDNyM6Xvzj9uTQ4iTfJr2ekmpg3DyTQ==", "cpu": [ "arm64" ], @@ -2221,9 +2222,9 @@ } }, "node_modules/esbuild-linux-mips64le": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.39.tgz", - "integrity": "sha512-epwlYgVdbmkuRr5n4es3B+yDI0I2e/nxhKejT9H0OLxFAlMkeQZxSpxATpDc9m8NqRci6Kwyb/SfmD1koG2Zuw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.40.tgz", + "integrity": "sha512-SP30CYYSDMwr6mPUbjvD4K2R03GQHIQGrkrbXt5NM6mFqzR+S+JKVv9juq/CjlM9V7iIPPPqe4mb4DWC3b8pBw==", "cpu": [ "mips64el" ], @@ -2237,9 +2238,9 @@ } }, "node_modules/esbuild-linux-ppc64le": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.39.tgz", - "integrity": "sha512-W/5ezaq+rQiQBThIjLMNjsuhPHg+ApVAdTz2LvcuesZFMsJoQAW2hutoyg47XxpWi7aEjJGrkS26qCJKhRn3QQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.40.tgz", + "integrity": "sha512-HlU3dfIdwzm/zhbXvMa5yWIafBeI7v6BDaEuApAww5Av8ht7lXgD1fZ11iJVPjRWNLcCZUgZaJKFrosSPQO/Bw==", "cpu": [ "ppc64" ], @@ -2253,9 +2254,9 @@ } }, "node_modules/esbuild-linux-riscv64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.39.tgz", - "integrity": "sha512-IS48xeokcCTKeQIOke2O0t9t14HPvwnZcy+5baG13Z1wxs9ZrC5ig5ypEQQh4QMKxURD5TpCLHw2W42CLuVZaA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.40.tgz", + "integrity": "sha512-4ImTBEUykhIcIq3c97dIXnsmAHb//cjHh4nxttLhwpTZ+b/KdM1IpttqFhB0AFLUsrjP4WOCMxAm5FOL7FC2uw==", "cpu": [ "riscv64" ], @@ -2269,9 +2270,9 @@ } }, "node_modules/esbuild-linux-s390x": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.39.tgz", - "integrity": "sha512-zEfunpqR8sMomqXhNTFEKDs+ik7HC01m3M60MsEjZOqaywHu5e5682fMsqOlZbesEAAaO9aAtRBsU7CHnSZWyA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.40.tgz", + "integrity": "sha512-kFCPKictYjpt5rt0bFdbSmb8AWut75sIh1fZUTCVkujWMcpdL8ADuYMfVrN7R0CSQvkF1nQtrIBfp+ZU7R7KNQ==", "cpu": [ "s390x" ], @@ -2285,9 +2286,9 @@ } }, "node_modules/esbuild-netbsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.39.tgz", - "integrity": "sha512-Uo2suJBSIlrZCe4E0k75VDIFJWfZy+bOV6ih3T4MVMRJh1lHJ2UyGoaX4bOxomYN3t+IakHPyEoln1+qJ1qYaA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.40.tgz", + "integrity": "sha512-Hwzw2cSI6+p03TUjugzec54W6uW4tA1J/WovmlHl96Icjy73eWnAyCQwgG6ZLirXpt2aDfTEVShNaC2fE4KVhQ==", "cpu": [ "x64" ], @@ -2301,9 +2302,9 @@ } }, "node_modules/esbuild-openbsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.39.tgz", - "integrity": "sha512-secQU+EpgUPpYjJe3OecoeGKVvRMLeKUxSMGHnK+aK5uQM3n1FPXNJzyz1LHFOo0WOyw+uoCxBYdM4O10oaCAA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.40.tgz", + "integrity": "sha512-L4Pix+N2Sb0HvLl8zyn1Aq2aYD5Jt8rk9zwW3NUx19yafJqAFsnUN7L/XbbWSv5/XMqnY4hpAvIP2pyeV9+Bjw==", "cpu": [ "x64" ], @@ -2317,9 +2318,9 @@ } }, "node_modules/esbuild-sunos-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.39.tgz", - "integrity": "sha512-qHq0t5gePEDm2nqZLb+35p/qkaXVS7oIe32R0ECh2HOdiXXkj/1uQI9IRogGqKkK+QjDG+DhwiUw7QoHur/Rwg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.40.tgz", + "integrity": "sha512-iEITaelmmCO43ewk0bOYRGrewu2i2h2V0gKHQ/rz1MRqif8ohY/FNLn4WnThGUlrEgA1nTL1tc57PL12QbOo2Q==", "cpu": [ "x64" ], @@ -2333,9 +2334,9 @@ } }, "node_modules/esbuild-windows-32": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.39.tgz", - "integrity": "sha512-XPjwp2OgtEX0JnOlTgT6E5txbRp6Uw54Isorm3CwOtloJazeIWXuiwK0ONJBVb/CGbiCpS7iP2UahGgd2p1x+Q==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.40.tgz", + "integrity": "sha512-uXHmKl4RtCkK1v6QQK4hsP8Xiku6CwUM/W7Yv2rGtfylSOrrWKcpqwlDWx6bIm1Hav1uBC8hbgJ1hY6pWFNhNA==", "cpu": [ "ia32" ], @@ -2349,9 +2350,9 @@ } }, "node_modules/esbuild-windows-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.39.tgz", - "integrity": "sha512-E2wm+5FwCcLpKsBHRw28bSYQw0Ikxb7zIMxw3OPAkiaQhLVr3dnVO8DofmbWhhf6b97bWzg37iSZ45ZDpLw7Ow==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.40.tgz", + "integrity": "sha512-dvgQLVYnJzqce97AeHvxWtV9lHRDxIPatOikmrh1vt/SCE4tyVo5nAT/2SiZBJ6DzYmZT3BcJTV24bBLyu4ZUA==", "cpu": [ "x64" ], @@ -2365,9 +2366,9 @@ } }, "node_modules/esbuild-windows-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.39.tgz", - "integrity": "sha512-sBZQz5D+Gd0EQ09tZRnz/PpVdLwvp/ufMtJ1iDFYddDaPpZXKqPyaxfYBLs3ueiaksQ26GGa7sci0OqFzNs7KA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.40.tgz", + "integrity": "sha512-c8ohQSFtRq78pZ/LQcpMft2xuR2IEitQkW07f9K7iN4EBdJMrCpOoXrZCfmX9lAC8yYOU7xHoLFYVln3n6fK1Q==", "cpu": [ "arm64" ], @@ -2475,12 +2476,12 @@ } }, "node_modules/eslint": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.15.0.tgz", - "integrity": "sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", + "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.2.3", + "@eslint/eslintrc": "^1.3.0", "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -2498,7 +2499,7 @@ "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", - "globals": "^13.6.0", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -2900,9 +2901,9 @@ } }, "node_modules/globals": { - "version": "13.14.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.14.0.tgz", - "integrity": "sha512-ERO68sOYwm5UuLvSJTY7w7NP2c8S4UcXs3X1GBX8cwOr+ShOcDBbCY5mH4zxz0jsYCdJ8ve8Mv9n2YGJMB1aeg==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -4994,12 +4995,12 @@ } }, "node_modules/ts-node": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", - "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", + "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", "dev": true, "dependencies": { - "@cspotcode/source-map-support": "0.7.0", + "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", @@ -5010,7 +5011,7 @@ "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", + "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "bin": { @@ -5872,31 +5873,37 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true - }, "@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "requires": { - "@cspotcode/source-map-consumer": "0.8.0" + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } } }, "@eslint/eslintrc": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz", - "integrity": "sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", + "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.3.2", - "globals": "^13.9.0", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -6978,170 +6985,170 @@ } }, "esbuild": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.39.tgz", - "integrity": "sha512-2kKujuzvRWYtwvNjYDY444LQIA3TyJhJIX3Yo4+qkFlDDtGlSicWgeHVJqMUP/2sSfH10PGwfsj+O2ro1m10xQ==", - "dev": true, - "requires": { - "esbuild-android-64": "0.14.39", - "esbuild-android-arm64": "0.14.39", - "esbuild-darwin-64": "0.14.39", - "esbuild-darwin-arm64": "0.14.39", - "esbuild-freebsd-64": "0.14.39", - "esbuild-freebsd-arm64": "0.14.39", - "esbuild-linux-32": "0.14.39", - "esbuild-linux-64": "0.14.39", - "esbuild-linux-arm": "0.14.39", - "esbuild-linux-arm64": "0.14.39", - "esbuild-linux-mips64le": "0.14.39", - "esbuild-linux-ppc64le": "0.14.39", - "esbuild-linux-riscv64": "0.14.39", - "esbuild-linux-s390x": "0.14.39", - "esbuild-netbsd-64": "0.14.39", - "esbuild-openbsd-64": "0.14.39", - "esbuild-sunos-64": "0.14.39", - "esbuild-windows-32": "0.14.39", - "esbuild-windows-64": "0.14.39", - "esbuild-windows-arm64": "0.14.39" + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.40.tgz", + "integrity": "sha512-toIoQk3ODEEIudsN74wXGdw1eiUN4aKRijOqiwEAqfUFlhORPYFJtACzRdRRlpUysRUUlvIUoGE1aw/MIVCWnA==", + "dev": true, + "requires": { + "esbuild-android-64": "0.14.40", + "esbuild-android-arm64": "0.14.40", + "esbuild-darwin-64": "0.14.40", + "esbuild-darwin-arm64": "0.14.40", + "esbuild-freebsd-64": "0.14.40", + "esbuild-freebsd-arm64": "0.14.40", + "esbuild-linux-32": "0.14.40", + "esbuild-linux-64": "0.14.40", + "esbuild-linux-arm": "0.14.40", + "esbuild-linux-arm64": "0.14.40", + "esbuild-linux-mips64le": "0.14.40", + "esbuild-linux-ppc64le": "0.14.40", + "esbuild-linux-riscv64": "0.14.40", + "esbuild-linux-s390x": "0.14.40", + "esbuild-netbsd-64": "0.14.40", + "esbuild-openbsd-64": "0.14.40", + "esbuild-sunos-64": "0.14.40", + "esbuild-windows-32": "0.14.40", + "esbuild-windows-64": "0.14.40", + "esbuild-windows-arm64": "0.14.40" } }, "esbuild-android-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.39.tgz", - "integrity": "sha512-EJOu04p9WgZk0UoKTqLId9VnIsotmI/Z98EXrKURGb3LPNunkeffqQIkjS2cAvidh+OK5uVrXaIP229zK6GvhQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.40.tgz", + "integrity": "sha512-+69t+bmJWWhTyG8waJZcu4UGzM4NbDXAwssTEDYwonyz6L/Is11Y3csJhE16RM0a1GeDin0n810vNP+NVjttKA==", "dev": true, "optional": true }, "esbuild-android-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.39.tgz", - "integrity": "sha512-+twajJqO7n3MrCz9e+2lVOnFplRsaGRwsq1KL/uOy7xK7QdRSprRQcObGDeDZUZsacD5gUkk6OiHiYp6RzU3CA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.40.tgz", + "integrity": "sha512-lVDn4d7/NL5Svrxuskmd/YcluI6uI4Ebp7A1/tWyLJJYbvfIy5l4Vy8GMhErGLePbRyJJiuBP9xusapK4u+6bg==", "dev": true, "optional": true }, "esbuild-darwin-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.39.tgz", - "integrity": "sha512-ImT6eUw3kcGcHoUxEcdBpi6LfTRWaV6+qf32iYYAfwOeV+XaQ/Xp5XQIBiijLeo+LpGci9M0FVec09nUw41a5g==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.40.tgz", + "integrity": "sha512-b5u3IXCHhOjkRHIQTSxCN7ObUR5NTyJCP9LrnJ69dEEi1w1usI40T/VNyTTCs7n0UgEH7/zi27vBxbZU+sU4Ew==", "dev": true, "optional": true }, "esbuild-darwin-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.39.tgz", - "integrity": "sha512-/fcQ5UhE05OiT+bW5v7/up1bDsnvaRZPJxXwzXsMRrr7rZqPa85vayrD723oWMT64dhrgWeA3FIneF8yER0XTw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.40.tgz", + "integrity": "sha512-Wn0C2nrZSANvzK9efcxjKpv9l8yUC4PtYMmnf775gUNwak7sqecuoelhbUTshhrwsfjCNfjsrUhsHY2OHUiEdw==", "dev": true, "optional": true }, "esbuild-freebsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.39.tgz", - "integrity": "sha512-oMNH8lJI4wtgN5oxuFP7BQ22vgB/e3Tl5Woehcd6i2r6F3TszpCnNl8wo2d/KvyQ4zvLvCWAlRciumhQg88+kQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.40.tgz", + "integrity": "sha512-B9WZNUn7Y9f97xrQGBAQPKsebeFZzAd+JCdsLCexrVfTjB24b+/Iuq5O2z/q5Meg7Yz0S+j8AO6ncpvNkK2u0w==", "dev": true, "optional": true }, "esbuild-freebsd-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.39.tgz", - "integrity": "sha512-1GHK7kwk57ukY2yI4ILWKJXaxfr+8HcM/r/JKCGCPziIVlL+Wi7RbJ2OzMcTKZ1HpvEqCTBT/J6cO4ZEwW4Ypg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.40.tgz", + "integrity": "sha512-3aB9uJv2/lmQNzwmieNyyOdxKi+3ERwrqf3snBu/oEng8b7nMBNrEN+p7jjkTYNYmo291KiH/5EIAXwpsZndFw==", "dev": true, "optional": true }, "esbuild-linux-32": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.39.tgz", - "integrity": "sha512-g97Sbb6g4zfRLIxHgW2pc393DjnkTRMeq3N1rmjDUABxpx8SjocK4jLen+/mq55G46eE2TA0MkJ4R3SpKMu7dg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.40.tgz", + "integrity": "sha512-LMI9BMeuGf6NRS23LbyVarN3nf+JyNcfiVEnR9M8691kL5Ffp3e7oTYRH65XdTUirM9D6e5cppfWLjvrRbGnRw==", "dev": true, "optional": true }, "esbuild-linux-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.39.tgz", - "integrity": "sha512-4tcgFDYWdI+UbNMGlua9u1Zhu0N5R6u9tl5WOM8aVnNX143JZoBZLpCuUr5lCKhnD0SCO+5gUyMfupGrHtfggQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.40.tgz", + "integrity": "sha512-D/NkZ9QR2KShJXNuRWANxJzPCrwJoAoWVetQiGIAepzXbNh+dBo5ZLmlh8Txs6tE600N67MF/ScHP1S4FxLaJg==", "dev": true, "optional": true }, "esbuild-linux-arm": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.39.tgz", - "integrity": "sha512-t0Hn1kWVx5UpCzAJkKRfHeYOLyFnXwYynIkK54/h3tbMweGI7dj400D1k0Vvtj2u1P+JTRT9tx3AjtLEMmfVBQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.40.tgz", + "integrity": "sha512-2a0yZXbzr/s3iCgZ84jFTHf+NyyXQ/7/Sd28oQq5iyy7TbJNS973XUOwgdlHdRqBxvw0nIWTw2FuwyUJAFa6Qg==", "dev": true, "optional": true }, "esbuild-linux-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.39.tgz", - "integrity": "sha512-23pc8MlD2D6Px1mV8GMglZlKgwgNKAO8gsgsLLcXWSs9lQsCYkIlMo/2Ycfo5JrDIbLdwgP8D2vpfH2KcBqrDQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.40.tgz", + "integrity": "sha512-TIoZWKjrMJxZujh2nSsrrLkLDLzD/oBpSiobdUGe2bqKZpT4m7fkR0tEDNyM6Xvzj9uTQ4iTfJr2ekmpg3DyTQ==", "dev": true, "optional": true }, "esbuild-linux-mips64le": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.39.tgz", - "integrity": "sha512-epwlYgVdbmkuRr5n4es3B+yDI0I2e/nxhKejT9H0OLxFAlMkeQZxSpxATpDc9m8NqRci6Kwyb/SfmD1koG2Zuw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.40.tgz", + "integrity": "sha512-SP30CYYSDMwr6mPUbjvD4K2R03GQHIQGrkrbXt5NM6mFqzR+S+JKVv9juq/CjlM9V7iIPPPqe4mb4DWC3b8pBw==", "dev": true, "optional": true }, "esbuild-linux-ppc64le": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.39.tgz", - "integrity": "sha512-W/5ezaq+rQiQBThIjLMNjsuhPHg+ApVAdTz2LvcuesZFMsJoQAW2hutoyg47XxpWi7aEjJGrkS26qCJKhRn3QQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.40.tgz", + "integrity": "sha512-HlU3dfIdwzm/zhbXvMa5yWIafBeI7v6BDaEuApAww5Av8ht7lXgD1fZ11iJVPjRWNLcCZUgZaJKFrosSPQO/Bw==", "dev": true, "optional": true }, "esbuild-linux-riscv64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.39.tgz", - "integrity": "sha512-IS48xeokcCTKeQIOke2O0t9t14HPvwnZcy+5baG13Z1wxs9ZrC5ig5ypEQQh4QMKxURD5TpCLHw2W42CLuVZaA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.40.tgz", + "integrity": "sha512-4ImTBEUykhIcIq3c97dIXnsmAHb//cjHh4nxttLhwpTZ+b/KdM1IpttqFhB0AFLUsrjP4WOCMxAm5FOL7FC2uw==", "dev": true, "optional": true }, "esbuild-linux-s390x": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.39.tgz", - "integrity": "sha512-zEfunpqR8sMomqXhNTFEKDs+ik7HC01m3M60MsEjZOqaywHu5e5682fMsqOlZbesEAAaO9aAtRBsU7CHnSZWyA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.40.tgz", + "integrity": "sha512-kFCPKictYjpt5rt0bFdbSmb8AWut75sIh1fZUTCVkujWMcpdL8ADuYMfVrN7R0CSQvkF1nQtrIBfp+ZU7R7KNQ==", "dev": true, "optional": true }, "esbuild-netbsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.39.tgz", - "integrity": "sha512-Uo2suJBSIlrZCe4E0k75VDIFJWfZy+bOV6ih3T4MVMRJh1lHJ2UyGoaX4bOxomYN3t+IakHPyEoln1+qJ1qYaA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.40.tgz", + "integrity": "sha512-Hwzw2cSI6+p03TUjugzec54W6uW4tA1J/WovmlHl96Icjy73eWnAyCQwgG6ZLirXpt2aDfTEVShNaC2fE4KVhQ==", "dev": true, "optional": true }, "esbuild-openbsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.39.tgz", - "integrity": "sha512-secQU+EpgUPpYjJe3OecoeGKVvRMLeKUxSMGHnK+aK5uQM3n1FPXNJzyz1LHFOo0WOyw+uoCxBYdM4O10oaCAA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.40.tgz", + "integrity": "sha512-L4Pix+N2Sb0HvLl8zyn1Aq2aYD5Jt8rk9zwW3NUx19yafJqAFsnUN7L/XbbWSv5/XMqnY4hpAvIP2pyeV9+Bjw==", "dev": true, "optional": true }, "esbuild-sunos-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.39.tgz", - "integrity": "sha512-qHq0t5gePEDm2nqZLb+35p/qkaXVS7oIe32R0ECh2HOdiXXkj/1uQI9IRogGqKkK+QjDG+DhwiUw7QoHur/Rwg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.40.tgz", + "integrity": "sha512-iEITaelmmCO43ewk0bOYRGrewu2i2h2V0gKHQ/rz1MRqif8ohY/FNLn4WnThGUlrEgA1nTL1tc57PL12QbOo2Q==", "dev": true, "optional": true }, "esbuild-windows-32": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.39.tgz", - "integrity": "sha512-XPjwp2OgtEX0JnOlTgT6E5txbRp6Uw54Isorm3CwOtloJazeIWXuiwK0ONJBVb/CGbiCpS7iP2UahGgd2p1x+Q==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.40.tgz", + "integrity": "sha512-uXHmKl4RtCkK1v6QQK4hsP8Xiku6CwUM/W7Yv2rGtfylSOrrWKcpqwlDWx6bIm1Hav1uBC8hbgJ1hY6pWFNhNA==", "dev": true, "optional": true }, "esbuild-windows-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.39.tgz", - "integrity": "sha512-E2wm+5FwCcLpKsBHRw28bSYQw0Ikxb7zIMxw3OPAkiaQhLVr3dnVO8DofmbWhhf6b97bWzg37iSZ45ZDpLw7Ow==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.40.tgz", + "integrity": "sha512-dvgQLVYnJzqce97AeHvxWtV9lHRDxIPatOikmrh1vt/SCE4tyVo5nAT/2SiZBJ6DzYmZT3BcJTV24bBLyu4ZUA==", "dev": true, "optional": true }, "esbuild-windows-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.39.tgz", - "integrity": "sha512-sBZQz5D+Gd0EQ09tZRnz/PpVdLwvp/ufMtJ1iDFYddDaPpZXKqPyaxfYBLs3ueiaksQ26GGa7sci0OqFzNs7KA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.40.tgz", + "integrity": "sha512-c8ohQSFtRq78pZ/LQcpMft2xuR2IEitQkW07f9K7iN4EBdJMrCpOoXrZCfmX9lAC8yYOU7xHoLFYVln3n6fK1Q==", "dev": true, "optional": true }, @@ -7212,12 +7219,12 @@ } }, "eslint": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.15.0.tgz", - "integrity": "sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", + "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.2.3", + "@eslint/eslintrc": "^1.3.0", "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -7235,7 +7242,7 @@ "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", - "globals": "^13.6.0", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -7529,9 +7536,9 @@ } }, "globals": { - "version": "13.14.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.14.0.tgz", - "integrity": "sha512-ERO68sOYwm5UuLvSJTY7w7NP2c8S4UcXs3X1GBX8cwOr+ShOcDBbCY5mH4zxz0jsYCdJ8ve8Mv9n2YGJMB1aeg==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -9116,12 +9123,12 @@ } }, "ts-node": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", - "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", + "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", "dev": true, "requires": { - "@cspotcode/source-map-support": "0.7.0", + "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", @@ -9132,7 +9139,7 @@ "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", + "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" } }, diff --git a/examples/sam/package.json b/examples/sam/package.json index d83c630a6d..e15097a019 100644 --- a/examples/sam/package.json +++ b/examples/sam/package.json @@ -1,6 +1,6 @@ { "name": "powertools-typescript-sam-example", - "version": "0.9.1", + "version": "0.10.0", "author": { "name": "Amazon Web Services", "url": "https://aws.amazon.com" diff --git a/examples/sam/src/tsconfig.json b/examples/sam/src/tsconfig.json index 6fe6024ff3..b253fc49a1 100644 --- a/examples/sam/src/tsconfig.json +++ b/examples/sam/src/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "experimentalDecorators": true, "noImplicitAny": true, - "target": "ES2020", + "target": "ES2019", "module": "commonjs", "declaration": true, "declarationMap": true, @@ -21,7 +21,7 @@ "watchDirectory": "useFsEvents", "fallbackPolling": "dynamicPriority" }, - "lib": [ "es2020" ], + "lib": [ "es2019" ], "types": [ "node" ] diff --git a/examples/sam/template.yaml b/examples/sam/template.yaml index 85bfb190ab..18a5662b42 100644 --- a/examples/sam/template.yaml +++ b/examples/sam/template.yaml @@ -15,7 +15,7 @@ Transform: AWS::Serverless-2016-10-31 # https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-specification-template-anatomy-globals.html Globals: Function: - Runtime: nodejs14.x + Runtime: nodejs16.x Architectures: - x86_64 MemorySize: 128 diff --git a/examples/sam/tsconfig.json b/examples/sam/tsconfig.json index 6fe6024ff3..b253fc49a1 100644 --- a/examples/sam/tsconfig.json +++ b/examples/sam/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "experimentalDecorators": true, "noImplicitAny": true, - "target": "ES2020", + "target": "ES2019", "module": "commonjs", "declaration": true, "declarationMap": true, @@ -21,7 +21,7 @@ "watchDirectory": "useFsEvents", "fallbackPolling": "dynamicPriority" }, - "lib": [ "es2020" ], + "lib": [ "es2019" ], "types": [ "node" ] diff --git a/lerna.json b/lerna.json index 03e5f79d0d..9dd3c25aab 100644 --- a/lerna.json +++ b/lerna.json @@ -4,7 +4,7 @@ "examples/cdk", "examples/sam" ], - "version": "0.9.1", + "version": "0.10.0", "npmClient": "npm", "message": "chore(release): %s [skip ci]" } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 8335af7e02..e36f0711fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,6 +25,7 @@ "@types/aws-lambda": "^8.10.72", "@types/jest": "^27.4.0", "@types/node": "^17.0.8", + "@types/uuid": "^8.3.4", "@typescript-eslint/eslint-plugin": "^5.12.1", "@typescript-eslint/parser": "^5.12.1", "archiver": "^5.3.0", @@ -48,10 +49,11 @@ "ts-node": "^10.0.0", "typedoc": "^0.22.11", "typedoc-plugin-missing-exports": "^0.22.6", - "typescript": "^4.1.3" + "typescript": "^4.1.3", + "uuid": "^8.3.2" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/@ampproject/remapping": { @@ -67,9 +69,9 @@ } }, "node_modules/@aws-cdk/cfnspec": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@aws-cdk/cfnspec/-/cfnspec-2.24.1.tgz", - "integrity": "sha512-2YOuScwQpeOkv0kLM2kkPMZBm7z7DhKIRVBZORZWctQHDhFe43RrSMThBwKgrp/GpnQV/1fN2bkyXpYyF0MeAg==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cfnspec/-/cfnspec-2.25.0.tgz", + "integrity": "sha512-bdiPeudKouMV3lgEOKC3VyaNw7rfom3z08vfOpYd0J81mo5k71RaxzqJaOXRBM2JpXqD1L5UpnCf+WahFAc4vg==", "dev": true, "dependencies": { "fs-extra": "^9.1.0", @@ -77,9 +79,9 @@ } }, "node_modules/@aws-cdk/cloud-assembly-schema": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-2.24.1.tgz", - "integrity": "sha512-5M8aKFR8bdKPJZRMKy+5ARx0LGDWyNiqjfTA2JgcElpDDgiwyt1Y6gUe5e67udoW3aeoTBwsbJulNCdOH1XTEA==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-2.25.0.tgz", + "integrity": "sha512-leAHCe12QCGrxbOG5AeqzPQhbZEZTqlyaxZfJaPHj0fxROXFfmO+9tIMgHADx+MwJtHQGa873I+3oVkcjRVxuw==", "bundleDependencies": [ "jsonschema", "semver" @@ -136,12 +138,12 @@ "license": "ISC" }, "node_modules/@aws-cdk/cloudformation-diff": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-2.24.1.tgz", - "integrity": "sha512-swE+2HJzTmkQRROOBAYWe1KYu1mEs6+1qDwJMYyybeObCfeqluJXXoTQlUXXOqDOzmUfBtEIbehtPdqFPTMf8Q==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-2.25.0.tgz", + "integrity": "sha512-EkqlIgl8/NdvWSnQkS31zgUZA8/GAAk64fsz+9u/cTClmB7zRyhJaxflMWhpNsWWPJ20KybLRd9KiEgk8b5cOw==", "dev": true, "dependencies": { - "@aws-cdk/cfnspec": "2.24.1", + "@aws-cdk/cfnspec": "2.25.0", "@types/node": "^10.17.60", "chalk": "^4", "diff": "^5.0.0", @@ -160,22 +162,22 @@ "dev": true }, "node_modules/@aws-cdk/cx-api": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-2.24.1.tgz", - "integrity": "sha512-TDvCqzGetm46oEYTxJZFHIKTgoAT9MAzds8maxLlwqajDg/AhEjGjOK5gZrmBvFcU+1Zx0a3dt0oGgsWf8Z63w==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-2.25.0.tgz", + "integrity": "sha512-WzylRlcc6oIlYPlWHlZu+GW289U/Hz++rFPcif/flyI+z9Qw/OgZUnHLYUamSJ5N0jbffmeTHvgjdaIf8S7kWw==", "bundleDependencies": [ "semver" ], "dev": true, "dependencies": { - "@aws-cdk/cloud-assembly-schema": "2.24.1", + "@aws-cdk/cloud-assembly-schema": "2.25.0", "semver": "^7.3.7" }, "engines": { "node": ">= 14.15.0" }, "peerDependencies": { - "@aws-cdk/cloud-assembly-schema": "2.24.1" + "@aws-cdk/cloud-assembly-schema": "2.25.0" } }, "node_modules/@aws-cdk/cx-api/node_modules/lru-cache": { @@ -373,15 +375,6 @@ "node": ">=12.0.0" } }, - "node_modules/@aws-sdk/client-dynamodb/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, "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", @@ -736,15 +729,6 @@ "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/middleware-retry/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/@aws-sdk/middleware-sdk-sts": { "version": "3.58.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.58.0.tgz", @@ -1759,9 +1743,9 @@ "dev": true }, "node_modules/@commitlint/cli": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.0.0.tgz", - "integrity": "sha512-Np6slCdVVG1XwMvwbZrXIzS1INPAD5QmN4L6al04AmCd4nAPU63gxgxC5Mz0Fmx7va23Uvb0S7yEFV1JPhvPUQ==", + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.0.1.tgz", + "integrity": "sha512-5xT1G5pnynR0tk/ms8Ji7yr9lZCeQs4GLVVtyK/gw20w+enoLTVuRKKY9zg88hy9FoCycc/W8iip2xv3c8payg==", "dev": true, "dependencies": { "@commitlint/format": "^17.0.0", @@ -1769,6 +1753,7 @@ "@commitlint/load": "^17.0.0", "@commitlint/read": "^17.0.0", "@commitlint/types": "^17.0.0", + "execa": "^5.0.0", "lodash": "^4.17.19", "resolve-from": "5.0.0", "resolve-global": "1.0.0", @@ -1997,37 +1982,28 @@ "node": ">=v14" } }, - "node_modules/@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, "node_modules/@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "dependencies": { - "@cspotcode/source-map-consumer": "0.8.0" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { "node": ">=12" } }, "node_modules/@eslint/eslintrc": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz", - "integrity": "sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", + "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.3.2", - "globals": "^13.9.0", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -2428,9 +2404,9 @@ "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", - "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", @@ -4005,6 +3981,12 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, + "node_modules/@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, "node_modules/@types/yargs": { "version": "16.0.4", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", @@ -4021,14 +4003,14 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.25.0.tgz", - "integrity": "sha512-icYrFnUzvm+LhW0QeJNKkezBu6tJs9p/53dpPLFH8zoM9w1tfaKzVurkPotEpAqQ8Vf8uaFyL5jHd0Vs6Z0ZQg==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.26.0.tgz", + "integrity": "sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.25.0", - "@typescript-eslint/type-utils": "5.25.0", - "@typescript-eslint/utils": "5.25.0", + "@typescript-eslint/scope-manager": "5.26.0", + "@typescript-eslint/type-utils": "5.26.0", + "@typescript-eslint/utils": "5.26.0", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", @@ -4054,14 +4036,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.25.0.tgz", - "integrity": "sha512-r3hwrOWYbNKP1nTcIw/aZoH+8bBnh/Lh1iDHoFpyG4DnCpvEdctrSl6LOo19fZbzypjQMHdajolxs6VpYoChgA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.26.0.tgz", + "integrity": "sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.25.0", - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/typescript-estree": "5.25.0", + "@typescript-eslint/scope-manager": "5.26.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/typescript-estree": "5.26.0", "debug": "^4.3.4" }, "engines": { @@ -4081,13 +4063,13 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.25.0.tgz", - "integrity": "sha512-p4SKTFWj+2VpreUZ5xMQsBMDdQ9XdRvODKXN4EksyBjFp2YvQdLkyHqOffakYZPuWJUDNu3jVXtHALDyTv3cww==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz", + "integrity": "sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/visitor-keys": "5.25.0" + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4098,9 +4080,9 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.25.0.tgz", - "integrity": "sha512-7fWqfxr0KNHj75PFqlGX24gWjdV/FDBABXL5dyvBOWHpACGyveok8Uj4ipPX/1fGU63fBkzSIycEje4XsOxUFA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.26.0.tgz", + "integrity": "sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4111,13 +4093,13 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.25.0.tgz", - "integrity": "sha512-MrPODKDych/oWs/71LCnuO7NyR681HuBly2uLnX3r5i4ME7q/yBqC4hW33kmxtuauLTM0OuBOhhkFaxCCOjEEw==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz", + "integrity": "sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/visitor-keys": "5.25.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4138,12 +4120,12 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.25.0.tgz", - "integrity": "sha512-yd26vFgMsC4h2dgX4+LR+GeicSKIfUvZREFLf3DDjZPtqgLx5AJZr6TetMNwFP9hcKreTTeztQYBTNbNoOycwA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz", + "integrity": "sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/types": "5.26.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -4155,13 +4137,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.25.0.tgz", - "integrity": "sha512-p4SKTFWj+2VpreUZ5xMQsBMDdQ9XdRvODKXN4EksyBjFp2YvQdLkyHqOffakYZPuWJUDNu3jVXtHALDyTv3cww==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz", + "integrity": "sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/visitor-keys": "5.25.0" + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4172,12 +4154,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.25.0.tgz", - "integrity": "sha512-B6nb3GK3Gv1Rsb2pqalebe/RyQoyG/WDy9yhj8EE0Ikds4Xa8RR28nHz+wlt4tMZk5bnAr0f3oC8TuDAd5CPrw==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.26.0.tgz", + "integrity": "sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.25.0", + "@typescript-eslint/utils": "5.26.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -4198,9 +4180,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.25.0.tgz", - "integrity": "sha512-7fWqfxr0KNHj75PFqlGX24gWjdV/FDBABXL5dyvBOWHpACGyveok8Uj4ipPX/1fGU63fBkzSIycEje4XsOxUFA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.26.0.tgz", + "integrity": "sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4211,13 +4193,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.25.0.tgz", - "integrity": "sha512-MrPODKDych/oWs/71LCnuO7NyR681HuBly2uLnX3r5i4ME7q/yBqC4hW33kmxtuauLTM0OuBOhhkFaxCCOjEEw==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz", + "integrity": "sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/visitor-keys": "5.25.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4238,15 +4220,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.25.0.tgz", - "integrity": "sha512-qNC9bhnz/n9Kba3yI6HQgQdBLuxDoMgdjzdhSInZh6NaDnFpTUlwNGxplUFWfY260Ya0TRPvkg9dd57qxrJI9g==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.26.0.tgz", + "integrity": "sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.25.0", - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/typescript-estree": "5.25.0", + "@typescript-eslint/scope-manager": "5.26.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/typescript-estree": "5.26.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -4262,12 +4244,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.25.0.tgz", - "integrity": "sha512-yd26vFgMsC4h2dgX4+LR+GeicSKIfUvZREFLf3DDjZPtqgLx5AJZr6TetMNwFP9hcKreTTeztQYBTNbNoOycwA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz", + "integrity": "sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/types": "5.26.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -4749,9 +4731,9 @@ } }, "node_modules/aws-cdk-lib": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.24.1.tgz", - "integrity": "sha512-xGeEX+9wPGppSiIUdf/JTLMmqMikGhlSi7bjijl3lwncZtySkdjX0j+W2A1fuKp0S8Yd2axkwVkltIMxzNH/gw==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.25.0.tgz", + "integrity": "sha512-rcQeQu/lTmi1tg5DwV0gBqJtF73khApfHt9n7BIHkKbUWvCB50lIL1Q1/7cHvTicfQ62UnwFoPWwB0YqQceDVQ==", "bundleDependencies": [ "@balena/dockerignore", "case", @@ -4971,6 +4953,16 @@ "node": ">= 10.0.0" } }, + "node_modules/aws-sdk/node_modules/uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -5433,14 +5425,14 @@ "dev": true }, "node_modules/cdk-assets": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/cdk-assets/-/cdk-assets-2.24.1.tgz", - "integrity": "sha512-/MmEGCFqWmOkXwLOKeRbcy9xquA14wkQmtP6Pvcnh939ehmTK4MtQ0M5iA/R2xkI1wyeff3FVYe3zCTbLHRCSw==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/cdk-assets/-/cdk-assets-2.25.0.tgz", + "integrity": "sha512-ItiYgIrIBMyhxVOVrs8oO3d3T5BQeNDAAq1ZwqlHzf94c8B7O9rwZ37LSCpgYY8PZjprISbpL9/AgKQGt/7vwA==", "dev": true, "hasShrinkwrap": true, "dependencies": { - "@aws-cdk/cloud-assembly-schema": "2.24.1", - "@aws-cdk/cx-api": "2.24.1", + "@aws-cdk/cloud-assembly-schema": "2.25.0", + "@aws-cdk/cx-api": "2.25.0", "archiver": "^5.3.1", "aws-sdk": "^2.1093.0", "glob": "^7.2.0", @@ -5456,7 +5448,7 @@ } }, "node_modules/cdk-assets/node_modules/@aws-cdk/cloud-assembly-schema": { - "version": "2.24.1", + "version": "2.25.0", "dev": true, "dependencies": { "jsonschema": "^1.4.0", @@ -5464,10 +5456,10 @@ } }, "node_modules/cdk-assets/node_modules/@aws-cdk/cx-api": { - "version": "2.24.1", + "version": "2.25.0", "dev": true, "dependencies": { - "@aws-cdk/cloud-assembly-schema": "2.24.1", + "@aws-cdk/cloud-assembly-schema": "2.25.0", "semver": "^7.3.7" } }, @@ -6166,7 +6158,7 @@ "node_modules/charenc": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", "dev": true, "engines": { "node": "*" @@ -6433,9 +6425,9 @@ "dev": true }, "node_modules/constructs": { - "version": "10.1.12", - "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.12.tgz", - "integrity": "sha512-u9WKNab4gwzdSxQg1BjVP6g5xDDV1j9mwVL5Z/EYRycCYn3XWDXPK5qLt4hQ45d68TqZ5tGOV075fNPWL5DB1w==", + "version": "10.1.19", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.19.tgz", + "integrity": "sha512-fkwDjoJ1LW8sjfXDkSftTJnoQm3+EmsKyM8i+bgQh/n5zOAvW9znMU7o3qooKiGJZ8iJtvkEX54I6ZRGrmJhYw==", "dev": true, "engines": { "node": ">= 14.17.0" @@ -7272,9 +7264,9 @@ } }, "node_modules/esbuild": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.39.tgz", - "integrity": "sha512-2kKujuzvRWYtwvNjYDY444LQIA3TyJhJIX3Yo4+qkFlDDtGlSicWgeHVJqMUP/2sSfH10PGwfsj+O2ro1m10xQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.40.tgz", + "integrity": "sha512-toIoQk3ODEEIudsN74wXGdw1eiUN4aKRijOqiwEAqfUFlhORPYFJtACzRdRRlpUysRUUlvIUoGE1aw/MIVCWnA==", "dev": true, "hasInstallScript": true, "bin": { @@ -7284,32 +7276,32 @@ "node": ">=12" }, "optionalDependencies": { - "esbuild-android-64": "0.14.39", - "esbuild-android-arm64": "0.14.39", - "esbuild-darwin-64": "0.14.39", - "esbuild-darwin-arm64": "0.14.39", - "esbuild-freebsd-64": "0.14.39", - "esbuild-freebsd-arm64": "0.14.39", - "esbuild-linux-32": "0.14.39", - "esbuild-linux-64": "0.14.39", - "esbuild-linux-arm": "0.14.39", - "esbuild-linux-arm64": "0.14.39", - "esbuild-linux-mips64le": "0.14.39", - "esbuild-linux-ppc64le": "0.14.39", - "esbuild-linux-riscv64": "0.14.39", - "esbuild-linux-s390x": "0.14.39", - "esbuild-netbsd-64": "0.14.39", - "esbuild-openbsd-64": "0.14.39", - "esbuild-sunos-64": "0.14.39", - "esbuild-windows-32": "0.14.39", - "esbuild-windows-64": "0.14.39", - "esbuild-windows-arm64": "0.14.39" + "esbuild-android-64": "0.14.40", + "esbuild-android-arm64": "0.14.40", + "esbuild-darwin-64": "0.14.40", + "esbuild-darwin-arm64": "0.14.40", + "esbuild-freebsd-64": "0.14.40", + "esbuild-freebsd-arm64": "0.14.40", + "esbuild-linux-32": "0.14.40", + "esbuild-linux-64": "0.14.40", + "esbuild-linux-arm": "0.14.40", + "esbuild-linux-arm64": "0.14.40", + "esbuild-linux-mips64le": "0.14.40", + "esbuild-linux-ppc64le": "0.14.40", + "esbuild-linux-riscv64": "0.14.40", + "esbuild-linux-s390x": "0.14.40", + "esbuild-netbsd-64": "0.14.40", + "esbuild-openbsd-64": "0.14.40", + "esbuild-sunos-64": "0.14.40", + "esbuild-windows-32": "0.14.40", + "esbuild-windows-64": "0.14.40", + "esbuild-windows-arm64": "0.14.40" } }, "node_modules/esbuild-android-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.39.tgz", - "integrity": "sha512-EJOu04p9WgZk0UoKTqLId9VnIsotmI/Z98EXrKURGb3LPNunkeffqQIkjS2cAvidh+OK5uVrXaIP229zK6GvhQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.40.tgz", + "integrity": "sha512-+69t+bmJWWhTyG8waJZcu4UGzM4NbDXAwssTEDYwonyz6L/Is11Y3csJhE16RM0a1GeDin0n810vNP+NVjttKA==", "cpu": [ "x64" ], @@ -7323,9 +7315,9 @@ } }, "node_modules/esbuild-android-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.39.tgz", - "integrity": "sha512-+twajJqO7n3MrCz9e+2lVOnFplRsaGRwsq1KL/uOy7xK7QdRSprRQcObGDeDZUZsacD5gUkk6OiHiYp6RzU3CA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.40.tgz", + "integrity": "sha512-lVDn4d7/NL5Svrxuskmd/YcluI6uI4Ebp7A1/tWyLJJYbvfIy5l4Vy8GMhErGLePbRyJJiuBP9xusapK4u+6bg==", "cpu": [ "arm64" ], @@ -7339,9 +7331,9 @@ } }, "node_modules/esbuild-darwin-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.39.tgz", - "integrity": "sha512-ImT6eUw3kcGcHoUxEcdBpi6LfTRWaV6+qf32iYYAfwOeV+XaQ/Xp5XQIBiijLeo+LpGci9M0FVec09nUw41a5g==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.40.tgz", + "integrity": "sha512-b5u3IXCHhOjkRHIQTSxCN7ObUR5NTyJCP9LrnJ69dEEi1w1usI40T/VNyTTCs7n0UgEH7/zi27vBxbZU+sU4Ew==", "cpu": [ "x64" ], @@ -7355,9 +7347,9 @@ } }, "node_modules/esbuild-darwin-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.39.tgz", - "integrity": "sha512-/fcQ5UhE05OiT+bW5v7/up1bDsnvaRZPJxXwzXsMRrr7rZqPa85vayrD723oWMT64dhrgWeA3FIneF8yER0XTw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.40.tgz", + "integrity": "sha512-Wn0C2nrZSANvzK9efcxjKpv9l8yUC4PtYMmnf775gUNwak7sqecuoelhbUTshhrwsfjCNfjsrUhsHY2OHUiEdw==", "cpu": [ "arm64" ], @@ -7371,9 +7363,9 @@ } }, "node_modules/esbuild-freebsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.39.tgz", - "integrity": "sha512-oMNH8lJI4wtgN5oxuFP7BQ22vgB/e3Tl5Woehcd6i2r6F3TszpCnNl8wo2d/KvyQ4zvLvCWAlRciumhQg88+kQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.40.tgz", + "integrity": "sha512-B9WZNUn7Y9f97xrQGBAQPKsebeFZzAd+JCdsLCexrVfTjB24b+/Iuq5O2z/q5Meg7Yz0S+j8AO6ncpvNkK2u0w==", "cpu": [ "x64" ], @@ -7387,9 +7379,9 @@ } }, "node_modules/esbuild-freebsd-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.39.tgz", - "integrity": "sha512-1GHK7kwk57ukY2yI4ILWKJXaxfr+8HcM/r/JKCGCPziIVlL+Wi7RbJ2OzMcTKZ1HpvEqCTBT/J6cO4ZEwW4Ypg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.40.tgz", + "integrity": "sha512-3aB9uJv2/lmQNzwmieNyyOdxKi+3ERwrqf3snBu/oEng8b7nMBNrEN+p7jjkTYNYmo291KiH/5EIAXwpsZndFw==", "cpu": [ "arm64" ], @@ -7403,9 +7395,9 @@ } }, "node_modules/esbuild-linux-32": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.39.tgz", - "integrity": "sha512-g97Sbb6g4zfRLIxHgW2pc393DjnkTRMeq3N1rmjDUABxpx8SjocK4jLen+/mq55G46eE2TA0MkJ4R3SpKMu7dg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.40.tgz", + "integrity": "sha512-LMI9BMeuGf6NRS23LbyVarN3nf+JyNcfiVEnR9M8691kL5Ffp3e7oTYRH65XdTUirM9D6e5cppfWLjvrRbGnRw==", "cpu": [ "ia32" ], @@ -7419,9 +7411,9 @@ } }, "node_modules/esbuild-linux-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.39.tgz", - "integrity": "sha512-4tcgFDYWdI+UbNMGlua9u1Zhu0N5R6u9tl5WOM8aVnNX143JZoBZLpCuUr5lCKhnD0SCO+5gUyMfupGrHtfggQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.40.tgz", + "integrity": "sha512-D/NkZ9QR2KShJXNuRWANxJzPCrwJoAoWVetQiGIAepzXbNh+dBo5ZLmlh8Txs6tE600N67MF/ScHP1S4FxLaJg==", "cpu": [ "x64" ], @@ -7435,9 +7427,9 @@ } }, "node_modules/esbuild-linux-arm": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.39.tgz", - "integrity": "sha512-t0Hn1kWVx5UpCzAJkKRfHeYOLyFnXwYynIkK54/h3tbMweGI7dj400D1k0Vvtj2u1P+JTRT9tx3AjtLEMmfVBQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.40.tgz", + "integrity": "sha512-2a0yZXbzr/s3iCgZ84jFTHf+NyyXQ/7/Sd28oQq5iyy7TbJNS973XUOwgdlHdRqBxvw0nIWTw2FuwyUJAFa6Qg==", "cpu": [ "arm" ], @@ -7451,9 +7443,9 @@ } }, "node_modules/esbuild-linux-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.39.tgz", - "integrity": "sha512-23pc8MlD2D6Px1mV8GMglZlKgwgNKAO8gsgsLLcXWSs9lQsCYkIlMo/2Ycfo5JrDIbLdwgP8D2vpfH2KcBqrDQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.40.tgz", + "integrity": "sha512-TIoZWKjrMJxZujh2nSsrrLkLDLzD/oBpSiobdUGe2bqKZpT4m7fkR0tEDNyM6Xvzj9uTQ4iTfJr2ekmpg3DyTQ==", "cpu": [ "arm64" ], @@ -7467,9 +7459,9 @@ } }, "node_modules/esbuild-linux-mips64le": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.39.tgz", - "integrity": "sha512-epwlYgVdbmkuRr5n4es3B+yDI0I2e/nxhKejT9H0OLxFAlMkeQZxSpxATpDc9m8NqRci6Kwyb/SfmD1koG2Zuw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.40.tgz", + "integrity": "sha512-SP30CYYSDMwr6mPUbjvD4K2R03GQHIQGrkrbXt5NM6mFqzR+S+JKVv9juq/CjlM9V7iIPPPqe4mb4DWC3b8pBw==", "cpu": [ "mips64el" ], @@ -7483,9 +7475,9 @@ } }, "node_modules/esbuild-linux-ppc64le": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.39.tgz", - "integrity": "sha512-W/5ezaq+rQiQBThIjLMNjsuhPHg+ApVAdTz2LvcuesZFMsJoQAW2hutoyg47XxpWi7aEjJGrkS26qCJKhRn3QQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.40.tgz", + "integrity": "sha512-HlU3dfIdwzm/zhbXvMa5yWIafBeI7v6BDaEuApAww5Av8ht7lXgD1fZ11iJVPjRWNLcCZUgZaJKFrosSPQO/Bw==", "cpu": [ "ppc64" ], @@ -7499,9 +7491,9 @@ } }, "node_modules/esbuild-linux-riscv64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.39.tgz", - "integrity": "sha512-IS48xeokcCTKeQIOke2O0t9t14HPvwnZcy+5baG13Z1wxs9ZrC5ig5ypEQQh4QMKxURD5TpCLHw2W42CLuVZaA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.40.tgz", + "integrity": "sha512-4ImTBEUykhIcIq3c97dIXnsmAHb//cjHh4nxttLhwpTZ+b/KdM1IpttqFhB0AFLUsrjP4WOCMxAm5FOL7FC2uw==", "cpu": [ "riscv64" ], @@ -7515,9 +7507,9 @@ } }, "node_modules/esbuild-linux-s390x": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.39.tgz", - "integrity": "sha512-zEfunpqR8sMomqXhNTFEKDs+ik7HC01m3M60MsEjZOqaywHu5e5682fMsqOlZbesEAAaO9aAtRBsU7CHnSZWyA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.40.tgz", + "integrity": "sha512-kFCPKictYjpt5rt0bFdbSmb8AWut75sIh1fZUTCVkujWMcpdL8ADuYMfVrN7R0CSQvkF1nQtrIBfp+ZU7R7KNQ==", "cpu": [ "s390x" ], @@ -7531,9 +7523,9 @@ } }, "node_modules/esbuild-netbsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.39.tgz", - "integrity": "sha512-Uo2suJBSIlrZCe4E0k75VDIFJWfZy+bOV6ih3T4MVMRJh1lHJ2UyGoaX4bOxomYN3t+IakHPyEoln1+qJ1qYaA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.40.tgz", + "integrity": "sha512-Hwzw2cSI6+p03TUjugzec54W6uW4tA1J/WovmlHl96Icjy73eWnAyCQwgG6ZLirXpt2aDfTEVShNaC2fE4KVhQ==", "cpu": [ "x64" ], @@ -7547,9 +7539,9 @@ } }, "node_modules/esbuild-openbsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.39.tgz", - "integrity": "sha512-secQU+EpgUPpYjJe3OecoeGKVvRMLeKUxSMGHnK+aK5uQM3n1FPXNJzyz1LHFOo0WOyw+uoCxBYdM4O10oaCAA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.40.tgz", + "integrity": "sha512-L4Pix+N2Sb0HvLl8zyn1Aq2aYD5Jt8rk9zwW3NUx19yafJqAFsnUN7L/XbbWSv5/XMqnY4hpAvIP2pyeV9+Bjw==", "cpu": [ "x64" ], @@ -7563,9 +7555,9 @@ } }, "node_modules/esbuild-sunos-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.39.tgz", - "integrity": "sha512-qHq0t5gePEDm2nqZLb+35p/qkaXVS7oIe32R0ECh2HOdiXXkj/1uQI9IRogGqKkK+QjDG+DhwiUw7QoHur/Rwg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.40.tgz", + "integrity": "sha512-iEITaelmmCO43ewk0bOYRGrewu2i2h2V0gKHQ/rz1MRqif8ohY/FNLn4WnThGUlrEgA1nTL1tc57PL12QbOo2Q==", "cpu": [ "x64" ], @@ -7579,9 +7571,9 @@ } }, "node_modules/esbuild-windows-32": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.39.tgz", - "integrity": "sha512-XPjwp2OgtEX0JnOlTgT6E5txbRp6Uw54Isorm3CwOtloJazeIWXuiwK0ONJBVb/CGbiCpS7iP2UahGgd2p1x+Q==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.40.tgz", + "integrity": "sha512-uXHmKl4RtCkK1v6QQK4hsP8Xiku6CwUM/W7Yv2rGtfylSOrrWKcpqwlDWx6bIm1Hav1uBC8hbgJ1hY6pWFNhNA==", "cpu": [ "ia32" ], @@ -7595,9 +7587,9 @@ } }, "node_modules/esbuild-windows-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.39.tgz", - "integrity": "sha512-E2wm+5FwCcLpKsBHRw28bSYQw0Ikxb7zIMxw3OPAkiaQhLVr3dnVO8DofmbWhhf6b97bWzg37iSZ45ZDpLw7Ow==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.40.tgz", + "integrity": "sha512-dvgQLVYnJzqce97AeHvxWtV9lHRDxIPatOikmrh1vt/SCE4tyVo5nAT/2SiZBJ6DzYmZT3BcJTV24bBLyu4ZUA==", "cpu": [ "x64" ], @@ -7611,9 +7603,9 @@ } }, "node_modules/esbuild-windows-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.39.tgz", - "integrity": "sha512-sBZQz5D+Gd0EQ09tZRnz/PpVdLwvp/ufMtJ1iDFYddDaPpZXKqPyaxfYBLs3ueiaksQ26GGa7sci0OqFzNs7KA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.40.tgz", + "integrity": "sha512-c8ohQSFtRq78pZ/LQcpMft2xuR2IEitQkW07f9K7iN4EBdJMrCpOoXrZCfmX9lAC8yYOU7xHoLFYVln3n6fK1Q==", "cpu": [ "arm64" ], @@ -7730,12 +7722,12 @@ } }, "node_modules/eslint": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.15.0.tgz", - "integrity": "sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", + "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.2.3", + "@eslint/eslintrc": "^1.3.0", "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -7753,7 +7745,7 @@ "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", - "globals": "^13.6.0", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -8973,9 +8965,9 @@ } }, "node_modules/globals": { - "version": "13.14.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.14.0.tgz", - "integrity": "sha512-ERO68sOYwm5UuLvSJTY7w7NP2c8S4UcXs3X1GBX8cwOr+ShOcDBbCY5mH4zxz0jsYCdJ8ve8Mv9n2YGJMB1aeg==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -13482,6 +13474,16 @@ "node": ">=0.8" } }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -14345,6 +14347,16 @@ "node": ">=8" } }, + "node_modules/temp-write/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, "node_modules/terminal-link": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", @@ -14547,12 +14559,12 @@ } }, "node_modules/ts-node": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", - "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", + "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", "dev": true, "dependencies": { - "@cspotcode/source-map-support": "0.7.0", + "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", @@ -14563,7 +14575,7 @@ "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", + "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "bin": { @@ -14934,13 +14946,12 @@ } }, "node_modules/uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, "bin": { - "uuid": "bin/uuid" + "uuid": "dist/bin/uuid" } }, "node_modules/v8-compile-cache": { @@ -14950,9 +14961,9 @@ "dev": true }, "node_modules/v8-compile-cache-lib": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", - "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, "node_modules/v8-to-istanbul": { @@ -15514,15 +15525,15 @@ }, "packages/commons": { "name": "@aws-lambda-powertools/commons", - "version": "0.9.0", + "version": "0.9.1", "license": "MIT-0" }, "packages/logger": { "name": "@aws-lambda-powertools/logger", - "version": "0.9.0", + "version": "0.9.1", "license": "MIT", "dependencies": { - "@aws-lambda-powertools/commons": "^0.9.0", + "@aws-lambda-powertools/commons": "^0.9.1", "lodash.clonedeep": "^4.5.0", "lodash.merge": "^4.6.2", "lodash.pickby": "^4.6.0" @@ -15535,10 +15546,10 @@ }, "packages/metrics": { "name": "@aws-lambda-powertools/metrics", - "version": "0.9.0", + "version": "0.9.1", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^0.9.0" + "@aws-lambda-powertools/commons": "^0.9.1" }, "devDependencies": { "@types/promise-retry": "^1.1.3", @@ -15547,10 +15558,10 @@ }, "packages/tracer": { "name": "@aws-lambda-powertools/tracer", - "version": "0.9.0", + "version": "0.9.1", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^0.9.0", + "@aws-lambda-powertools/commons": "^0.9.1", "aws-xray-sdk-core": "^3.3.4" }, "devDependencies": { @@ -15572,9 +15583,9 @@ } }, "@aws-cdk/cfnspec": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@aws-cdk/cfnspec/-/cfnspec-2.24.1.tgz", - "integrity": "sha512-2YOuScwQpeOkv0kLM2kkPMZBm7z7DhKIRVBZORZWctQHDhFe43RrSMThBwKgrp/GpnQV/1fN2bkyXpYyF0MeAg==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cfnspec/-/cfnspec-2.25.0.tgz", + "integrity": "sha512-bdiPeudKouMV3lgEOKC3VyaNw7rfom3z08vfOpYd0J81mo5k71RaxzqJaOXRBM2JpXqD1L5UpnCf+WahFAc4vg==", "dev": true, "requires": { "fs-extra": "^9.1.0", @@ -15582,9 +15593,9 @@ } }, "@aws-cdk/cloud-assembly-schema": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-2.24.1.tgz", - "integrity": "sha512-5M8aKFR8bdKPJZRMKy+5ARx0LGDWyNiqjfTA2JgcElpDDgiwyt1Y6gUe5e67udoW3aeoTBwsbJulNCdOH1XTEA==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-2.25.0.tgz", + "integrity": "sha512-leAHCe12QCGrxbOG5AeqzPQhbZEZTqlyaxZfJaPHj0fxROXFfmO+9tIMgHADx+MwJtHQGa873I+3oVkcjRVxuw==", "dev": true, "requires": { "jsonschema": "^1.4.0", @@ -15620,12 +15631,12 @@ } }, "@aws-cdk/cloudformation-diff": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-2.24.1.tgz", - "integrity": "sha512-swE+2HJzTmkQRROOBAYWe1KYu1mEs6+1qDwJMYyybeObCfeqluJXXoTQlUXXOqDOzmUfBtEIbehtPdqFPTMf8Q==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-2.25.0.tgz", + "integrity": "sha512-EkqlIgl8/NdvWSnQkS31zgUZA8/GAAk64fsz+9u/cTClmB7zRyhJaxflMWhpNsWWPJ20KybLRd9KiEgk8b5cOw==", "dev": true, "requires": { - "@aws-cdk/cfnspec": "2.24.1", + "@aws-cdk/cfnspec": "2.25.0", "@types/node": "^10.17.60", "chalk": "^4", "diff": "^5.0.0", @@ -15643,12 +15654,12 @@ } }, "@aws-cdk/cx-api": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-2.24.1.tgz", - "integrity": "sha512-TDvCqzGetm46oEYTxJZFHIKTgoAT9MAzds8maxLlwqajDg/AhEjGjOK5gZrmBvFcU+1Zx0a3dt0oGgsWf8Z63w==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-2.25.0.tgz", + "integrity": "sha512-WzylRlcc6oIlYPlWHlZu+GW289U/Hz++rFPcif/flyI+z9Qw/OgZUnHLYUamSJ5N0jbffmeTHvgjdaIf8S7kWw==", "dev": true, "requires": { - "@aws-cdk/cloud-assembly-schema": "2.24.1", + "@aws-cdk/cloud-assembly-schema": "2.25.0", "semver": "^7.3.7" }, "dependencies": { @@ -15777,7 +15788,7 @@ "@aws-lambda-powertools/logger": { "version": "file:packages/logger", "requires": { - "@aws-lambda-powertools/commons": "^0.9.0", + "@aws-lambda-powertools/commons": "^0.9.1", "@types/lodash.clonedeep": "^4.5.6", "@types/lodash.merge": "^4.6.6", "@types/lodash.pickby": "^4.6.6", @@ -15789,7 +15800,7 @@ "@aws-lambda-powertools/metrics": { "version": "file:packages/metrics", "requires": { - "@aws-lambda-powertools/commons": "^0.9.0", + "@aws-lambda-powertools/commons": "^0.9.1", "@types/promise-retry": "^1.1.3", "promise-retry": "^2.0.1" } @@ -15797,7 +15808,7 @@ "@aws-lambda-powertools/tracer": { "version": "file:packages/tracer", "requires": { - "@aws-lambda-powertools/commons": "^0.9.0", + "@aws-lambda-powertools/commons": "^0.9.1", "@aws-sdk/client-dynamodb": "^3.58.0", "@types/promise-retry": "^1.1.3", "aws-xray-sdk-core": "^3.3.4", @@ -15857,14 +15868,6 @@ "@aws-sdk/util-waiter": "3.55.0", "tslib": "^2.3.1", "uuid": "^8.3.2" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - } } }, "@aws-sdk/client-sso": { @@ -16165,14 +16168,6 @@ "@aws-sdk/util-middleware": "3.55.0", "tslib": "^2.3.1", "uuid": "^8.3.2" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - } } }, "@aws-sdk/middleware-sdk-sts": { @@ -16964,9 +16959,9 @@ "dev": true }, "@commitlint/cli": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.0.0.tgz", - "integrity": "sha512-Np6slCdVVG1XwMvwbZrXIzS1INPAD5QmN4L6al04AmCd4nAPU63gxgxC5Mz0Fmx7va23Uvb0S7yEFV1JPhvPUQ==", + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.0.1.tgz", + "integrity": "sha512-5xT1G5pnynR0tk/ms8Ji7yr9lZCeQs4GLVVtyK/gw20w+enoLTVuRKKY9zg88hy9FoCycc/W8iip2xv3c8payg==", "dev": true, "requires": { "@commitlint/format": "^17.0.0", @@ -16974,6 +16969,7 @@ "@commitlint/load": "^17.0.0", "@commitlint/read": "^17.0.0", "@commitlint/types": "^17.0.0", + "execa": "^5.0.0", "lodash": "^4.17.19", "resolve-from": "5.0.0", "resolve-global": "1.0.0", @@ -17150,31 +17146,25 @@ "chalk": "^4.1.0" } }, - "@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true - }, "@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "requires": { - "@cspotcode/source-map-consumer": "0.8.0" + "@jridgewell/trace-mapping": "0.3.9" } }, "@eslint/eslintrc": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz", - "integrity": "sha512-uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", + "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", "espree": "^9.3.2", - "globals": "^13.9.0", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -17492,9 +17482,9 @@ "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", - "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.0.3", @@ -18842,6 +18832,12 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, + "@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, "@types/yargs": { "version": "16.0.4", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", @@ -18858,14 +18854,14 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.25.0.tgz", - "integrity": "sha512-icYrFnUzvm+LhW0QeJNKkezBu6tJs9p/53dpPLFH8zoM9w1tfaKzVurkPotEpAqQ8Vf8uaFyL5jHd0Vs6Z0ZQg==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.26.0.tgz", + "integrity": "sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.25.0", - "@typescript-eslint/type-utils": "5.25.0", - "@typescript-eslint/utils": "5.25.0", + "@typescript-eslint/scope-manager": "5.26.0", + "@typescript-eslint/type-utils": "5.26.0", + "@typescript-eslint/utils": "5.26.0", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", @@ -18875,41 +18871,41 @@ } }, "@typescript-eslint/parser": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.25.0.tgz", - "integrity": "sha512-r3hwrOWYbNKP1nTcIw/aZoH+8bBnh/Lh1iDHoFpyG4DnCpvEdctrSl6LOo19fZbzypjQMHdajolxs6VpYoChgA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.26.0.tgz", + "integrity": "sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.25.0", - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/typescript-estree": "5.25.0", + "@typescript-eslint/scope-manager": "5.26.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/typescript-estree": "5.26.0", "debug": "^4.3.4" }, "dependencies": { "@typescript-eslint/scope-manager": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.25.0.tgz", - "integrity": "sha512-p4SKTFWj+2VpreUZ5xMQsBMDdQ9XdRvODKXN4EksyBjFp2YvQdLkyHqOffakYZPuWJUDNu3jVXtHALDyTv3cww==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz", + "integrity": "sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/visitor-keys": "5.25.0" + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0" } }, "@typescript-eslint/types": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.25.0.tgz", - "integrity": "sha512-7fWqfxr0KNHj75PFqlGX24gWjdV/FDBABXL5dyvBOWHpACGyveok8Uj4ipPX/1fGU63fBkzSIycEje4XsOxUFA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.26.0.tgz", + "integrity": "sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.25.0.tgz", - "integrity": "sha512-MrPODKDych/oWs/71LCnuO7NyR681HuBly2uLnX3r5i4ME7q/yBqC4hW33kmxtuauLTM0OuBOhhkFaxCCOjEEw==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz", + "integrity": "sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/visitor-keys": "5.25.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -18918,52 +18914,52 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.25.0.tgz", - "integrity": "sha512-yd26vFgMsC4h2dgX4+LR+GeicSKIfUvZREFLf3DDjZPtqgLx5AJZr6TetMNwFP9hcKreTTeztQYBTNbNoOycwA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz", + "integrity": "sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==", "dev": true, "requires": { - "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/types": "5.26.0", "eslint-visitor-keys": "^3.3.0" } } } }, "@typescript-eslint/scope-manager": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.25.0.tgz", - "integrity": "sha512-p4SKTFWj+2VpreUZ5xMQsBMDdQ9XdRvODKXN4EksyBjFp2YvQdLkyHqOffakYZPuWJUDNu3jVXtHALDyTv3cww==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz", + "integrity": "sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/visitor-keys": "5.25.0" + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0" } }, "@typescript-eslint/type-utils": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.25.0.tgz", - "integrity": "sha512-B6nb3GK3Gv1Rsb2pqalebe/RyQoyG/WDy9yhj8EE0Ikds4Xa8RR28nHz+wlt4tMZk5bnAr0f3oC8TuDAd5CPrw==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.26.0.tgz", + "integrity": "sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.25.0", + "@typescript-eslint/utils": "5.26.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.25.0.tgz", - "integrity": "sha512-7fWqfxr0KNHj75PFqlGX24gWjdV/FDBABXL5dyvBOWHpACGyveok8Uj4ipPX/1fGU63fBkzSIycEje4XsOxUFA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.26.0.tgz", + "integrity": "sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.25.0.tgz", - "integrity": "sha512-MrPODKDych/oWs/71LCnuO7NyR681HuBly2uLnX3r5i4ME7q/yBqC4hW33kmxtuauLTM0OuBOhhkFaxCCOjEEw==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz", + "integrity": "sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/visitor-keys": "5.25.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -18972,26 +18968,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.25.0.tgz", - "integrity": "sha512-qNC9bhnz/n9Kba3yI6HQgQdBLuxDoMgdjzdhSInZh6NaDnFpTUlwNGxplUFWfY260Ya0TRPvkg9dd57qxrJI9g==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.26.0.tgz", + "integrity": "sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.25.0", - "@typescript-eslint/types": "5.25.0", - "@typescript-eslint/typescript-estree": "5.25.0", + "@typescript-eslint/scope-manager": "5.26.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/typescript-estree": "5.26.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.25.0.tgz", - "integrity": "sha512-yd26vFgMsC4h2dgX4+LR+GeicSKIfUvZREFLf3DDjZPtqgLx5AJZr6TetMNwFP9hcKreTTeztQYBTNbNoOycwA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz", + "integrity": "sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==", "dev": true, "requires": { - "@typescript-eslint/types": "5.25.0", + "@typescript-eslint/types": "5.26.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -19372,9 +19368,9 @@ } }, "aws-cdk-lib": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.24.1.tgz", - "integrity": "sha512-xGeEX+9wPGppSiIUdf/JTLMmqMikGhlSi7bjijl3lwncZtySkdjX0j+W2A1fuKp0S8Yd2axkwVkltIMxzNH/gw==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.25.0.tgz", + "integrity": "sha512-rcQeQu/lTmi1tg5DwV0gBqJtF73khApfHt9n7BIHkKbUWvCB50lIL1Q1/7cHvTicfQ62UnwFoPWwB0YqQceDVQ==", "dev": true, "requires": { "@balena/dockerignore": "^1.0.2", @@ -19518,6 +19514,14 @@ "url": "0.10.3", "uuid": "3.3.2", "xml2js": "0.4.19" + }, + "dependencies": { + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + } } }, "aws-sign2": { @@ -19877,13 +19881,13 @@ "dev": true }, "cdk-assets": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/cdk-assets/-/cdk-assets-2.24.1.tgz", - "integrity": "sha512-/MmEGCFqWmOkXwLOKeRbcy9xquA14wkQmtP6Pvcnh939ehmTK4MtQ0M5iA/R2xkI1wyeff3FVYe3zCTbLHRCSw==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/cdk-assets/-/cdk-assets-2.25.0.tgz", + "integrity": "sha512-ItiYgIrIBMyhxVOVrs8oO3d3T5BQeNDAAq1ZwqlHzf94c8B7O9rwZ37LSCpgYY8PZjprISbpL9/AgKQGt/7vwA==", "dev": true, "requires": { - "@aws-cdk/cloud-assembly-schema": "2.24.1", - "@aws-cdk/cx-api": "2.24.1", + "@aws-cdk/cloud-assembly-schema": "2.25.0", + "@aws-cdk/cx-api": "2.25.0", "archiver": "^5.3.1", "aws-sdk": "^2.1093.0", "glob": "^7.2.0", @@ -19892,7 +19896,7 @@ }, "dependencies": { "@aws-cdk/cloud-assembly-schema": { - "version": "2.24.1", + "version": "2.25.0", "dev": true, "requires": { "jsonschema": "^1.4.0", @@ -19900,10 +19904,10 @@ } }, "@aws-cdk/cx-api": { - "version": "2.24.1", + "version": "2.25.0", "dev": true, "requires": { - "@aws-cdk/cloud-assembly-schema": "2.24.1", + "@aws-cdk/cloud-assembly-schema": "2.25.0", "semver": "^7.3.7" } }, @@ -20607,7 +20611,7 @@ "charenc": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", "dev": true }, "chownr": { @@ -20823,9 +20827,9 @@ "dev": true }, "constructs": { - "version": "10.1.12", - "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.12.tgz", - "integrity": "sha512-u9WKNab4gwzdSxQg1BjVP6g5xDDV1j9mwVL5Z/EYRycCYn3XWDXPK5qLt4hQ45d68TqZ5tGOV075fNPWL5DB1w==", + "version": "10.1.19", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.19.tgz", + "integrity": "sha512-fkwDjoJ1LW8sjfXDkSftTJnoQm3+EmsKyM8i+bgQh/n5zOAvW9znMU7o3qooKiGJZ8iJtvkEX54I6ZRGrmJhYw==", "dev": true }, "conventional-changelog-angular": { @@ -21474,170 +21478,170 @@ } }, "esbuild": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.39.tgz", - "integrity": "sha512-2kKujuzvRWYtwvNjYDY444LQIA3TyJhJIX3Yo4+qkFlDDtGlSicWgeHVJqMUP/2sSfH10PGwfsj+O2ro1m10xQ==", - "dev": true, - "requires": { - "esbuild-android-64": "0.14.39", - "esbuild-android-arm64": "0.14.39", - "esbuild-darwin-64": "0.14.39", - "esbuild-darwin-arm64": "0.14.39", - "esbuild-freebsd-64": "0.14.39", - "esbuild-freebsd-arm64": "0.14.39", - "esbuild-linux-32": "0.14.39", - "esbuild-linux-64": "0.14.39", - "esbuild-linux-arm": "0.14.39", - "esbuild-linux-arm64": "0.14.39", - "esbuild-linux-mips64le": "0.14.39", - "esbuild-linux-ppc64le": "0.14.39", - "esbuild-linux-riscv64": "0.14.39", - "esbuild-linux-s390x": "0.14.39", - "esbuild-netbsd-64": "0.14.39", - "esbuild-openbsd-64": "0.14.39", - "esbuild-sunos-64": "0.14.39", - "esbuild-windows-32": "0.14.39", - "esbuild-windows-64": "0.14.39", - "esbuild-windows-arm64": "0.14.39" + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.40.tgz", + "integrity": "sha512-toIoQk3ODEEIudsN74wXGdw1eiUN4aKRijOqiwEAqfUFlhORPYFJtACzRdRRlpUysRUUlvIUoGE1aw/MIVCWnA==", + "dev": true, + "requires": { + "esbuild-android-64": "0.14.40", + "esbuild-android-arm64": "0.14.40", + "esbuild-darwin-64": "0.14.40", + "esbuild-darwin-arm64": "0.14.40", + "esbuild-freebsd-64": "0.14.40", + "esbuild-freebsd-arm64": "0.14.40", + "esbuild-linux-32": "0.14.40", + "esbuild-linux-64": "0.14.40", + "esbuild-linux-arm": "0.14.40", + "esbuild-linux-arm64": "0.14.40", + "esbuild-linux-mips64le": "0.14.40", + "esbuild-linux-ppc64le": "0.14.40", + "esbuild-linux-riscv64": "0.14.40", + "esbuild-linux-s390x": "0.14.40", + "esbuild-netbsd-64": "0.14.40", + "esbuild-openbsd-64": "0.14.40", + "esbuild-sunos-64": "0.14.40", + "esbuild-windows-32": "0.14.40", + "esbuild-windows-64": "0.14.40", + "esbuild-windows-arm64": "0.14.40" } }, "esbuild-android-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.39.tgz", - "integrity": "sha512-EJOu04p9WgZk0UoKTqLId9VnIsotmI/Z98EXrKURGb3LPNunkeffqQIkjS2cAvidh+OK5uVrXaIP229zK6GvhQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.40.tgz", + "integrity": "sha512-+69t+bmJWWhTyG8waJZcu4UGzM4NbDXAwssTEDYwonyz6L/Is11Y3csJhE16RM0a1GeDin0n810vNP+NVjttKA==", "dev": true, "optional": true }, "esbuild-android-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.39.tgz", - "integrity": "sha512-+twajJqO7n3MrCz9e+2lVOnFplRsaGRwsq1KL/uOy7xK7QdRSprRQcObGDeDZUZsacD5gUkk6OiHiYp6RzU3CA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.40.tgz", + "integrity": "sha512-lVDn4d7/NL5Svrxuskmd/YcluI6uI4Ebp7A1/tWyLJJYbvfIy5l4Vy8GMhErGLePbRyJJiuBP9xusapK4u+6bg==", "dev": true, "optional": true }, "esbuild-darwin-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.39.tgz", - "integrity": "sha512-ImT6eUw3kcGcHoUxEcdBpi6LfTRWaV6+qf32iYYAfwOeV+XaQ/Xp5XQIBiijLeo+LpGci9M0FVec09nUw41a5g==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.40.tgz", + "integrity": "sha512-b5u3IXCHhOjkRHIQTSxCN7ObUR5NTyJCP9LrnJ69dEEi1w1usI40T/VNyTTCs7n0UgEH7/zi27vBxbZU+sU4Ew==", "dev": true, "optional": true }, "esbuild-darwin-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.39.tgz", - "integrity": "sha512-/fcQ5UhE05OiT+bW5v7/up1bDsnvaRZPJxXwzXsMRrr7rZqPa85vayrD723oWMT64dhrgWeA3FIneF8yER0XTw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.40.tgz", + "integrity": "sha512-Wn0C2nrZSANvzK9efcxjKpv9l8yUC4PtYMmnf775gUNwak7sqecuoelhbUTshhrwsfjCNfjsrUhsHY2OHUiEdw==", "dev": true, "optional": true }, "esbuild-freebsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.39.tgz", - "integrity": "sha512-oMNH8lJI4wtgN5oxuFP7BQ22vgB/e3Tl5Woehcd6i2r6F3TszpCnNl8wo2d/KvyQ4zvLvCWAlRciumhQg88+kQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.40.tgz", + "integrity": "sha512-B9WZNUn7Y9f97xrQGBAQPKsebeFZzAd+JCdsLCexrVfTjB24b+/Iuq5O2z/q5Meg7Yz0S+j8AO6ncpvNkK2u0w==", "dev": true, "optional": true }, "esbuild-freebsd-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.39.tgz", - "integrity": "sha512-1GHK7kwk57ukY2yI4ILWKJXaxfr+8HcM/r/JKCGCPziIVlL+Wi7RbJ2OzMcTKZ1HpvEqCTBT/J6cO4ZEwW4Ypg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.40.tgz", + "integrity": "sha512-3aB9uJv2/lmQNzwmieNyyOdxKi+3ERwrqf3snBu/oEng8b7nMBNrEN+p7jjkTYNYmo291KiH/5EIAXwpsZndFw==", "dev": true, "optional": true }, "esbuild-linux-32": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.39.tgz", - "integrity": "sha512-g97Sbb6g4zfRLIxHgW2pc393DjnkTRMeq3N1rmjDUABxpx8SjocK4jLen+/mq55G46eE2TA0MkJ4R3SpKMu7dg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.40.tgz", + "integrity": "sha512-LMI9BMeuGf6NRS23LbyVarN3nf+JyNcfiVEnR9M8691kL5Ffp3e7oTYRH65XdTUirM9D6e5cppfWLjvrRbGnRw==", "dev": true, "optional": true }, "esbuild-linux-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.39.tgz", - "integrity": "sha512-4tcgFDYWdI+UbNMGlua9u1Zhu0N5R6u9tl5WOM8aVnNX143JZoBZLpCuUr5lCKhnD0SCO+5gUyMfupGrHtfggQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.40.tgz", + "integrity": "sha512-D/NkZ9QR2KShJXNuRWANxJzPCrwJoAoWVetQiGIAepzXbNh+dBo5ZLmlh8Txs6tE600N67MF/ScHP1S4FxLaJg==", "dev": true, "optional": true }, "esbuild-linux-arm": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.39.tgz", - "integrity": "sha512-t0Hn1kWVx5UpCzAJkKRfHeYOLyFnXwYynIkK54/h3tbMweGI7dj400D1k0Vvtj2u1P+JTRT9tx3AjtLEMmfVBQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.40.tgz", + "integrity": "sha512-2a0yZXbzr/s3iCgZ84jFTHf+NyyXQ/7/Sd28oQq5iyy7TbJNS973XUOwgdlHdRqBxvw0nIWTw2FuwyUJAFa6Qg==", "dev": true, "optional": true }, "esbuild-linux-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.39.tgz", - "integrity": "sha512-23pc8MlD2D6Px1mV8GMglZlKgwgNKAO8gsgsLLcXWSs9lQsCYkIlMo/2Ycfo5JrDIbLdwgP8D2vpfH2KcBqrDQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.40.tgz", + "integrity": "sha512-TIoZWKjrMJxZujh2nSsrrLkLDLzD/oBpSiobdUGe2bqKZpT4m7fkR0tEDNyM6Xvzj9uTQ4iTfJr2ekmpg3DyTQ==", "dev": true, "optional": true }, "esbuild-linux-mips64le": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.39.tgz", - "integrity": "sha512-epwlYgVdbmkuRr5n4es3B+yDI0I2e/nxhKejT9H0OLxFAlMkeQZxSpxATpDc9m8NqRci6Kwyb/SfmD1koG2Zuw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.40.tgz", + "integrity": "sha512-SP30CYYSDMwr6mPUbjvD4K2R03GQHIQGrkrbXt5NM6mFqzR+S+JKVv9juq/CjlM9V7iIPPPqe4mb4DWC3b8pBw==", "dev": true, "optional": true }, "esbuild-linux-ppc64le": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.39.tgz", - "integrity": "sha512-W/5ezaq+rQiQBThIjLMNjsuhPHg+ApVAdTz2LvcuesZFMsJoQAW2hutoyg47XxpWi7aEjJGrkS26qCJKhRn3QQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.40.tgz", + "integrity": "sha512-HlU3dfIdwzm/zhbXvMa5yWIafBeI7v6BDaEuApAww5Av8ht7lXgD1fZ11iJVPjRWNLcCZUgZaJKFrosSPQO/Bw==", "dev": true, "optional": true }, "esbuild-linux-riscv64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.39.tgz", - "integrity": "sha512-IS48xeokcCTKeQIOke2O0t9t14HPvwnZcy+5baG13Z1wxs9ZrC5ig5ypEQQh4QMKxURD5TpCLHw2W42CLuVZaA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.40.tgz", + "integrity": "sha512-4ImTBEUykhIcIq3c97dIXnsmAHb//cjHh4nxttLhwpTZ+b/KdM1IpttqFhB0AFLUsrjP4WOCMxAm5FOL7FC2uw==", "dev": true, "optional": true }, "esbuild-linux-s390x": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.39.tgz", - "integrity": "sha512-zEfunpqR8sMomqXhNTFEKDs+ik7HC01m3M60MsEjZOqaywHu5e5682fMsqOlZbesEAAaO9aAtRBsU7CHnSZWyA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.40.tgz", + "integrity": "sha512-kFCPKictYjpt5rt0bFdbSmb8AWut75sIh1fZUTCVkujWMcpdL8ADuYMfVrN7R0CSQvkF1nQtrIBfp+ZU7R7KNQ==", "dev": true, "optional": true }, "esbuild-netbsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.39.tgz", - "integrity": "sha512-Uo2suJBSIlrZCe4E0k75VDIFJWfZy+bOV6ih3T4MVMRJh1lHJ2UyGoaX4bOxomYN3t+IakHPyEoln1+qJ1qYaA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.40.tgz", + "integrity": "sha512-Hwzw2cSI6+p03TUjugzec54W6uW4tA1J/WovmlHl96Icjy73eWnAyCQwgG6ZLirXpt2aDfTEVShNaC2fE4KVhQ==", "dev": true, "optional": true }, "esbuild-openbsd-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.39.tgz", - "integrity": "sha512-secQU+EpgUPpYjJe3OecoeGKVvRMLeKUxSMGHnK+aK5uQM3n1FPXNJzyz1LHFOo0WOyw+uoCxBYdM4O10oaCAA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.40.tgz", + "integrity": "sha512-L4Pix+N2Sb0HvLl8zyn1Aq2aYD5Jt8rk9zwW3NUx19yafJqAFsnUN7L/XbbWSv5/XMqnY4hpAvIP2pyeV9+Bjw==", "dev": true, "optional": true }, "esbuild-sunos-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.39.tgz", - "integrity": "sha512-qHq0t5gePEDm2nqZLb+35p/qkaXVS7oIe32R0ECh2HOdiXXkj/1uQI9IRogGqKkK+QjDG+DhwiUw7QoHur/Rwg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.40.tgz", + "integrity": "sha512-iEITaelmmCO43ewk0bOYRGrewu2i2h2V0gKHQ/rz1MRqif8ohY/FNLn4WnThGUlrEgA1nTL1tc57PL12QbOo2Q==", "dev": true, "optional": true }, "esbuild-windows-32": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.39.tgz", - "integrity": "sha512-XPjwp2OgtEX0JnOlTgT6E5txbRp6Uw54Isorm3CwOtloJazeIWXuiwK0ONJBVb/CGbiCpS7iP2UahGgd2p1x+Q==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.40.tgz", + "integrity": "sha512-uXHmKl4RtCkK1v6QQK4hsP8Xiku6CwUM/W7Yv2rGtfylSOrrWKcpqwlDWx6bIm1Hav1uBC8hbgJ1hY6pWFNhNA==", "dev": true, "optional": true }, "esbuild-windows-64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.39.tgz", - "integrity": "sha512-E2wm+5FwCcLpKsBHRw28bSYQw0Ikxb7zIMxw3OPAkiaQhLVr3dnVO8DofmbWhhf6b97bWzg37iSZ45ZDpLw7Ow==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.40.tgz", + "integrity": "sha512-dvgQLVYnJzqce97AeHvxWtV9lHRDxIPatOikmrh1vt/SCE4tyVo5nAT/2SiZBJ6DzYmZT3BcJTV24bBLyu4ZUA==", "dev": true, "optional": true }, "esbuild-windows-arm64": { - "version": "0.14.39", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.39.tgz", - "integrity": "sha512-sBZQz5D+Gd0EQ09tZRnz/PpVdLwvp/ufMtJ1iDFYddDaPpZXKqPyaxfYBLs3ueiaksQ26GGa7sci0OqFzNs7KA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.40.tgz", + "integrity": "sha512-c8ohQSFtRq78pZ/LQcpMft2xuR2IEitQkW07f9K7iN4EBdJMrCpOoXrZCfmX9lAC8yYOU7xHoLFYVln3n6fK1Q==", "dev": true, "optional": true }, @@ -21714,12 +21718,12 @@ } }, "eslint": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.15.0.tgz", - "integrity": "sha512-GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", + "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.2.3", + "@eslint/eslintrc": "^1.3.0", "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -21737,7 +21741,7 @@ "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", - "globals": "^13.6.0", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -22690,9 +22694,9 @@ } }, "globals": { - "version": "13.14.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.14.0.tgz", - "integrity": "sha512-ERO68sOYwm5UuLvSJTY7w7NP2c8S4UcXs3X1GBX8cwOr+ShOcDBbCY5mH4zxz0jsYCdJ8ve8Mv9n2YGJMB1aeg==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -26203,6 +26207,12 @@ "psl": "^1.1.28", "punycode": "^2.1.1" } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true } } }, @@ -26851,6 +26861,14 @@ "make-dir": "^3.0.0", "temp-dir": "^1.0.0", "uuid": "^3.3.2" + }, + "dependencies": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + } } }, "terminal-link": { @@ -26994,12 +27012,12 @@ } }, "ts-node": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", - "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", + "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", "dev": true, "requires": { - "@cspotcode/source-map-support": "0.7.0", + "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", @@ -27010,7 +27028,7 @@ "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", + "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "dependencies": { @@ -27293,9 +27311,9 @@ } }, "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true }, "v8-compile-cache": { @@ -27305,9 +27323,9 @@ "dev": true }, "v8-compile-cache-lib": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", - "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, "v8-to-istanbul": { diff --git a/package.json b/package.json index 555f7d453f..d7a987463b 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "test": "npm run lerna-test", "commit": "commit", "package": "npm run package", + "setup-local": "npm ci --foreground-scripts && cd examples/cdk && npm ci && cd ../.. && cd examples/sam && npm ci && cd ../.. && npm run init-environment", "lerna-test": "lerna exec -- npm run test", "lerna-test:unit": "lerna exec -- npm run test:unit", "lerna-test:e2e": "lerna exec -- npm run test:e2e", @@ -56,6 +57,7 @@ "@types/aws-lambda": "^8.10.72", "@types/jest": "^27.4.0", "@types/node": "^17.0.8", + "@types/uuid": "^8.3.4", "@typescript-eslint/eslint-plugin": "^5.12.1", "@typescript-eslint/parser": "^5.12.1", "archiver": "^5.3.0", @@ -77,15 +79,16 @@ "ts-node": "^10.0.0", "typedoc": "^0.22.11", "typedoc-plugin-missing-exports": "^0.22.6", - "typescript": "^4.1.3" + "typescript": "^4.1.3", + "uuid": "^8.3.2" }, "files": [ "lib/**/*" ], "engines": { - "node": ">=10" + "node": ">=12" }, "dependencies": { "hosted-git-info": "^5.0.0" } -} +} \ No newline at end of file diff --git a/packages/commons/CHANGELOG.md b/packages/commons/CHANGELOG.md index 41a6b6a430..9da1436df0 100644 --- a/packages/commons/CHANGELOG.md +++ b/packages/commons/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.10.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.1...v0.10.0) (2022-06-02) + + +### Bug Fixes + +* **commons:** rename tests subfolder to samples to avoid being deleted by tools such as node-prune ([#882](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/882)) ([74ef816](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/74ef816830eca897d59881b1d260a146a2c9a47c)) + + +### Features + +* **all:** nodejs16x support ([#877](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/877)) ([d2b13c9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d2b13c945adb1a74b7c5f76d45f28a6979ce6429)) + + + + + ## [0.9.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) **Note:** Version bump only for package @aws-lambda-powertools/commons diff --git a/packages/commons/README.md b/packages/commons/README.md index 05f9afe3dc..e7b55ef421 100644 --- a/packages/commons/README.md +++ b/packages/commons/README.md @@ -7,7 +7,7 @@ A suite of TypeScript utilities for AWS Lambda functions to ease adopting best practices such as tracing, structured logging, custom metrics, and more. (AWS Lambda Powertools for [Python](https://github.com/awslabs/aws-lambda-powertools-python) and AWS Lambda Powertools for [Java](https://github.com/awslabs/aws-lambda-powertools-java) are also available). -**[📜 Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[NPM](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://github.com/awslabs/aws-lambda-powertools-roadmap/projects/1)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk)** +**[📜 Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[NPM](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://github.com/awslabs/aws-lambda-powertools-roadmap/projects/1)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples)** > **An AWS Developer Acceleration (DevAx) initiative by Specialist Solution Architects | aws-devax-open-source@amazon.com** @@ -35,9 +35,7 @@ Each TypeScript utility is installed as standalone NPM package. ### Examples * [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) -* [Tracer](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/tracing/examples) -* [Logger](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logger/examples) -* [Metrics](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/metrics/examples) +* [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) ## Credits diff --git a/packages/commons/package.json b/packages/commons/package.json index adb237454d..748952498c 100644 --- a/packages/commons/package.json +++ b/packages/commons/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/commons", - "version": "0.9.1", + "version": "0.10.0", "description": "A shared utility package for AWS Lambda Powertools for TypeScript libraries", "author": { "name": "Amazon Web Services", diff --git a/packages/commons/src/index.ts b/packages/commons/src/index.ts index 1a056dbf93..4b333f1d09 100644 --- a/packages/commons/src/index.ts +++ b/packages/commons/src/index.ts @@ -1,4 +1,4 @@ export * from './utils/lambda'; export * from './Utility'; -export * as ContextExamples from './tests/resources/contexts'; -export * as Events from './tests/resources/events'; \ No newline at end of file +export * as ContextExamples from './samples/resources/contexts'; +export * as Events from './samples/resources/events'; \ No newline at end of file diff --git a/packages/commons/src/tests/resources/contexts/hello-world.ts b/packages/commons/src/samples/resources/contexts/hello-world.ts similarity index 100% rename from packages/commons/src/tests/resources/contexts/hello-world.ts rename to packages/commons/src/samples/resources/contexts/hello-world.ts diff --git a/packages/commons/src/tests/resources/contexts/index.ts b/packages/commons/src/samples/resources/contexts/index.ts similarity index 100% rename from packages/commons/src/tests/resources/contexts/index.ts rename to packages/commons/src/samples/resources/contexts/index.ts diff --git a/packages/commons/src/tests/resources/events/aws/apigateway-authorizer.json b/packages/commons/src/samples/resources/events/aws/apigateway-authorizer.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/apigateway-authorizer.json rename to packages/commons/src/samples/resources/events/aws/apigateway-authorizer.json diff --git a/packages/commons/src/tests/resources/events/aws/apigateway-aws-proxy.json b/packages/commons/src/samples/resources/events/aws/apigateway-aws-proxy.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/apigateway-aws-proxy.json rename to packages/commons/src/samples/resources/events/aws/apigateway-aws-proxy.json diff --git a/packages/commons/src/tests/resources/events/aws/appsync-resolver.json b/packages/commons/src/samples/resources/events/aws/appsync-resolver.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/appsync-resolver.json rename to packages/commons/src/samples/resources/events/aws/appsync-resolver.json diff --git a/packages/commons/src/tests/resources/events/aws/batch-get-job.json b/packages/commons/src/samples/resources/events/aws/batch-get-job.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/batch-get-job.json rename to packages/commons/src/samples/resources/events/aws/batch-get-job.json diff --git a/packages/commons/src/tests/resources/events/aws/batch-submit-job.json b/packages/commons/src/samples/resources/events/aws/batch-submit-job.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/batch-submit-job.json rename to packages/commons/src/samples/resources/events/aws/batch-submit-job.json diff --git a/packages/commons/src/tests/resources/events/aws/cloudformation-create-request.json b/packages/commons/src/samples/resources/events/aws/cloudformation-create-request.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cloudformation-create-request.json rename to packages/commons/src/samples/resources/events/aws/cloudformation-create-request.json diff --git a/packages/commons/src/tests/resources/events/aws/cloudfront-ab-test.json b/packages/commons/src/samples/resources/events/aws/cloudfront-ab-test.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cloudfront-ab-test.json rename to packages/commons/src/samples/resources/events/aws/cloudfront-ab-test.json diff --git a/packages/commons/src/tests/resources/events/aws/cloudfront-access-request-in-response.json b/packages/commons/src/samples/resources/events/aws/cloudfront-access-request-in-response.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cloudfront-access-request-in-response.json rename to packages/commons/src/samples/resources/events/aws/cloudfront-access-request-in-response.json diff --git a/packages/commons/src/tests/resources/events/aws/cloudfront-http-direct.json b/packages/commons/src/samples/resources/events/aws/cloudfront-http-direct.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cloudfront-http-direct.json rename to packages/commons/src/samples/resources/events/aws/cloudfront-http-direct.json diff --git a/packages/commons/src/tests/resources/events/aws/cloudfront-modify-querystring.json b/packages/commons/src/samples/resources/events/aws/cloudfront-modify-querystring.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cloudfront-modify-querystring.json rename to packages/commons/src/samples/resources/events/aws/cloudfront-modify-querystring.json diff --git a/packages/commons/src/tests/resources/events/aws/cloudfront-modify-response-header.json b/packages/commons/src/samples/resources/events/aws/cloudfront-modify-response-header.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cloudfront-modify-response-header.json rename to packages/commons/src/samples/resources/events/aws/cloudfront-modify-response-header.json diff --git a/packages/commons/src/tests/resources/events/aws/cloudfront-multiple-remote-calls-aggregate-response.json b/packages/commons/src/samples/resources/events/aws/cloudfront-multiple-remote-calls-aggregate-response.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cloudfront-multiple-remote-calls-aggregate-response.json rename to packages/commons/src/samples/resources/events/aws/cloudfront-multiple-remote-calls-aggregate-response.json diff --git a/packages/commons/src/tests/resources/events/aws/cloudfront-normalize-querystring-to-improve-cache-hit.json b/packages/commons/src/samples/resources/events/aws/cloudfront-normalize-querystring-to-improve-cache-hit.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cloudfront-normalize-querystring-to-improve-cache-hit.json rename to packages/commons/src/samples/resources/events/aws/cloudfront-normalize-querystring-to-improve-cache-hit.json diff --git a/packages/commons/src/tests/resources/events/aws/cloudfront-redirect-on-viewer-country.json b/packages/commons/src/samples/resources/events/aws/cloudfront-redirect-on-viewer-country.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cloudfront-redirect-on-viewer-country.json rename to packages/commons/src/samples/resources/events/aws/cloudfront-redirect-on-viewer-country.json diff --git a/packages/commons/src/tests/resources/events/aws/cloudfront-redirect-unauthenticated-users.json b/packages/commons/src/samples/resources/events/aws/cloudfront-redirect-unauthenticated-users.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cloudfront-redirect-unauthenticated-users.json rename to packages/commons/src/samples/resources/events/aws/cloudfront-redirect-unauthenticated-users.json diff --git a/packages/commons/src/tests/resources/events/aws/cloudfront-response-generation.json b/packages/commons/src/samples/resources/events/aws/cloudfront-response-generation.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cloudfront-response-generation.json rename to packages/commons/src/samples/resources/events/aws/cloudfront-response-generation.json diff --git a/packages/commons/src/tests/resources/events/aws/cloudfront-serve-object-on-viewer-device.json b/packages/commons/src/samples/resources/events/aws/cloudfront-serve-object-on-viewer-device.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cloudfront-serve-object-on-viewer-device.json rename to packages/commons/src/samples/resources/events/aws/cloudfront-serve-object-on-viewer-device.json diff --git a/packages/commons/src/tests/resources/events/aws/cloudfront-simple-remote-call.json b/packages/commons/src/samples/resources/events/aws/cloudfront-simple-remote-call.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cloudfront-simple-remote-call.json rename to packages/commons/src/samples/resources/events/aws/cloudfront-simple-remote-call.json diff --git a/packages/commons/src/tests/resources/events/aws/cloudwatch-logs.json b/packages/commons/src/samples/resources/events/aws/cloudwatch-logs.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cloudwatch-logs.json rename to packages/commons/src/samples/resources/events/aws/cloudwatch-logs.json diff --git a/packages/commons/src/tests/resources/events/aws/cloudwatch-scheduled-event.json b/packages/commons/src/samples/resources/events/aws/cloudwatch-scheduled-event.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cloudwatch-scheduled-event.json rename to packages/commons/src/samples/resources/events/aws/cloudwatch-scheduled-event.json diff --git a/packages/commons/src/tests/resources/events/aws/codecommit-repository.json b/packages/commons/src/samples/resources/events/aws/codecommit-repository.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/codecommit-repository.json rename to packages/commons/src/samples/resources/events/aws/codecommit-repository.json diff --git a/packages/commons/src/tests/resources/events/aws/codepipeline-job.json b/packages/commons/src/samples/resources/events/aws/codepipeline-job.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/codepipeline-job.json rename to packages/commons/src/samples/resources/events/aws/codepipeline-job.json diff --git a/packages/commons/src/tests/resources/events/aws/cognito-sync-trigger.json b/packages/commons/src/samples/resources/events/aws/cognito-sync-trigger.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/cognito-sync-trigger.json rename to packages/commons/src/samples/resources/events/aws/cognito-sync-trigger.json diff --git a/packages/commons/src/tests/resources/events/aws/config-oversized-item-change-notification.json b/packages/commons/src/samples/resources/events/aws/config-oversized-item-change-notification.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/config-oversized-item-change-notification.json rename to packages/commons/src/samples/resources/events/aws/config-oversized-item-change-notification.json diff --git a/packages/commons/src/tests/resources/events/aws/config-periodic-rule.json b/packages/commons/src/samples/resources/events/aws/config-periodic-rule.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/config-periodic-rule.json rename to packages/commons/src/samples/resources/events/aws/config-periodic-rule.json diff --git a/packages/commons/src/tests/resources/events/aws/confit-item-change-notification.json b/packages/commons/src/samples/resources/events/aws/confit-item-change-notification.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/confit-item-change-notification.json rename to packages/commons/src/samples/resources/events/aws/confit-item-change-notification.json diff --git a/packages/commons/src/tests/resources/events/aws/connect-contact-flow-event.json b/packages/commons/src/samples/resources/events/aws/connect-contact-flow-event.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/connect-contact-flow-event.json rename to packages/commons/src/samples/resources/events/aws/connect-contact-flow-event.json diff --git a/packages/commons/src/tests/resources/events/aws/dynamodb-update-2.json b/packages/commons/src/samples/resources/events/aws/dynamodb-update-2.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/dynamodb-update-2.json rename to packages/commons/src/samples/resources/events/aws/dynamodb-update-2.json diff --git a/packages/commons/src/tests/resources/events/aws/dynamodb-update.json b/packages/commons/src/samples/resources/events/aws/dynamodb-update.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/dynamodb-update.json rename to packages/commons/src/samples/resources/events/aws/dynamodb-update.json diff --git a/packages/commons/src/tests/resources/events/aws/kinesis-analytics-compressed.json b/packages/commons/src/samples/resources/events/aws/kinesis-analytics-compressed.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/kinesis-analytics-compressed.json rename to packages/commons/src/samples/resources/events/aws/kinesis-analytics-compressed.json diff --git a/packages/commons/src/tests/resources/events/aws/kinesis-analytics-dynamodb.json b/packages/commons/src/samples/resources/events/aws/kinesis-analytics-dynamodb.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/kinesis-analytics-dynamodb.json rename to packages/commons/src/samples/resources/events/aws/kinesis-analytics-dynamodb.json diff --git a/packages/commons/src/tests/resources/events/aws/kinesis-analytics-kpl.json b/packages/commons/src/samples/resources/events/aws/kinesis-analytics-kpl.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/kinesis-analytics-kpl.json rename to packages/commons/src/samples/resources/events/aws/kinesis-analytics-kpl.json diff --git a/packages/commons/src/tests/resources/events/aws/kinesis-analytics.json b/packages/commons/src/samples/resources/events/aws/kinesis-analytics.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/kinesis-analytics.json rename to packages/commons/src/samples/resources/events/aws/kinesis-analytics.json diff --git a/packages/commons/src/tests/resources/events/aws/kinesis-apachelog.json b/packages/commons/src/samples/resources/events/aws/kinesis-apachelog.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/kinesis-apachelog.json rename to packages/commons/src/samples/resources/events/aws/kinesis-apachelog.json diff --git a/packages/commons/src/tests/resources/events/aws/kinesis-cloudwatch-logs-processor.json b/packages/commons/src/samples/resources/events/aws/kinesis-cloudwatch-logs-processor.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/kinesis-cloudwatch-logs-processor.json rename to packages/commons/src/samples/resources/events/aws/kinesis-cloudwatch-logs-processor.json diff --git a/packages/commons/src/tests/resources/events/aws/kinesis-get-records.json b/packages/commons/src/samples/resources/events/aws/kinesis-get-records.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/kinesis-get-records.json rename to packages/commons/src/samples/resources/events/aws/kinesis-get-records.json diff --git a/packages/commons/src/tests/resources/events/aws/kinesis-kinesis-firehose.json b/packages/commons/src/samples/resources/events/aws/kinesis-kinesis-firehose.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/kinesis-kinesis-firehose.json rename to packages/commons/src/samples/resources/events/aws/kinesis-kinesis-firehose.json diff --git a/packages/commons/src/tests/resources/events/aws/kinesis-streams-source.json b/packages/commons/src/samples/resources/events/aws/kinesis-streams-source.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/kinesis-streams-source.json rename to packages/commons/src/samples/resources/events/aws/kinesis-streams-source.json diff --git a/packages/commons/src/tests/resources/events/aws/kinesis-syslog.json b/packages/commons/src/samples/resources/events/aws/kinesis-syslog.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/kinesis-syslog.json rename to packages/commons/src/samples/resources/events/aws/kinesis-syslog.json diff --git a/packages/commons/src/tests/resources/events/aws/rekognition-s3-request.json b/packages/commons/src/samples/resources/events/aws/rekognition-s3-request.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/rekognition-s3-request.json rename to packages/commons/src/samples/resources/events/aws/rekognition-s3-request.json diff --git a/packages/commons/src/tests/resources/events/aws/s3-delete.json b/packages/commons/src/samples/resources/events/aws/s3-delete.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/s3-delete.json rename to packages/commons/src/samples/resources/events/aws/s3-delete.json diff --git a/packages/commons/src/tests/resources/events/aws/s3-put.json b/packages/commons/src/samples/resources/events/aws/s3-put.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/s3-put.json rename to packages/commons/src/samples/resources/events/aws/s3-put.json diff --git a/packages/commons/src/tests/resources/events/aws/sagemaker-ground-truth-annotation-consolidation.json b/packages/commons/src/samples/resources/events/aws/sagemaker-ground-truth-annotation-consolidation.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/sagemaker-ground-truth-annotation-consolidation.json rename to packages/commons/src/samples/resources/events/aws/sagemaker-ground-truth-annotation-consolidation.json diff --git a/packages/commons/src/tests/resources/events/aws/sagemaker-ground-truth-pre-human.json b/packages/commons/src/samples/resources/events/aws/sagemaker-ground-truth-pre-human.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/sagemaker-ground-truth-pre-human.json rename to packages/commons/src/samples/resources/events/aws/sagemaker-ground-truth-pre-human.json diff --git a/packages/commons/src/tests/resources/events/aws/ses-email-receiving.json b/packages/commons/src/samples/resources/events/aws/ses-email-receiving.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/ses-email-receiving.json rename to packages/commons/src/samples/resources/events/aws/ses-email-receiving.json diff --git a/packages/commons/src/tests/resources/events/aws/sns-notification.json b/packages/commons/src/samples/resources/events/aws/sns-notification.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/sns-notification.json rename to packages/commons/src/samples/resources/events/aws/sns-notification.json diff --git a/packages/commons/src/tests/resources/events/aws/sqs-receive-message.json b/packages/commons/src/samples/resources/events/aws/sqs-receive-message.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/sqs-receive-message.json rename to packages/commons/src/samples/resources/events/aws/sqs-receive-message.json diff --git a/packages/commons/src/tests/resources/events/aws/stepfunctions-error.json b/packages/commons/src/samples/resources/events/aws/stepfunctions-error.json similarity index 100% rename from packages/commons/src/tests/resources/events/aws/stepfunctions-error.json rename to packages/commons/src/samples/resources/events/aws/stepfunctions-error.json diff --git a/packages/commons/src/tests/resources/events/custom/index.ts b/packages/commons/src/samples/resources/events/custom/index.ts similarity index 100% rename from packages/commons/src/tests/resources/events/custom/index.ts rename to packages/commons/src/samples/resources/events/custom/index.ts diff --git a/packages/commons/src/tests/resources/events/index.ts b/packages/commons/src/samples/resources/events/index.ts similarity index 100% rename from packages/commons/src/tests/resources/events/index.ts rename to packages/commons/src/samples/resources/events/index.ts diff --git a/packages/commons/tests/utils/e2eUtils.ts b/packages/commons/tests/utils/e2eUtils.ts index caced6e568..c4c38d1d21 100644 --- a/packages/commons/tests/utils/e2eUtils.ts +++ b/packages/commons/tests/utils/e2eUtils.ts @@ -14,11 +14,12 @@ import { InvocationLogs } from './InvocationLogs'; const lambdaClient = new AWS.Lambda(); -const testRuntimeKeys = [ 'nodejs12x', 'nodejs14x' ]; +const testRuntimeKeys = [ 'nodejs12x', 'nodejs14x', 'nodejs16x' ]; export type TestRuntimesKey = typeof testRuntimeKeys[number]; export const TEST_RUNTIMES: Record = { nodejs12x: Runtime.NODEJS_12_X, nodejs14x: Runtime.NODEJS_14_X, + nodejs16x: Runtime.NODEJS_16_X, }; export type StackWithLambdaFunctionOptions = { diff --git a/packages/commons/tsconfig-dev.json b/packages/commons/tsconfig-dev.json index 802f18e8f9..7743a7b77d 100644 --- a/packages/commons/tsconfig-dev.json +++ b/packages/commons/tsconfig-dev.json @@ -2,7 +2,7 @@ "compilerOptions": { "experimentalDecorators": true, "noImplicitAny": true, - "target": "ES2020", + "target": "ES2019", "module": "commonjs", "declaration": true, "declarationMap": true, @@ -23,7 +23,7 @@ "watchDirectory": "useFsEvents", "fallbackPolling": "dynamicPriority" }, - "lib": [ "es2020" ], + "lib": [ "es2019" ], "types": [ "jest", "node" diff --git a/packages/commons/tsconfig.json b/packages/commons/tsconfig.json index cbd9922f32..19330d4c1b 100644 --- a/packages/commons/tsconfig.json +++ b/packages/commons/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "experimentalDecorators": true, "noImplicitAny": true, - "target": "ES2020", + "target": "ES2019", "module": "commonjs", "declaration": true, "declarationMap": true, @@ -23,7 +23,7 @@ "watchDirectory": "useFsEvents", "fallbackPolling": "dynamicPriority" }, - "lib": [ "es2020" ], + "lib": [ "es2019" ], "types": [ "jest", "node" diff --git a/packages/logger/CHANGELOG.md b/packages/logger/CHANGELOG.md index 8d2f5e39c7..40cc4701b3 100644 --- a/packages/logger/CHANGELOG.md +++ b/packages/logger/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.10.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.1...v0.10.0) (2022-06-02) + + +### Features + +* **all:** nodejs16x support ([#877](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/877)) ([d2b13c9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d2b13c945adb1a74b7c5f76d45f28a6979ce6429)) +* **logger:** add removeKeys functionality ([#901](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/901)) ([a0f72c2](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/a0f72c275270db33d382bff357f6054f552197e6)) + + + + + ## [0.9.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) diff --git a/packages/logger/README.md b/packages/logger/README.md index b496f59408..fc46544a06 100644 --- a/packages/logger/README.md +++ b/packages/logger/README.md @@ -7,7 +7,7 @@ A suite of TypeScript utilities for AWS Lambda functions to ease adopting best practices such as tracing, structured logging, custom metrics, and more. (AWS Lambda Powertools for [Python](https://github.com/awslabs/aws-lambda-powertools-python) and AWS Lambda Powertools for [Java](https://github.com/awslabs/aws-lambda-powertools-java) are also available). -**[📜 Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[NPM](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://github.com/awslabs/aws-lambda-powertools-roadmap/projects/1)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk)** +**[📜 Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[NPM](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://github.com/awslabs/aws-lambda-powertools-roadmap/projects/1)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples)** > **An AWS Developer Acceleration (DevAx) initiative by Specialist Solution Architects | aws-devax-open-source@amazon.com** @@ -36,9 +36,7 @@ Each TypeScript utility is installed as standalone NPM package. ### Examples * [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) -* [Tracer](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/tracing/examples) -* [Logger](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logger/examples) -* [Metrics](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/metrics/examples) +* [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) ## Credits diff --git a/packages/logger/examples/additional-keys.ts b/packages/logger/examples/additional-keys.ts deleted file mode 100644 index 673a820248..0000000000 --- a/packages/logger/examples/additional-keys.ts +++ /dev/null @@ -1,35 +0,0 @@ -// Populate runtime -require('../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'WARN'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async (event) => { - - // Pass a custom correlation ID - logger.warn('This is a WARN log', { correlationIds: { myCustomCorrelationId: 'foo-bar-baz' } }); - - // Pass an error that occurred - logger.error('This is an ERROR log', new Error('Something bad happened!')); - - // Pass a simple string as additional data - logger.info('This is an INFO log', 'Extra log data'); - - // Pass an arbitrary object as additional data - logger.debug('This is a DEBUG log', { lambdaEvent: event }); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/child-logger.ts b/packages/logger/examples/child-logger.ts deleted file mode 100644 index a261996391..0000000000 --- a/packages/logger/examples/child-logger.ts +++ /dev/null @@ -1,34 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'INFO'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const parentLogger = new Logger({ - logLevel: 'INFO' -}); - -const childLogger = parentLogger.createChild({ - logLevel: 'ERROR' -}); - -const lambdaHandler: Handler = async () => { - - parentLogger.info('This is an INFO log, from the parent logger'); - parentLogger.error('This is an ERROR log, from the parent logger'); - - childLogger.info('This is an INFO log, from the child logger'); - childLogger.error('This is an ERROR log, from the child logger'); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/constructor-options.ts b/packages/logger/examples/constructor-options.ts deleted file mode 100644 index 3671e5b4cc..0000000000 --- a/packages/logger/examples/constructor-options.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import * as powertool from '../../../package.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger({ - logLevel: 'DEBUG', - serviceName: 'hello-world', - sampleRateValue: 0.5, - persistentLogAttributes: { // Custom attributes that will be added in every log item - awsAccountId: process.env.AWS_ACCOUNT_ID || '123456789012', - logger: { - name: powertool.name, - version: powertool.version, - } - }, -}); - -const lambdaHandler: Handler = async () => { - - logger.info('This is an INFO log', { correlationIds: { myCustomCorrelationId: 'foo-bar-baz' } }); - - return { - foo: 'bar' - }; -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/custom-log-formatter.ts b/packages/logger/examples/custom-log-formatter.ts deleted file mode 100644 index 3308b93121..0000000000 --- a/packages/logger/examples/custom-log-formatter.ts +++ /dev/null @@ -1,35 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import * as powertool from '../../../package.json'; -import { MyCompanyLogFormatter } from './utils/formatters/MyCompanyLogFormatter'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger({ - logFormatter: new MyCompanyLogFormatter(), // Custom log formatter to print the log in a custom structure - logLevel: 'DEBUG', - serviceName: 'hello-world', - sampleRateValue: 0.5, - persistentLogAttributes: { // Custom attributes that will be added in every log item - awsAccountId: process.env.AWS_ACCOUNT_ID || '123456789012', - logger: { - name: powertool.name, - version: powertool.version, - } - }, -}); - -const lambdaHandler: Handler = async (event, context) => { - logger.addContext(context); - - logger.info('This is an INFO log', { correlationIds: { myCustomCorrelationId: 'foo-bar-baz' } }); - - return { - foo: 'bar' - }; -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/custom-logger-options.ts b/packages/logger/examples/custom-logger-options.ts deleted file mode 100644 index 72bb286a6f..0000000000 --- a/packages/logger/examples/custom-logger-options.ts +++ /dev/null @@ -1,40 +0,0 @@ -// Populate runtime -require('../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.CUSTOM_ENV = 'prod'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import * as powertool from '../../../package.json'; -import { CustomConfigService } from './utils/config/CustomConfigService'; -import { CustomLogFormatter } from './utils/formatters/CustomLogFormatter'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger({ - logLevel: 'INFO', // Override options - serviceName: 'foo-bar', - sampleRateValue: 0.00001, - persistentLogAttributes: { // Custom attributes that will be added in every log - awsAccountId: '123456789012', - logger: { - name: powertool.name, - version: powertool.version, - } - }, - logFormatter: new CustomLogFormatter(), // Custom log formatter to print the log in custom structure - customConfigService: new CustomConfigService() // Custom config service, that could be used for AppConfig for example -}); - -const lambdaHandler: Handler = async (event, context) => { - logger.addContext(context); - - logger.info('This is an INFO log', { correlationIds: { myCustomCorrelationId: 'foo-bar-baz' } }); - - return { - foo: 'bar' - }; -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/ephemeral-attributes.ts b/packages/logger/examples/ephemeral-attributes.ts deleted file mode 100644 index 024504e38b..0000000000 --- a/packages/logger/examples/ephemeral-attributes.ts +++ /dev/null @@ -1,38 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'INFO'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async () => { - - const myImportantVariable = { - foo: 'bar' - }; - - // Pass additional keys and values in single log items - - // As second parameter - logger.info('This is a log with an extra variable', { data: myImportantVariable }); - - // You can also pass multiple parameters - logger.info('This is a log with 2 extra variables', - { data: myImportantVariable }, - { correlationIds: { myCustomCorrelationId: 'foo-bar-baz' } } - ); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/errors.ts b/packages/logger/examples/errors.ts deleted file mode 100644 index c0102adef0..0000000000 --- a/packages/logger/examples/errors.ts +++ /dev/null @@ -1,35 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'WARN'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async () => { - - try { - throw new Error('Unexpected error #1'); - } catch (error) { - logger.error('This is an ERROR log #1', error as Error); - } - - try { - throw new Error('Unexpected error #2'); - } catch (error) { - logger.error('This is an ERROR log #2', { myCustomErrorKey: error as Error } ); - } - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/hello-world.ts b/packages/logger/examples/hello-world.ts deleted file mode 100644 index 3e0795f797..0000000000 --- a/packages/logger/examples/hello-world.ts +++ /dev/null @@ -1,28 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'WARN'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async () => { - - logger.debug('This is a DEBUG log'); - logger.info('This is an INFO log'); - logger.warn('This is a WARN log'); - logger.error('This is an ERROR log'); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/inject-context-decorator.ts b/packages/logger/examples/inject-context-decorator.ts deleted file mode 100644 index 23e43de0c6..0000000000 --- a/packages/logger/examples/inject-context-decorator.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'INFO'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from './utils/lambda'; -import { Logger } from '../src'; -import { Callback, Context } from 'aws-lambda/handler'; - -const logger = new Logger(); - -class Lambda implements LambdaInterface { - - @logger.injectLambdaContext() - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - - logger.info('This is an INFO log with some context'); - - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/inject-context-middleware.ts b/packages/logger/examples/inject-context-middleware.ts deleted file mode 100644 index c60260296e..0000000000 --- a/packages/logger/examples/inject-context-middleware.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'INFO'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -import { injectLambdaContext } from '../src'; -import middy from '@middy/core'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async () => { - - logger.info('This is an INFO log'); - - return { - foo: 'bar' - }; - -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(injectLambdaContext(logger)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); - diff --git a/packages/logger/examples/inject-context.ts b/packages/logger/examples/inject-context.ts deleted file mode 100644 index fbf9bd4a50..0000000000 --- a/packages/logger/examples/inject-context.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'INFO'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async (event, context) => { - - logger.addContext(context); - - logger.info('This is an INFO log'); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/persistent-attributes.ts b/packages/logger/examples/persistent-attributes.ts deleted file mode 100644 index 1e01f38fe2..0000000000 --- a/packages/logger/examples/persistent-attributes.ts +++ /dev/null @@ -1,39 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'INFO'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import * as powertool from '../../../package.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async () => { - - // Add persistent log keys to an existing Logger instance: - logger.appendKeys({ - aws_account_id: '123456789012', - aws_region: 'eu-west-1', - logger: { - name: powertool.name, - version: powertool.version, - } - }); - - // This info log will print all extra custom attributes added above - // Extra attributes: logger object with name and version of this library, awsAccountId, awsRegion - logger.info('This is an INFO log'); - logger.info('This is another INFO log'); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/sample-rate.ts b/packages/logger/examples/sample-rate.ts deleted file mode 100644 index 0051a62e6d..0000000000 --- a/packages/logger/examples/sample-rate.ts +++ /dev/null @@ -1,37 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'ERROR'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; -process.env.POWERTOOLS_LOGGER_SAMPLE_RATE = '0.5'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async () => { - - // This log item (equal to log level 'ERROR') will be printed to standard output - // in all Lambda invocations - logger.error('This is an ERROR log'); - - // These log items (below the log level 'ERROR') have ~50% chance - // of being printed in a Lambda invocation - logger.debug('This is a DEBUG log that has 50% chance of being printed'); - logger.info('This is an INFO log that has 50% chance of being printed'); - logger.warn('This is a WARN log that has 50% chance of being printed'); - - // Optional: refresh sample rate calculation on runtime - // logger.refreshSampleRateCalculation(); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/utils/config/CustomConfigService.ts b/packages/logger/examples/utils/config/CustomConfigService.ts deleted file mode 100644 index c5070c48a6..0000000000 --- a/packages/logger/examples/utils/config/CustomConfigService.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { EnvironmentVariablesService } from '../../../src/config'; - -class CustomConfigService extends EnvironmentVariablesService { - - // Custom environment variables - protected customEnvironmentVariable = 'CUSTOM_ENV'; - - public getCurrentEnvironment(): string { - return this.get(this.customEnvironmentVariable); - } - -} - -export { - CustomConfigService -}; \ No newline at end of file diff --git a/packages/logger/examples/utils/formatters/CustomLogFormatter.ts b/packages/logger/examples/utils/formatters/CustomLogFormatter.ts deleted file mode 100644 index 473c2b6fc5..0000000000 --- a/packages/logger/examples/utils/formatters/CustomLogFormatter.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { LogFormatter } from '../../../src'; -import { LogAttributes, UnformattedAttributes } from '../../../src/types'; - -type MyCompanyLog = LogAttributes; - -class CustomLogFormatter extends LogFormatter { - - public formatAttributes(attributes: UnformattedAttributes): MyCompanyLog { - return { - message: attributes.message, - service: attributes.serviceName, - environment: attributes.environment, - awsRegion: attributes.awsRegion, - correlationIds: { - awsRequestId: attributes.lambdaContext?.awsRequestId, - xRayTraceId: attributes.xRayTraceId - }, - lambdaFunction: { - name: attributes.lambdaContext?.functionName, - arn: attributes.lambdaContext?.invokedFunctionArn, - memoryLimitInMB: attributes.lambdaContext?.memoryLimitInMB, - version: attributes.lambdaContext?.functionVersion, - coldStart: attributes.lambdaContext?.coldStart, - }, - logLevel: attributes.logLevel, - timestamp: this.formatTimestamp(attributes.timestamp), - logger: { - sampleRateValue: attributes.sampleRateValue, - }, - }; - } - -} - -export { - CustomLogFormatter -}; \ No newline at end of file diff --git a/packages/logger/examples/utils/formatters/MyCompanyLogFormatter.ts b/packages/logger/examples/utils/formatters/MyCompanyLogFormatter.ts deleted file mode 100644 index e92a9bbad7..0000000000 --- a/packages/logger/examples/utils/formatters/MyCompanyLogFormatter.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { LogFormatter } from '../../../src'; -import { LogAttributes, UnformattedAttributes } from '../../../src/types'; - -type MyCompanyLog = LogAttributes; - -class MyCompanyLogFormatter extends LogFormatter { - - public formatAttributes(attributes: UnformattedAttributes): MyCompanyLog { - return { - message: attributes.message, - service: attributes.serviceName, - environment: attributes.environment, - awsRegion: attributes.awsRegion, - correlationIds: { - awsRequestId: attributes.lambdaContext?.awsRequestId, - xRayTraceId: attributes.xRayTraceId - }, - lambdaFunction: { - name: attributes.lambdaContext?.functionName, - arn: attributes.lambdaContext?.invokedFunctionArn, - memoryLimitInMB: attributes.lambdaContext?.memoryLimitInMB, - version: attributes.lambdaContext?.functionVersion, - coldStart: attributes.lambdaContext?.coldStart, - }, - logLevel: attributes.logLevel, - timestamp: this.formatTimestamp(attributes.timestamp), - logger: { - sampleRateValue: attributes.sampleRateValue, - }, - }; - } - -} - -export { - MyCompanyLogFormatter -}; \ No newline at end of file diff --git a/packages/logger/examples/utils/lambda/LambdaInterface.ts b/packages/logger/examples/utils/lambda/LambdaInterface.ts deleted file mode 100644 index 6e31000601..0000000000 --- a/packages/logger/examples/utils/lambda/LambdaInterface.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Handler } from 'aws-lambda'; - -interface LambdaInterface { - handler: Handler -} - -export { - LambdaInterface -}; \ No newline at end of file diff --git a/packages/logger/examples/utils/lambda/index.ts b/packages/logger/examples/utils/lambda/index.ts deleted file mode 100644 index 059e4dbaf7..0000000000 --- a/packages/logger/examples/utils/lambda/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './LambdaInterface'; \ No newline at end of file diff --git a/packages/logger/package.json b/packages/logger/package.json index 65de8210a9..8fc87f9fb2 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/logger", - "version": "0.9.1", + "version": "0.10.0", "description": "The logging package for the AWS Lambda Powertools for TypeScript library", "author": { "name": "Amazon Web Services", @@ -15,6 +15,7 @@ "test:unit": "jest --group=unit --detectOpenHandles --coverage --verbose", "test:e2e:nodejs12x": "RUNTIME=nodejs12x jest --group=e2e", "test:e2e:nodejs14x": "RUNTIME=nodejs14x jest --group=e2e", + "test:e2e:nodejs16x": "RUNTIME=nodejs16x jest --group=e2e", "test:e2e": "jest --group=e2e", "watch": "jest --watch --group=unit", "build": "tsc", @@ -25,19 +26,7 @@ "prepublishOnly": "npm test && npm run lint", "preversion": "npm run lint", "version": "npm run format && git add -A src", - "postversion": "git push && git push --tags", - "example:hello-world": "ts-node examples/hello-world.ts", - "example:inject-context": "ts-node examples/inject-context.ts", - "example:inject-context-decorator": "ts-node examples/inject-context-decorator.ts", - "example:inject-context-middleware": "ts-node examples/inject-context-middleware.ts", - "example:errors": "ts-node examples/errors.ts", - "example:constructor-options": "ts-node examples/constructor-options.ts", - "example:custom-log-formatter": "ts-node examples/custom-log-formatter.ts", - "example:child-logger": "ts-node examples/child-logger.ts", - "example:additional-keys": "ts-node examples/additional-keys.ts", - "example:sample-rate": "ts-node examples/sample-rate.ts", - "example:persistent-attributes": "ts-node examples/persistent-attributes.ts", - "example:ephemeral-attributes": "ts-node examples/ephemeral-attributes.ts" + "postversion": "git push && git push --tags" }, "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/master/packages/logging#readme", "license": "MIT", @@ -60,7 +49,7 @@ "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" }, "dependencies": { - "@aws-lambda-powertools/commons": "^0.9.1", + "@aws-lambda-powertools/commons": "^0.10.0", "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 8d6a936645..f83e0d3b8f 100644 --- a/packages/logger/src/Logger.ts +++ b/packages/logger/src/Logger.ts @@ -252,12 +252,16 @@ class Logger extends Utility implements ClassThatLogs { */ public injectLambdaContext(): HandlerMethodDecorator { return (target, _propertyKey, descriptor) => { - const originalMethod = descriptor.value; + /** + * The descriptor.value is the method this decorator decorates, it cannot be undefined. + */ + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const originalMethod = descriptor.value!; descriptor.value = (event, context, callback) => { this.addContext(context); - return originalMethod?.apply(target, [ event, context, callback ]); + return originalMethod.apply(target, [ event, context, callback ]); }; }; } @@ -274,6 +278,30 @@ class Logger extends Utility implements ClassThatLogs { this.setLogsSampled(); } + /** + * Alias for removePersistentLogAttributes. + * + * @param {string[]} keys + * @returns {void} + */ + public removeKeys(keys: string[]): void { + this.removePersistentLogAttributes(keys); + } + + /** + * It removes attributes based on provided keys to all log items generated by this Logger instance. + * + * @param {string[]} keys + * @returns {void} + */ + public removePersistentLogAttributes(keys: string[]): void { + keys.forEach((key) => { + if (this.persistentLogAttributes && key in this.persistentLogAttributes) { + delete this.persistentLogAttributes[key]; + } + }); + } + /** * It sets the user-provided sample rate value. * @@ -422,11 +450,11 @@ class Logger extends Utility implements ClassThatLogs { * @returns {number} */ private getSampleRateValue(): number { - if (!this.powertoolLogData?.sampleRateValue) { + if (!this.powertoolLogData.sampleRateValue) { this.setSampleRateValue(); } - return this.powertoolLogData?.sampleRateValue; + return this.powertoolLogData.sampleRateValue; } /** diff --git a/packages/logger/tests/e2e/basicFeatures.middy.test.FunctionCode.ts b/packages/logger/tests/e2e/basicFeatures.middy.test.FunctionCode.ts index 3270b40830..8a80ed8985 100644 --- a/packages/logger/tests/e2e/basicFeatures.middy.test.FunctionCode.ts +++ b/packages/logger/tests/e2e/basicFeatures.middy.test.FunctionCode.ts @@ -4,6 +4,8 @@ import middy from '@middy/core'; const PERSISTENT_KEY = process.env.PERSISTENT_KEY; const PERSISTENT_VALUE = process.env.PERSISTENT_VALUE; +const REMOVABLE_KEY = process.env.REMOVABLE_KEY; +const REMOVABLE_VALUE = process.env.REMOVABLE_VALUE; const ERROR_MSG = process.env.ERROR_MSG || 'error'; const SINGLE_LOG_ITEM_KEY = process.env.SINGLE_LOG_ITEM_KEY; const SINGLE_LOG_ITEM_VALUE = process.env.SINGLE_LOG_ITEM_VALUE; @@ -13,14 +15,16 @@ const ARBITRARY_OBJECT_DATA = process.env.ARBITRARY_OBJECT_DATA; const logger = new Logger({ persistentLogAttributes: { [PERSISTENT_KEY]: PERSISTENT_VALUE, + [REMOVABLE_KEY]: REMOVABLE_VALUE, }, }); const testFunction = async (event: APIGatewayProxyEvent, context: Context): Promise<{requestId: string}> => { // Test feature 1: Log level filtering // Test feature 2: Context data - // Test feature 3: Persistent additional log keys and value + // Test feature 3: Add and remove persistent additional log keys and value // Test feature 4: X-Ray Trace ID injection + logger.removeKeys([REMOVABLE_KEY]); logger.debug('##### This should not appear'); logger.info('This is an INFO log with context and persistent key'); diff --git a/packages/logger/tests/e2e/basicFeatures.middy.test.ts b/packages/logger/tests/e2e/basicFeatures.middy.test.ts index bb4cd014fe..2595b92ec6 100644 --- a/packages/logger/tests/e2e/basicFeatures.middy.test.ts +++ b/packages/logger/tests/e2e/basicFeatures.middy.test.ts @@ -8,9 +8,9 @@ */ import path from 'path'; -import { randomUUID } from 'crypto'; import { App, Stack } from 'aws-cdk-lib'; import { APIGatewayAuthorizerResult } from 'aws-lambda'; +import { v4 } from 'uuid'; import { createStackWithLambdaFunction, generateUniqueName, @@ -27,7 +27,7 @@ import { TEARDOWN_TIMEOUT } from './constants'; -const runtime: string = process.env.RUNTIME || 'nodejs14x'; +const runtime: string = process.env.RUNTIME || 'nodejs16x'; if (!isValidRuntimeKey(runtime)) { throw new Error(`Invalid runtime key value: ${runtime}`); @@ -35,7 +35,7 @@ if (!isValidRuntimeKey(runtime)) { const LEVEL = InvocationLogs.LEVEL; -const uuid = randomUUID(); +const uuid = v4(); const stackName = generateUniqueName(RESOURCE_NAME_PREFIX, uuid, runtime, 'BasicFeatures-Middy'); const functionName = generateUniqueName(RESOURCE_NAME_PREFIX, uuid, runtime, 'BasicFeatures-Middy'); const lambdaFunctionCodeFile = 'basicFeatures.middy.test.FunctionCode.ts'; @@ -43,6 +43,8 @@ const lambdaFunctionCodeFile = 'basicFeatures.middy.test.FunctionCode.ts'; // Text to be used by Logger in the Lambda function const PERSISTENT_KEY = 'persistentKey'; const PERSISTENT_VALUE = `a persistent value that will be put in every log ${uuid}`; +const REMOVABLE_KEY = 'removableKey'; +const REMOVABLE_VALUE = `a persistent value that will be removed and not displayed in any log ${uuid}`; const SINGLE_LOG_ITEM_KEY = `keyForSingleLogItem${uuid}`; const SINGLE_LOG_ITEM_VALUE = `a value for a single log item${uuid}`; const ERROR_MSG = `error-${uuid}`; @@ -72,6 +74,8 @@ describe(`logger E2E tests basic functionalities (middy) for runtime: ${runtime} // Text to be used by Logger in the Lambda function PERSISTENT_KEY, PERSISTENT_VALUE, + REMOVABLE_KEY, + REMOVABLE_VALUE, SINGLE_LOG_ITEM_KEY, SINGLE_LOG_ITEM_VALUE, ERROR_MSG, @@ -147,6 +151,14 @@ describe(`logger E2E tests basic functionalities (middy) for runtime: ${runtime} expect(message).toContain(`"${PERSISTENT_KEY}":"${PERSISTENT_VALUE}"`); } }, TEST_CASE_TIMEOUT); + + it('should not contain persistent keys that were removed on runtime', async () => { + const logMessages = invocationLogs[0].getFunctionLogs(); + + for (const message of logMessages) { + expect(message).not.toContain(`"${REMOVABLE_KEY}":"${REMOVABLE_VALUE}"`); + } + }, TEST_CASE_TIMEOUT); }); describe('X-Ray Trace ID injection', () => { diff --git a/packages/logger/tests/e2e/childLogger.manual.test.ts b/packages/logger/tests/e2e/childLogger.manual.test.ts index 8c2c1e5c02..325f9cf4ad 100644 --- a/packages/logger/tests/e2e/childLogger.manual.test.ts +++ b/packages/logger/tests/e2e/childLogger.manual.test.ts @@ -8,8 +8,8 @@ */ import path from 'path'; -import { randomUUID } from 'crypto'; import { App, Stack } from 'aws-cdk-lib'; +import { v4 } from 'uuid'; import { createStackWithLambdaFunction, generateUniqueName, @@ -26,7 +26,7 @@ import { TEARDOWN_TIMEOUT } from './constants'; -const runtime: string = process.env.RUNTIME || 'nodejs14x'; +const runtime: string = process.env.RUNTIME || 'nodejs16x'; if (!isValidRuntimeKey(runtime)) { throw new Error(`Invalid runtime key value: ${runtime}`); @@ -34,7 +34,7 @@ if (!isValidRuntimeKey(runtime)) { const LEVEL = InvocationLogs.LEVEL; -const uuid = randomUUID(); +const uuid = v4(); const stackName = generateUniqueName(RESOURCE_NAME_PREFIX, uuid, runtime, 'ChildLogger-Manual'); const functionName = generateUniqueName(RESOURCE_NAME_PREFIX, uuid, runtime, 'ChildLogger-Manual'); const lambdaFunctionCodeFile = 'childLogger.manual.test.FunctionCode.ts'; diff --git a/packages/logger/tests/e2e/sampleRate.decorator.test.ts b/packages/logger/tests/e2e/sampleRate.decorator.test.ts index 8ccd18e73f..1b349b8579 100644 --- a/packages/logger/tests/e2e/sampleRate.decorator.test.ts +++ b/packages/logger/tests/e2e/sampleRate.decorator.test.ts @@ -8,8 +8,8 @@ */ import path from 'path'; -import { randomUUID } from 'crypto'; import { App, Stack } from 'aws-cdk-lib'; +import { v4 } from 'uuid'; import { createStackWithLambdaFunction, generateUniqueName, @@ -26,7 +26,7 @@ import { TEARDOWN_TIMEOUT } from './constants'; -const runtime: string = process.env.RUNTIME || 'nodejs14x'; +const runtime: string = process.env.RUNTIME || 'nodejs16x'; if (!isValidRuntimeKey(runtime)) { throw new Error(`Invalid runtime key value: ${runtime}`); @@ -34,7 +34,7 @@ if (!isValidRuntimeKey(runtime)) { const LEVEL = InvocationLogs.LEVEL; -const uuid = randomUUID(); +const uuid = v4(); const stackName = generateUniqueName(RESOURCE_NAME_PREFIX, uuid, runtime, 'SampleRate-Decorator'); const functionName = generateUniqueName(RESOURCE_NAME_PREFIX, uuid, runtime, 'SampleRate-Decorator'); const lambdaFunctionCodeFile = 'sampleRate.decorator.test.FunctionCode.ts'; diff --git a/packages/logger/tests/unit/Logger.test.ts b/packages/logger/tests/unit/Logger.test.ts index a167ef5d1a..46f1f2615e 100644 --- a/packages/logger/tests/unit/Logger.test.ts +++ b/packages/logger/tests/unit/Logger.test.ts @@ -8,14 +8,17 @@ import { context as dummyContext } from '../../../../tests/resources/contexts/he // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { LambdaInterface } from '../../examples/utils/lambda'; import { createLogger, Logger } from '../../src'; import { EnvironmentVariablesService } from '../../src/config'; import { PowertoolLogFormatter } from '../../src/formatter'; import { ClassThatLogs } from '../../src/types'; -import { Context } from 'aws-lambda'; +import { Context, Handler } from 'aws-lambda'; import { Console } from 'console'; +interface LambdaInterface { + handler: Handler +} + const mockDate = new Date(1466424490000); const dateSpy = jest.spyOn(global, 'Date').mockImplementation(() => mockDate as unknown as string); @@ -638,7 +641,7 @@ describe('Class: Logger', () => { describe('Method: appendKeys', () => { - test('when called, populates the logger\'s propriety persistentLogAttributes ', () => { + test('when called, it populates the logger\'s persistentLogAttributes property', () => { // Prepare const logger = new Logger(); @@ -704,6 +707,97 @@ describe('Class: Logger', () => { }); }); + describe('Method: removeKeys', () => { + + test('when called, it removes keys from the logger\'s persistentLogAttributes property', () => { + + // Prepare + const logger = new Logger(); + logger.appendKeys({ + aws_account_id: '123456789012', + aws_region: 'eu-west-1', + logger: { + name: 'aws-lambda-powertool-typescript', + version: '0.2.4', + }, + }); + + // Act + logger.removeKeys([ 'aws_account_id', 'aws_region' ]); + + // Assess + expect(logger).toEqual(expect.objectContaining({ + persistentLogAttributes: { + logger: { + name: 'aws-lambda-powertool-typescript', + version: '0.2.4', + }, + }, + })); + }); + + test('when called with non-existing keys, the logger\'s property persistentLogAttributes is not mutated and it does not throw an error', () => { + + // Prepare + const logger = new Logger(); + logger.appendKeys({ + aws_account_id: '123456789012', + aws_region: 'eu-west-1', + logger: { + name: 'aws-lambda-powertool-typescript', + version: '0.2.4', + }, + }); + const loggerBeforeKeysAreRemoved = { ...logger }; + + // Act + logger.removeKeys(['not_existing_key']); + + // Assess + expect(logger).toEqual(loggerBeforeKeysAreRemoved); + expect(logger).toEqual(expect.objectContaining({ + persistentLogAttributes: { + aws_account_id: '123456789012', + aws_region: 'eu-west-1', + logger: { + name: 'aws-lambda-powertool-typescript', + version: '0.2.4', + }, + }, + })); + }); + + }); + + test('when called multiple times with the same keys, the outcome is the same', () => { + + // Prepare + const logger = new Logger(); + logger.appendKeys({ + aws_account_id: '123456789012', + aws_region: 'eu-west-1', + logger: { + name: 'aws-lambda-powertool-typescript', + version: '0.2.4', + }, + }); + + // Act + logger.removeKeys([ 'aws_account_id', 'aws_region' ]); + logger.removeKeys([ 'aws_account_id', 'aws_region' ]); + + // Assess + expect(logger).toEqual(expect.objectContaining({ + persistentLogAttributes: { + logger: { + name: 'aws-lambda-powertool-typescript', + version: '0.2.4', + }, + }, + })); + + }); + describe('Method: injectLambdaContext', () => { beforeEach(() => { diff --git a/packages/logger/tsconfig-dev.json b/packages/logger/tsconfig-dev.json index 4ea999b37f..7c6046c8bc 100644 --- a/packages/logger/tsconfig-dev.json +++ b/packages/logger/tsconfig-dev.json @@ -2,7 +2,7 @@ "compilerOptions": { "experimentalDecorators": true, "noImplicitAny": true, - "target": "ES2020", + "target": "ES2019", "module": "commonjs", "declaration": true, "declarationMap": true, @@ -22,7 +22,7 @@ "watchDirectory": "useFsEvents", "fallbackPolling": "dynamicPriority" }, - "lib": [ "es2020" ], + "lib": [ "es2019" ], "types": [ "jest", "node" diff --git a/packages/logger/tsconfig.es.json b/packages/logger/tsconfig.es.json index 4ea999b37f..7c6046c8bc 100644 --- a/packages/logger/tsconfig.es.json +++ b/packages/logger/tsconfig.es.json @@ -2,7 +2,7 @@ "compilerOptions": { "experimentalDecorators": true, "noImplicitAny": true, - "target": "ES2020", + "target": "ES2019", "module": "commonjs", "declaration": true, "declarationMap": true, @@ -22,7 +22,7 @@ "watchDirectory": "useFsEvents", "fallbackPolling": "dynamicPriority" }, - "lib": [ "es2020" ], + "lib": [ "es2019" ], "types": [ "jest", "node" diff --git a/packages/logger/tsconfig.json b/packages/logger/tsconfig.json index 20da6e39a9..3d7d8b8b05 100644 --- a/packages/logger/tsconfig.json +++ b/packages/logger/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "experimentalDecorators": true, "noImplicitAny": true, - "target": "ES2020", + "target": "ES2019", "module": "commonjs", "declaration": true, "outDir": "lib", @@ -22,7 +22,7 @@ "watchDirectory": "useFsEvents", "fallbackPolling": "dynamicPriority" }, - "lib": [ "es2020" ], + "lib": [ "es2019" ], "types": [ "jest", "node" diff --git a/packages/metrics/CHANGELOG.md b/packages/metrics/CHANGELOG.md index c6859a8ea0..36b90f18d3 100644 --- a/packages/metrics/CHANGELOG.md +++ b/packages/metrics/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.10.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.1...v0.10.0) (2022-06-02) + + +### Features + +* **all:** nodejs16x support ([#877](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/877)) ([d2b13c9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d2b13c945adb1a74b7c5f76d45f28a6979ce6429)) + + + + + ## [0.9.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) **Note:** Version bump only for package @aws-lambda-powertools/metrics diff --git a/packages/metrics/README.md b/packages/metrics/README.md index 039cc93da2..f5633380fb 100644 --- a/packages/metrics/README.md +++ b/packages/metrics/README.md @@ -7,7 +7,7 @@ A suite of TypeScript utilities for AWS Lambda functions to ease adopting best practices such as tracing, structured logging, custom metrics, and more. (AWS Lambda Powertools for [Python](https://github.com/awslabs/aws-lambda-powertools-python) and AWS Lambda Powertools for [Java](https://github.com/awslabs/aws-lambda-powertools-java) are also available). -**[📜 Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[NPM](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://github.com/awslabs/aws-lambda-powertools-roadmap/projects/1)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk)** +**[📜 Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[NPM](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://github.com/awslabs/aws-lambda-powertools-roadmap/projects/1)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples)** > **An AWS Developer Acceleration (DevAx) initiative by Specialist Solution Architects | aws-devax-open-source@amazon.com** @@ -35,9 +35,7 @@ Each TypeScript utility is installed as standalone NPM package. ### Examples * [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) -* [Tracer](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/tracing/examples) -* [Logger](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logger/examples) -* [Metrics](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/metrics/examples) +* [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) ## Credits diff --git a/packages/metrics/examples/cold-start.ts b/packages/metrics/examples/cold-start.ts deleted file mode 100644 index c6df4da619..0000000000 --- a/packages/metrics/examples/cold-start.ts +++ /dev/null @@ -1,26 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -const lambdaHandler = async (): Promise => { - - metrics.addDimension('custom-dimension', 'true'); - metrics.addMetric('test-metric', MetricUnits.Count, 10); - -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics, { captureColdStartMetric: true })); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked again!')); \ No newline at end of file diff --git a/packages/metrics/examples/constructor-options.ts b/packages/metrics/examples/constructor-options.ts deleted file mode 100644 index 988d750996..0000000000 --- a/packages/metrics/examples/constructor-options.ts +++ /dev/null @@ -1,25 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics({ - namespace: 'hello-world-constructor', - serviceName: 'hello-world-service-constructor' -}); - -const lambdaHandler = async (): Promise => { - metrics.addMetric('test-metric', MetricUnits.Count, 10); -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/cold-start.ts b/packages/metrics/examples/decorator/cold-start.ts deleted file mode 100644 index 69cf5976f0..0000000000 --- a/packages/metrics/examples/decorator/cold-start.ts +++ /dev/null @@ -1,26 +0,0 @@ -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from '../utils/lambda'; -import { populateEnvironmentVariables } from '../../tests/helpers'; -import { Callback, Context } from 'aws-lambda/handler'; -import { Metrics, MetricUnits } from '../../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -class Lambda implements LambdaInterface { - - @metrics.logMetrics({ captureColdStartMetric: true }) - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - metrics.addDimension('OuterDimension', 'true'); - metrics.addMetric('test-metric', MetricUnits.Count, 10); - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked again!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/constructor-options.ts b/packages/metrics/examples/decorator/constructor-options.ts deleted file mode 100644 index 9f76162457..0000000000 --- a/packages/metrics/examples/decorator/constructor-options.ts +++ /dev/null @@ -1,21 +0,0 @@ -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { Metrics, MetricUnits } from '../../src'; -import { LambdaInterface } from '../utils/lambda'; -import { Callback, Context } from 'aws-lambda/handler'; - -const metrics = new Metrics({ - namespace: 'hello-world-constructor', - serviceName: 'hello-world-service-constructor' -}); - -class Lambda implements LambdaInterface { - - @metrics.logMetrics() - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - metrics.addMetric('test-metric', MetricUnits.Count, 10); - - } - -} -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/default-dimensions-constructor.ts b/packages/metrics/examples/decorator/default-dimensions-constructor.ts deleted file mode 100644 index 748b8f91b1..0000000000 --- a/packages/metrics/examples/decorator/default-dimensions-constructor.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world-constructor'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world-service-constructor'; - -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from '../utils/lambda'; -import { Callback, Context } from 'aws-lambda/handler'; -import { Metrics, MetricUnits } from '../../src'; - -const metrics = new Metrics({ defaultDimensions:{ 'application': 'hello-world' } }); - -class Lambda implements LambdaInterface { - - @metrics.logMetrics() - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - metrics.addMetric('test-metric', MetricUnits.Count, 10); - - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/default-dimensions.ts b/packages/metrics/examples/decorator/default-dimensions.ts deleted file mode 100644 index 47689be465..0000000000 --- a/packages/metrics/examples/decorator/default-dimensions.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from '../utils/lambda'; -import { Callback, Context } from 'aws-lambda/handler'; -import { Metrics, MetricUnits } from '../../src'; - -const metrics = new Metrics(); - -class Lambda implements LambdaInterface { - - @metrics.logMetrics({ defaultDimensions:{ 'application': 'hello-world' } }) - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - - metrics.addDimension('environment', 'dev'); - metrics.addDimension('application', 'hello-world-dev'); - metrics.addMetric('test-metric', MetricUnits.Count, 10); - // You can override the default dimensions by clearing the existing metrics first. Note that the cleared metric will be dropped, it will NOT be published to CloudWatch - const metricsObject = metrics.serializeMetrics(); - metrics.clearMetrics(); - metrics.clearDimensions(); - metrics.addMetric('new-test-metric', MetricUnits.Count, 5); - console.log(JSON.stringify(metricsObject)); - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/dimensions.ts b/packages/metrics/examples/decorator/dimensions.ts deleted file mode 100644 index 0670989199..0000000000 --- a/packages/metrics/examples/decorator/dimensions.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from '../utils/lambda'; -import { Callback, Context } from 'aws-lambda/handler'; -import { Metrics, MetricUnits } from '../../src'; - -const metrics = new Metrics(); - -class Lambda implements LambdaInterface { - - @metrics.logMetrics() - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - - metrics.addDimension('environment', 'dev'); - metrics.addMetric('test-metric', MetricUnits.Count, 10); - - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/empty-metrics.ts b/packages/metrics/examples/decorator/empty-metrics.ts deleted file mode 100644 index 8a897f9290..0000000000 --- a/packages/metrics/examples/decorator/empty-metrics.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from '../utils/lambda'; -import { Callback, Context } from 'aws-lambda/handler'; -import { Metrics } from '../../src'; - -const metrics = new Metrics(); - -class Lambda implements LambdaInterface { - - // Be default, we will not throw any error if there is no metrics. Use this property to override and throw an exception - @metrics.logMetrics({ throwOnEmptyMetrics: true }) - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - // Notice that no metrics are added - // Since the throwOnEmptyMetrics parameter is set to true, the Powertool throws an Error - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/hello-world.ts b/packages/metrics/examples/decorator/hello-world.ts deleted file mode 100644 index 675cd3fd91..0000000000 --- a/packages/metrics/examples/decorator/hello-world.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world-service'; - -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from '../utils/lambda'; -import { Callback, Context } from 'aws-lambda/handler'; -import { Metrics, MetricUnits } from '../../src'; - -const metrics = new Metrics(); - -class Lambda implements LambdaInterface { - - @metrics.logMetrics() - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - metrics.addMetric('test-metric', MetricUnits.Count, 10); - - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/manual-flushing.ts b/packages/metrics/examples/decorator/manual-flushing.ts deleted file mode 100644 index a993dfa726..0000000000 --- a/packages/metrics/examples/decorator/manual-flushing.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Metrics, MetricUnits } from '../../src'; - -const metrics = new Metrics(); - -const lambdaHandler: Handler = async () => { - - metrics.addMetric('test-metric', MetricUnits.Count, 10); - metrics.publishStoredMetrics(); - //Metrics will be published and cleared - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/manual-metrics-print.ts b/packages/metrics/examples/decorator/manual-metrics-print.ts deleted file mode 100644 index 125d7ef703..0000000000 --- a/packages/metrics/examples/decorator/manual-metrics-print.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Metrics, MetricUnits } from '../../src'; - -const metrics = new Metrics(); - -const lambdaHandler: Handler = async () => { - - metrics.addMetric('test-metric', MetricUnits.Count, 10); - const metricsObject = metrics.serializeMetrics(); - metrics.clearMetrics(); - console.log(JSON.stringify(metricsObject)); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/single-metric.ts b/packages/metrics/examples/decorator/single-metric.ts deleted file mode 100644 index 66ac2102f0..0000000000 --- a/packages/metrics/examples/decorator/single-metric.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from '../utils/lambda'; -import { Callback, Context } from 'aws-lambda/handler'; -import { Metrics, MetricUnits } from '../../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -class Lambda implements LambdaInterface { - - @metrics.logMetrics() - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - metrics.addDimension('metricUnit', 'milliseconds'); - // This metric will have the "metricUnit" dimension, and no "metricType" dimension: - metrics.addMetric('latency', MetricUnits.Milliseconds, 56); - - const singleMetric = metrics.singleMetric(); - // This metric will have the "metricType" dimension, and no "metricUnit" dimension: - singleMetric.addDimension('metricType', 'business'); - singleMetric.addMetric('videoClicked', MetricUnits.Count, 1); - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/default-dimensions-constructor.ts b/packages/metrics/examples/default-dimensions-constructor.ts deleted file mode 100644 index 12cfe488bb..0000000000 --- a/packages/metrics/examples/default-dimensions-constructor.ts +++ /dev/null @@ -1,22 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics({ defaultDimensions:{ 'application': 'my-application' } }); - -const lambdaHandler = async (): Promise => { - metrics.addMetric('test-metric', MetricUnits.Count, 10); -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/default-dimensions.ts b/packages/metrics/examples/default-dimensions.ts deleted file mode 100644 index bf08b547cc..0000000000 --- a/packages/metrics/examples/default-dimensions.ts +++ /dev/null @@ -1,31 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -const lambdaHandler = async (): Promise => { - metrics.addDimension('environment', 'dev'); - metrics.addDimension('application', 'hello-world-dev'); - metrics.addMetric('test-metric', MetricUnits.Count, 10); - metrics.addMetric('new-test-metric-with-dimensions', MetricUnits.Count, 5); - metrics.addMetric('new-test-metric-without-dimensions', MetricUnits.Count, 5); - - // Optional: clear metrics and dimensions created till now - // metrics.clearMetrics(); - // metrics.clearDimensions(); - -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics, { defaultDimensions:{ 'application': 'hello-world' } })); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); diff --git a/packages/metrics/examples/dimensions.ts b/packages/metrics/examples/dimensions.ts deleted file mode 100644 index 90f66a3730..0000000000 --- a/packages/metrics/examples/dimensions.ts +++ /dev/null @@ -1,23 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics({ defaultDimensions:{ 'application': 'my-application' } }); - -const lambdaHandler = async (): Promise => { - metrics.addDimension('environment', 'dev'); - metrics.addMetric('test-metric', MetricUnits.Count, 10); -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/empty-metrics.ts b/packages/metrics/examples/empty-metrics.ts deleted file mode 100644 index 8c744b89b0..0000000000 --- a/packages/metrics/examples/empty-metrics.ts +++ /dev/null @@ -1,23 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -const lambdaHandler = async (): Promise => { - // Notice that no metrics are added - // Since the throwOnEmptyMetrics parameter is set to true, the Powertool throws an Error -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics, { throwOnEmptyMetrics: true })); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/hello-world.ts b/packages/metrics/examples/hello-world.ts deleted file mode 100644 index 6b39f5d636..0000000000 --- a/packages/metrics/examples/hello-world.ts +++ /dev/null @@ -1,22 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -const lambdaHandler = async (): Promise => { - metrics.addMetric('test-metric', MetricUnits.Count, 10); -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/manual-flushing.ts b/packages/metrics/examples/manual-flushing.ts deleted file mode 100644 index d8b93982cd..0000000000 --- a/packages/metrics/examples/manual-flushing.ts +++ /dev/null @@ -1,23 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -const lambdaHandler = async (): Promise => { - metrics.addMetric('test-metric', MetricUnits.Count, 10); - metrics.publishStoredMetrics(); -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/manual-metrics-print.ts b/packages/metrics/examples/manual-metrics-print.ts deleted file mode 100644 index ec12346395..0000000000 --- a/packages/metrics/examples/manual-metrics-print.ts +++ /dev/null @@ -1,25 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -const lambdaHandler = async (): Promise => { - metrics.addMetric('test-metric', MetricUnits.Count, 10); - const metricsObject = metrics.serializeMetrics(); - metrics.clearMetrics(); - console.log(JSON.stringify(metricsObject)); -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/single-metric.ts b/packages/metrics/examples/single-metric.ts deleted file mode 100644 index 4161d2be0f..0000000000 --- a/packages/metrics/examples/single-metric.ts +++ /dev/null @@ -1,29 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -const lambdaHandler = async (): Promise => { - metrics.addDimension('metricUnit', 'milliseconds'); - // This metric will have the "metricUnit" dimension, and no "metricType" dimension: - metrics.addMetric('latency', MetricUnits.Milliseconds, 56); - - const singleMetric = metrics.singleMetric(); - // This metric will have the "metricType" dimension, and no "metricUnit" dimension: - singleMetric.addDimension('metricType', 'business'); - singleMetric.addMetric('videoClicked', MetricUnits.Count, 1); -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/utils/lambda/LambdaInterface.ts b/packages/metrics/examples/utils/lambda/LambdaInterface.ts deleted file mode 100644 index 6e31000601..0000000000 --- a/packages/metrics/examples/utils/lambda/LambdaInterface.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Handler } from 'aws-lambda'; - -interface LambdaInterface { - handler: Handler -} - -export { - LambdaInterface -}; \ No newline at end of file diff --git a/packages/metrics/examples/utils/lambda/index.ts b/packages/metrics/examples/utils/lambda/index.ts deleted file mode 100644 index 059e4dbaf7..0000000000 --- a/packages/metrics/examples/utils/lambda/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './LambdaInterface'; \ No newline at end of file diff --git a/packages/metrics/package.json b/packages/metrics/package.json index d09117bb9c..872088f89b 100644 --- a/packages/metrics/package.json +++ b/packages/metrics/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/metrics", - "version": "0.9.1", + "version": "0.10.0", "description": "The metrics package for the AWS Lambda Powertools for TypeScript library", "author": { "name": "Amazon Web Services", @@ -15,6 +15,7 @@ "test:unit": "jest --group=unit --detectOpenHandles --coverage --verbose", "test:e2e:nodejs12x": "RUNTIME=nodejs12x jest --group=e2e", "test:e2e:nodejs14x": "RUNTIME=nodejs14x jest --group=e2e", + "test:e2e:nodejs16x": "RUNTIME=nodejs16x jest --group=e2e", "test:e2e": "jest --group=e2e", "watch": "jest --group=unit --watch ", "build": "tsc", @@ -25,27 +26,7 @@ "prepublishOnly": "npm test && npm run lint", "preversion": "npm run lint", "version": "npm run format && git add -A src", - "postversion": "git push && git push --tags", - "example:hello-world": "ts-node examples/hello-world.ts", - "example:manual-flushing": "ts-node examples/manual-flushing.ts", - "example:dimensions": "ts-node examples/dimensions.ts", - "example:default-dimensions": "ts-node examples/default-dimensions.ts", - "example:empty-metrics": "ts-node examples/empty-metrics.ts", - "example:single-metric": "ts-node examples/single-metric.ts", - "example:cold-start": "ts-node examples/cold-start.ts", - "example:manual-metrics-print": "ts-node examples/manual-metrics-print.ts", - "example:constructor-options": "ts-node examples/constructor-options.ts", - "example:default-dimensions-constructor": "ts-node examples/default-dimensions-constructor.ts", - "example:decorator-hello-world": "ts-node examples/decorator/hello-world.ts", - "example:decorator-manual-flushing": "ts-node examples/decorator/manual-flushing.ts", - "example:decorator-dimensions": "ts-node examples/decorator/dimensions.ts", - "example:decorator-default-dimensions": "ts-node examples/decorator/default-dimensions.ts", - "example:decorator-empty-metrics": "ts-node examples/decorator/empty-metrics.ts", - "example:decorator-single-metric": "ts-node examples/decorator/single-metric.ts", - "example:decorator-cold-start": "ts-node examples/decorator/cold-start.ts", - "example:decorator-manual-metrics-print": "ts-node examples/decorator/manual-metrics-print.ts", - "example:decorator-constructor-options": "ts-node examples/decorator/constructor-options.ts", - "example:decorator-default-dimensions-constructor": "ts-node examples/decorator/default-dimensions-constructor.ts" + "postversion": "git push && git push --tags" }, "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/master/packages/metrics#readme", "license": "MIT-0", @@ -67,6 +48,6 @@ "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" }, "dependencies": { - "@aws-lambda-powertools/commons": "^0.9.1" + "@aws-lambda-powertools/commons": "^0.10.0" } } diff --git a/packages/metrics/src/Metrics.ts b/packages/metrics/src/Metrics.ts index 36aad90687..aba0e0d865 100644 --- a/packages/metrics/src/Metrics.ts +++ b/packages/metrics/src/Metrics.ts @@ -237,7 +237,11 @@ class Metrics extends Utility implements MetricsInterface { } return (target, _propertyKey, descriptor) => { - const originalMethod = descriptor.value; + /** + * The descriptor.value is the method this decorator decorates, it cannot be undefined. + */ + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const originalMethod = descriptor.value!; descriptor.value = ( async (event: unknown, context: Context, callback: Callback): Promise => { this.functionName = context.functionName; @@ -245,7 +249,7 @@ class Metrics extends Utility implements MetricsInterface { let result: unknown; try { - result = await originalMethod?.apply(target, [ event, context, callback ]); + result = await originalMethod.apply(target, [ event, context, callback ]); } catch (error) { throw error; } finally { diff --git a/packages/metrics/tests/e2e/basicFeatures.decorators.test.ts b/packages/metrics/tests/e2e/basicFeatures.decorators.test.ts index c23bb78086..bf7afa1bdb 100644 --- a/packages/metrics/tests/e2e/basicFeatures.decorators.test.ts +++ b/packages/metrics/tests/e2e/basicFeatures.decorators.test.ts @@ -8,10 +8,10 @@ */ import path from 'path'; -import { randomUUID } from 'crypto'; import { Tracing } from 'aws-cdk-lib/aws-lambda'; import { App, Stack } from 'aws-cdk-lib'; import * as AWS from 'aws-sdk'; +import { v4 } from 'uuid'; import { generateUniqueName, isValidRuntimeKey, @@ -29,13 +29,13 @@ import { } from './constants'; import { getMetrics } from '../helpers/metricsUtils'; -const runtime: string = process.env.RUNTIME || 'nodejs14x'; +const runtime: string = process.env.RUNTIME || 'nodejs16x'; if (!isValidRuntimeKey(runtime)) { throw new Error(`Invalid runtime key value: ${runtime}`); } -const uuid = randomUUID(); +const uuid = v4(); const stackName = generateUniqueName(RESOURCE_NAME_PREFIX, uuid, runtime, 'decorator'); const functionName = generateUniqueName(RESOURCE_NAME_PREFIX, uuid, runtime, 'decorator'); const lambdaFunctionCodeFile = 'basicFeatures.decorator.test.functionCode.ts'; diff --git a/packages/metrics/tests/e2e/basicFeatures.manual.test.ts b/packages/metrics/tests/e2e/basicFeatures.manual.test.ts index 56548fac78..6a43fb665f 100644 --- a/packages/metrics/tests/e2e/basicFeatures.manual.test.ts +++ b/packages/metrics/tests/e2e/basicFeatures.manual.test.ts @@ -8,10 +8,10 @@ */ import path from 'path'; -import { randomUUID } from 'crypto'; import { Tracing } from 'aws-cdk-lib/aws-lambda'; import { App, Stack } from 'aws-cdk-lib'; import * as AWS from 'aws-sdk'; +import { v4 } from 'uuid'; import { generateUniqueName, isValidRuntimeKey, @@ -29,13 +29,13 @@ import { } from './constants'; import { getMetrics } from '../helpers/metricsUtils'; -const runtime: string = process.env.RUNTIME || 'nodejs14x'; +const runtime: string = process.env.RUNTIME || 'nodejs16x'; if (!isValidRuntimeKey(runtime)) { throw new Error(`Invalid runtime key value: ${runtime}`); } -const uuid = randomUUID(); +const uuid = v4(); const stackName = generateUniqueName(RESOURCE_NAME_PREFIX, uuid, runtime, 'manual'); const functionName = generateUniqueName(RESOURCE_NAME_PREFIX, uuid, runtime, 'manual'); const lambdaFunctionCodeFile = 'basicFeatures.manual.test.functionCode.ts'; diff --git a/packages/metrics/tsconfig.es.json b/packages/metrics/tsconfig.es.json index d28abaa6d5..65215a1c76 100644 --- a/packages/metrics/tsconfig.es.json +++ b/packages/metrics/tsconfig.es.json @@ -2,7 +2,7 @@ "compilerOptions": { "experimentalDecorators": true, "noImplicitAny": true, - "target": "ES2020", + "target": "ES2019", "module": "commonjs", "declaration": true, "declarationMap": true, @@ -23,7 +23,7 @@ "watchDirectory": "useFsEvents", "fallbackPolling": "dynamicPriority" }, - "lib": [ "es2020" ], + "lib": [ "es2019" ], "types": [ "jest", "node" diff --git a/packages/metrics/tsconfig.json b/packages/metrics/tsconfig.json index 582618277f..23252b808b 100644 --- a/packages/metrics/tsconfig.json +++ b/packages/metrics/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "experimentalDecorators": true, "noImplicitAny": true, - "target": "ES2020", + "target": "ES2019", "module": "commonjs", "declaration": true, "declarationMap": true, @@ -24,7 +24,7 @@ "watchDirectory": "useFsEvents", "fallbackPolling": "dynamicPriority" }, - "lib": [ "es2020" ], + "lib": [ "es2019" ], "types": [ "jest", "node" diff --git a/packages/tracer/CHANGELOG.md b/packages/tracer/CHANGELOG.md index 00f51e7cc2..eef8b023fd 100644 --- a/packages/tracer/CHANGELOG.md +++ b/packages/tracer/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.10.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.1...v0.10.0) (2022-06-02) + + +### Features + +* **all:** nodejs16x support ([#877](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/877)) ([d2b13c9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d2b13c945adb1a74b7c5f76d45f28a6979ce6429)) + + + + + ## [0.9.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) **Note:** Version bump only for package @aws-lambda-powertools/tracer diff --git a/packages/tracer/README.md b/packages/tracer/README.md index f3fd5d58ed..f22574317f 100644 --- a/packages/tracer/README.md +++ b/packages/tracer/README.md @@ -7,7 +7,7 @@ A suite of TypeScript utilities for AWS Lambda functions to ease adopting best practices such as tracing, structured logging, custom metrics, and more. (AWS Lambda Powertools for [Python](https://github.com/awslabs/aws-lambda-powertools-python) and AWS Lambda Powertools for [Java](https://github.com/awslabs/aws-lambda-powertools-java) are also available). -**[📜 Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[NPM](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://github.com/awslabs/aws-lambda-powertools-roadmap/projects/1)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk)** +**[📜 Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[NPM](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://github.com/awslabs/aws-lambda-powertools-roadmap/projects/1)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples)** > **An AWS Developer Acceleration (DevAx) initiative by Specialist Solution Architects | aws-devax-open-source@amazon.com** @@ -35,9 +35,7 @@ Each TypeScript utility is installed as standalone NPM package. ### Examples * [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) -* [Tracer](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/tracing/examples) -* [Logger](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logger/examples) -* [Metrics](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/metrics/examples) +* [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) ## Credits diff --git a/packages/tracer/package.json b/packages/tracer/package.json index 3236c687d4..70e186831b 100644 --- a/packages/tracer/package.json +++ b/packages/tracer/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/tracer", - "version": "0.9.1", + "version": "0.10.0", "description": "The tracer package for the AWS Lambda Powertools for TypeScript library", "author": { "name": "Amazon Web Services", @@ -15,6 +15,7 @@ "test:unit": "jest --group=unit --detectOpenHandles --coverage --verbose", "test:e2e:nodejs12x": "RUNTIME=nodejs12x jest --group=e2e", "test:e2e:nodejs14x": "RUNTIME=nodejs14x jest --group=e2e", + "test:e2e:nodejs16x": "RUNTIME=nodejs16x jest --group=e2e", "test:e2e": "jest --group=e2e", "watch": "jest --watch", "build": "tsc", @@ -48,7 +49,7 @@ "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" }, "dependencies": { - "@aws-lambda-powertools/commons": "^0.9.1", + "@aws-lambda-powertools/commons": "^0.10.0", "aws-xray-sdk-core": "^3.3.4" } } diff --git a/packages/tracer/src/Tracer.ts b/packages/tracer/src/Tracer.ts index b25d940777..ba554f72ae 100644 --- a/packages/tracer/src/Tracer.ts +++ b/packages/tracer/src/Tracer.ts @@ -123,7 +123,8 @@ class Tracer extends Utility implements TracerInterface { private customConfigService?: ConfigServiceInterface; - private envVarsService?: EnvironmentVariablesService; + // envVarsService is always initialized in the constructor in setOptions() + private envVarsService!: EnvironmentVariablesService; private serviceName?: string; @@ -340,11 +341,15 @@ class Tracer extends Utility implements TracerInterface { */ public captureLambdaHandler(): HandlerMethodDecorator { return (target, _propertyKey, descriptor) => { - const originalMethod = descriptor.value; + /** + * The descriptor.value is the method this decorator decorates, it cannot be undefined. + */ + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const originalMethod = descriptor.value!; descriptor.value = ((event, context, callback) => { if (!this.isTracingEnabled()) { - return originalMethod?.apply(target, [ event, context, callback ]); + return originalMethod.apply(target, [ event, context, callback ]); } return this.provider.captureAsyncFunc(`## ${process.env._HANDLER}`, async subsegment => { @@ -352,7 +357,7 @@ class Tracer extends Utility implements TracerInterface { this.addServiceNameAnnotation(); let result: unknown; try { - result = await originalMethod?.apply(target, [ event, context, callback ]); + result = await originalMethod.apply(target, [ event, context, callback ]); this.addResponseAsMetadata(result, process.env._HANDLER); } catch (error) { this.addErrorAsMetadata(error as Error); @@ -407,17 +412,19 @@ class Tracer extends Utility implements TracerInterface { */ public captureMethod(): MethodDecorator { return (target, _propertyKey, descriptor) => { - const originalMethod = descriptor.value; + // The descriptor.value is the method this decorator decorates, it cannot be undefined. + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const originalMethod = descriptor.value!; descriptor.value = (...args: unknown[]) => { if (!this.isTracingEnabled()) { - return originalMethod?.apply(target, [...args]); + return originalMethod.apply(target, [...args]); } return this.provider.captureAsyncFunc(`### ${originalMethod.name}`, async subsegment => { let result; try { - result = await originalMethod?.apply(this, [...args]); + result = await originalMethod.apply(this, [...args]); this.addResponseAsMetadata(result, originalMethod.name); } catch (error) { this.addErrorAsMetadata(error as Error); @@ -509,7 +516,7 @@ class Tracer extends Utility implements TracerInterface { return; } - document?.addAnnotation(key, value); + document.addAnnotation(key, value); } /** @@ -544,7 +551,7 @@ class Tracer extends Utility implements TracerInterface { } namespace = namespace || this.serviceName; - document?.addMetadata(key, value, namespace); + document.addMetadata(key, value, namespace); } /** @@ -588,7 +595,7 @@ class Tracer extends Utility implements TracerInterface { * Used internally during initialization. */ private getEnvVarsService(): EnvironmentVariablesService { - return this.envVarsService; + return this.envVarsService; } /** @@ -596,7 +603,7 @@ class Tracer extends Utility implements TracerInterface { * Used internally during initialization. */ private isLambdaExecutionEnv(): boolean { - return this.getEnvVarsService()?.getAwsExecutionEnv() !== ''; + return this.getEnvVarsService().getAwsExecutionEnv() !== ''; } /** @@ -604,7 +611,7 @@ class Tracer extends Utility implements TracerInterface { * Used internally during initialization. */ private isLambdaSamCli(): boolean { - return this.getEnvVarsService()?.getSamLocal() !== ''; + return this.getEnvVarsService().getSamLocal() !== ''; } /** @@ -629,7 +636,7 @@ class Tracer extends Utility implements TracerInterface { return; } - const envVarsValue = this.getEnvVarsService()?.getTracingCaptureError(); + const envVarsValue = this.getEnvVarsService().getTracingCaptureError(); if (envVarsValue.toLowerCase() === 'false') { this.captureError = false; @@ -662,7 +669,7 @@ class Tracer extends Utility implements TracerInterface { return; } - const envVarsValue = this.getEnvVarsService()?.getCaptureHTTPsRequests(); + const envVarsValue = this.getEnvVarsService().getCaptureHTTPsRequests(); if (envVarsValue.toLowerCase() === 'false') { this.captureHTTPsRequests = false; @@ -682,7 +689,7 @@ class Tracer extends Utility implements TracerInterface { return; } - const envVarsValue = this.getEnvVarsService()?.getTracingCaptureResponse(); + const envVarsValue = this.getEnvVarsService().getTracingCaptureResponse(); if (envVarsValue.toLowerCase() === 'false') { this.captureResponse = false; @@ -753,7 +760,7 @@ class Tracer extends Utility implements TracerInterface { return; } - const envVarsValue = this.getEnvVarsService()?.getServiceName(); + const envVarsValue = this.getEnvVarsService().getServiceName(); if (envVarsValue !== undefined && Tracer.isValidServiceName(envVarsValue)) { this.serviceName = envVarsValue; @@ -781,7 +788,7 @@ class Tracer extends Utility implements TracerInterface { return; } - const envVarsValue = this.getEnvVarsService()?.getTracingEnabled(); + const envVarsValue = this.getEnvVarsService().getTracingEnabled(); if (envVarsValue.toLowerCase() === 'false') { this.tracingEnabled = false; diff --git a/packages/tracer/src/middleware/middy.ts b/packages/tracer/src/middleware/middy.ts index 2114a80533..bac2490177 100644 --- a/packages/tracer/src/middleware/middy.ts +++ b/packages/tracer/src/middleware/middy.ts @@ -37,7 +37,7 @@ const captureLambdaHandler = (target: Tracer): middy.MiddlewareObj => { const close = (): void => { const subsegment = target.getSegment(); - subsegment?.close(); + subsegment.close(); target.setSegment(lambdaSegment as Segment); }; diff --git a/packages/tracer/tests/e2e/allFeatures.decorator.test.ts b/packages/tracer/tests/e2e/allFeatures.decorator.test.ts index 5869c46e78..5c2272f18a 100644 --- a/packages/tracer/tests/e2e/allFeatures.decorator.test.ts +++ b/packages/tracer/tests/e2e/allFeatures.decorator.test.ts @@ -4,11 +4,11 @@ * @group e2e/tracer/decorator */ -import { randomUUID } from 'crypto'; import path from 'path'; import { Table, AttributeType, BillingMode } from 'aws-cdk-lib/aws-dynamodb'; import { App, Stack, RemovalPolicy } from 'aws-cdk-lib'; import * as AWS from 'aws-sdk'; +import { v4 } from 'uuid'; import { deployStack, destroyStack } from '../../../commons/tests/utils/cdk-cli'; import { getTraces, @@ -40,7 +40,7 @@ import { assertErrorAndFault, } from '../helpers/traceAssertions'; -const runtime: string = process.env.RUNTIME || 'nodejs14x'; +const runtime: string = process.env.RUNTIME || 'nodejs16x'; if (!isValidRuntimeKey(runtime)) { throw new Error(`Invalid runtime key value: ${runtime}`); @@ -54,27 +54,27 @@ if (!isValidRuntimeKey(runtime)) { * Each stack must use a unique `serviceName` as it's used to for retrieving the trace. * Using the same one will result in traces from different test cases mixing up. */ -const stackName = generateUniqueName(RESOURCE_NAME_PREFIX, randomUUID(), runtime, 'AllFeatures-Decorator'); +const stackName = generateUniqueName(RESOURCE_NAME_PREFIX, v4(), runtime, 'AllFeatures-Decorator'); const lambdaFunctionCodeFile = 'allFeatures.decorator.test.functionCode.ts'; let startTime: Date; /** * Function #1 is with all flags enabled. */ -const uuidFunction1 = randomUUID(); +const uuidFunction1 = v4(); const functionNameWithAllFlagsEnabled = generateUniqueName(RESOURCE_NAME_PREFIX, uuidFunction1, runtime, 'AllFeatures-Decoratory-AllFlagsEnabled'); const serviceNameWithAllFlagsEnabled = functionNameWithAllFlagsEnabled; /** * Function #2 doesn't capture error or response */ -const uuidFunction2 = randomUUID(); +const uuidFunction2 = v4(); const functionNameWithNoCaptureErrorOrResponse = generateUniqueName(RESOURCE_NAME_PREFIX, uuidFunction2, runtime, 'AllFeatures-Decorator-NoCaptureErrorOrResponse'); const serviceNameWithNoCaptureErrorOrResponse = functionNameWithNoCaptureErrorOrResponse; /** * Function #3 disables tracer */ -const uuidFunction3 = randomUUID(); +const uuidFunction3 = v4(); const functionNameWithTracerDisabled = generateUniqueName(RESOURCE_NAME_PREFIX, uuidFunction3, runtime, 'AllFeatures-Decorator-TracerDisabled'); const serviceNameWithTracerDisabled = functionNameWithNoCaptureErrorOrResponse; diff --git a/packages/tracer/tests/e2e/allFeatures.manual.test.ts b/packages/tracer/tests/e2e/allFeatures.manual.test.ts index ba56577945..ed97abb3ad 100644 --- a/packages/tracer/tests/e2e/allFeatures.manual.test.ts +++ b/packages/tracer/tests/e2e/allFeatures.manual.test.ts @@ -4,11 +4,11 @@ * @group e2e/tracer/manual */ -import { randomUUID } from 'crypto'; import path from 'path'; import { Table, AttributeType, BillingMode } from 'aws-cdk-lib/aws-dynamodb'; import { App, Stack, RemovalPolicy } from 'aws-cdk-lib'; import * as AWS from 'aws-sdk'; +import { v4 } from 'uuid'; import { deployStack, destroyStack } from '../../../commons/tests/utils/cdk-cli'; import { getTraces, @@ -41,13 +41,13 @@ import { assertAnnotation } from '../helpers/traceAssertions'; -const runtime: string = process.env.RUNTIME || 'nodejs14x'; +const runtime: string = process.env.RUNTIME || 'nodejs16x'; if (!isValidRuntimeKey(runtime)) { throw new Error(`Invalid runtime key value: ${runtime}`); } -const uuid = randomUUID(); +const uuid = v4(); const stackName = generateUniqueName(RESOURCE_NAME_PREFIX, uuid, runtime, 'AllFeatures-Manual'); const functionName = generateUniqueName(RESOURCE_NAME_PREFIX, uuid, runtime, 'AllFeatures-Manual'); const lambdaFunctionCodeFile = 'allFeatures.manual.test.functionCode.ts'; diff --git a/packages/tracer/tests/e2e/allFeatures.middy.test.ts b/packages/tracer/tests/e2e/allFeatures.middy.test.ts index c4be1934f2..2f4b7cf931 100644 --- a/packages/tracer/tests/e2e/allFeatures.middy.test.ts +++ b/packages/tracer/tests/e2e/allFeatures.middy.test.ts @@ -4,11 +4,11 @@ * @group e2e/tracer/middy */ -import { randomUUID } from 'crypto'; import path from 'path'; import { Table, AttributeType, BillingMode } from 'aws-cdk-lib/aws-dynamodb'; import { App, Stack, RemovalPolicy } from 'aws-cdk-lib'; import * as AWS from 'aws-sdk'; +import { v4 } from 'uuid'; import { deployStack, destroyStack } from '../../../commons/tests/utils/cdk-cli'; import { getTraces, @@ -40,7 +40,7 @@ import { assertErrorAndFault, } from '../helpers/traceAssertions'; -const runtime: string = process.env.RUNTIME || 'nodejs14x'; +const runtime: string = process.env.RUNTIME || 'nodejs16x'; if (!isValidRuntimeKey(runtime)) { throw new Error(`Invalid runtime key value: ${runtime}`); @@ -54,27 +54,27 @@ if (!isValidRuntimeKey(runtime)) { * Each stack must use a unique `serviceName` as it's used to for retrieving the trace. * Using the same one will result in traces from different test cases mixing up. */ -const stackName = generateUniqueName(RESOURCE_NAME_PREFIX, randomUUID(), runtime, 'AllFeatures-Middy'); +const stackName = generateUniqueName(RESOURCE_NAME_PREFIX, v4(), runtime, 'AllFeatures-Middy'); const lambdaFunctionCodeFile = 'allFeatures.middy.test.functionCode.ts'; let startTime: Date; /** * Function #1 is with all flags enabled. */ -const uuidFunction1 = randomUUID(); +const uuidFunction1 = v4(); const functionNameWithAllFlagsEnabled = generateUniqueName(RESOURCE_NAME_PREFIX, uuidFunction1, runtime, 'AllFeatures-Middy-AllFlagsEnabled'); const serviceNameWithAllFlagsEnabled = functionNameWithAllFlagsEnabled; /** * Function #2 doesn't capture error or response */ -const uuidFunction2 = randomUUID(); +const uuidFunction2 = v4(); const functionNameWithNoCaptureErrorOrResponse = generateUniqueName(RESOURCE_NAME_PREFIX, uuidFunction2, runtime, 'AllFeatures-Middy-NoCaptureErrorOrResponse'); const serviceNameWithNoCaptureErrorOrResponse = functionNameWithNoCaptureErrorOrResponse; /** * Function #3 disables tracer */ -const uuidFunction3 = randomUUID(); +const uuidFunction3 = v4(); const functionNameWithTracerDisabled = generateUniqueName(RESOURCE_NAME_PREFIX, uuidFunction3, runtime, 'AllFeatures-Middy-TracerDisabled'); const serviceNameWithTracerDisabled = functionNameWithNoCaptureErrorOrResponse; diff --git a/packages/tracer/tests/e2e/asyncHandler.decorator.test.ts b/packages/tracer/tests/e2e/asyncHandler.decorator.test.ts index 46f8dedd7b..21cd44840c 100644 --- a/packages/tracer/tests/e2e/asyncHandler.decorator.test.ts +++ b/packages/tracer/tests/e2e/asyncHandler.decorator.test.ts @@ -4,11 +4,11 @@ * @group e2e/tracer/decorator-async-handler */ -import { randomUUID } from 'crypto'; import path from 'path'; import { Table, AttributeType, BillingMode } from 'aws-cdk-lib/aws-dynamodb'; import { App, Stack, RemovalPolicy } from 'aws-cdk-lib'; import * as AWS from 'aws-sdk'; +import { v4 } from 'uuid'; import { deployStack, destroyStack } from '../../../commons/tests/utils/cdk-cli'; import { getTraces, @@ -40,17 +40,17 @@ import { assertErrorAndFault, } from '../helpers/traceAssertions'; -const runtime: string = process.env.RUNTIME || 'nodejs14x'; +const runtime: string = process.env.RUNTIME || 'nodejs16x'; if (!isValidRuntimeKey(runtime)) { throw new Error(`Invalid runtime key value: ${runtime}`); } -const stackName = generateUniqueName(RESOURCE_NAME_PREFIX, randomUUID(), runtime, 'AllFeatures-Decorator'); +const stackName = generateUniqueName(RESOURCE_NAME_PREFIX, v4(), runtime, 'AllFeatures-Decorator'); const lambdaFunctionCodeFile = 'asyncHandler.decorator.test.functionCode.ts'; let startTime: Date; -const uuid = randomUUID(); +const uuid = v4(); const functionName = generateUniqueName(RESOURCE_NAME_PREFIX, uuid, runtime, 'AllFeatures-Decoratory-AllFlagsEnabled'); const serviceName = functionName; diff --git a/packages/tracer/tests/helpers/populateEnvironmentVariables.ts b/packages/tracer/tests/helpers/populateEnvironmentVariables.ts index b462aa0847..4eb2b25522 100644 --- a/packages/tracer/tests/helpers/populateEnvironmentVariables.ts +++ b/packages/tracer/tests/helpers/populateEnvironmentVariables.ts @@ -1,7 +1,7 @@ // Reserved variables process.env._X_AMZN_TRACE_ID = '1-abcdef12-3456abcdef123456abcdef12'; process.env.AWS_LAMBDA_FUNCTION_NAME = 'my-lambda-function'; -process.env.AWS_EXECUTION_ENV = 'nodejs14.x'; +process.env.AWS_EXECUTION_ENV = 'nodejs16.x'; process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE = '128'; process.env.AWS_REGION = 'eu-west-1'; process.env._HANDLER = 'index.handler'; diff --git a/packages/tracer/tests/unit/Tracer.test.ts b/packages/tracer/tests/unit/Tracer.test.ts index 377ff13136..fb34bfb71f 100644 --- a/packages/tracer/tests/unit/Tracer.test.ts +++ b/packages/tracer/tests/unit/Tracer.test.ts @@ -8,11 +8,22 @@ import { Tracer } from '../../src'; import { Callback, Context, Handler } from 'aws-lambda/handler'; import { Segment, setContextMissingStrategy, Subsegment } from 'aws-xray-sdk-core'; import { DynamoDB } from 'aws-sdk'; +import { ProviderServiceInterface } from '../../src/provider'; interface LambdaInterface { handler: Handler } +type CaptureAsyncFuncMock = jest.SpyInstance unknown, parent?: Segment | Subsegment]>; +const createCaptureAsyncFuncMock = function(provider: ProviderServiceInterface): CaptureAsyncFuncMock { + return jest.spyOn(provider, 'captureAsyncFunc') + .mockImplementation((methodName, callBackFn) => { + const subsegment = new Subsegment(`### ${methodName}`); + jest.spyOn(subsegment, 'flush').mockImplementation(() => null); + callBackFn(subsegment); + }); +}; + jest.spyOn(console, 'debug').mockImplementation(() => null); jest.spyOn(console, 'warn').mockImplementation(() => null); jest.spyOn(console, 'error').mockImplementation(() => null); @@ -579,7 +590,7 @@ describe('Class: Tracer', () => { describe('Method: captureLambdaHandler', () => { test('when used as decorator while tracing is disabled, it does nothing', async () => { - + // Prepare const tracer: Tracer = new Tracer({ enabled: false }); jest.spyOn(tracer.provider, 'getSegment').mockImplementation(() => new Segment('facade', process.env._X_AMZN_TRACE_ID || null)); @@ -763,7 +774,7 @@ describe('Class: Tracer', () => { .mockImplementationOnce(() => newSubsegmentFirstInvocation) .mockImplementation(() => newSubsegmentSecondInvocation); setContextMissingStrategy(() => null); - const captureAsyncFuncSpy = jest.spyOn(tracer.provider, 'captureAsyncFunc'); + const captureAsyncFuncSpy = createCaptureAsyncFuncMock(tracer.provider); const putAnnotationSpy = jest.spyOn(tracer, 'putAnnotation'); class Lambda implements LambdaInterface { @@ -814,7 +825,7 @@ describe('Class: Tracer', () => { jest.spyOn(tracer.provider, 'getSegment') .mockImplementation(() => newSubsegment); setContextMissingStrategy(() => null); - const captureAsyncFuncSpy = jest.spyOn(tracer.provider, 'captureAsyncFunc'); + const captureAsyncFuncSpy = createCaptureAsyncFuncMock(tracer.provider); class Lambda implements LambdaInterface { @tracer.captureLambdaHandler() @@ -930,7 +941,7 @@ describe('Class: Tracer', () => { jest.spyOn(tracer.provider, 'getSegment') .mockImplementation(() => newSubsegment); setContextMissingStrategy(() => null); - const captureAsyncFuncSpy = jest.spyOn(tracer.provider, 'captureAsyncFunc'); + const captureAsyncFuncSpy = createCaptureAsyncFuncMock(tracer.provider); const addErrorSpy = jest.spyOn(newSubsegment, 'addError'); class Lambda implements LambdaInterface { diff --git a/packages/tracer/tests/unit/config/EnvironmentVariablesService.test.ts b/packages/tracer/tests/unit/config/EnvironmentVariablesService.test.ts index 8ffc9c46b3..30e0db93f2 100644 --- a/packages/tracer/tests/unit/config/EnvironmentVariablesService.test.ts +++ b/packages/tracer/tests/unit/config/EnvironmentVariablesService.test.ts @@ -175,14 +175,14 @@ describe('Class: EnvironmentVariablesService', () => { test('It returns the value of the environment variable AWS_EXECUTION_ENV', () => { // Prepare - process.env.AWS_EXECUTION_ENV = 'nodejs14.x'; + process.env.AWS_EXECUTION_ENV = 'nodejs16.x'; const service = new EnvironmentVariablesService(); // Act const value = service.getAwsExecutionEnv(); // Assess - expect(value).toEqual('nodejs14.x'); + expect(value).toEqual('nodejs16.x'); }); }); diff --git a/packages/tracer/tests/unit/helpers.test.ts b/packages/tracer/tests/unit/helpers.test.ts index 7fdf7823d7..d74b478ae8 100644 --- a/packages/tracer/tests/unit/helpers.test.ts +++ b/packages/tracer/tests/unit/helpers.test.ts @@ -220,7 +220,7 @@ describe('Helper: createTracer function', () => { test('when AWS_EXECUTION_ENV environment variable is set, tracing is enabled', () => { // Prepare - process.env.AWS_EXECUTION_ENV = 'nodejs14.x'; + process.env.AWS_EXECUTION_ENV = 'nodejs16.x'; // Act const tracer = createTracer(); diff --git a/packages/tracer/tsconfig.es.json b/packages/tracer/tsconfig.es.json index 802f18e8f9..7743a7b77d 100644 --- a/packages/tracer/tsconfig.es.json +++ b/packages/tracer/tsconfig.es.json @@ -2,7 +2,7 @@ "compilerOptions": { "experimentalDecorators": true, "noImplicitAny": true, - "target": "ES2020", + "target": "ES2019", "module": "commonjs", "declaration": true, "declarationMap": true, @@ -23,7 +23,7 @@ "watchDirectory": "useFsEvents", "fallbackPolling": "dynamicPriority" }, - "lib": [ "es2020" ], + "lib": [ "es2019" ], "types": [ "jest", "node" diff --git a/packages/tracer/tsconfig.json b/packages/tracer/tsconfig.json index 8b93f8c299..c3cb48b6fb 100644 --- a/packages/tracer/tsconfig.json +++ b/packages/tracer/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "experimentalDecorators": true, "noImplicitAny": true, - "target": "ES2020", + "target": "ES2019", "module": "commonjs", "declaration": true, "declarationMap": true, @@ -24,7 +24,7 @@ "watchDirectory": "useFsEvents", "fallbackPolling": "dynamicPriority" }, - "lib": [ "es2020" ], + "lib": [ "es2019" ], "types": [ "jest", "node"