From d92f0884540682936bd77a0181b297ae05a1bc4a Mon Sep 17 00:00:00 2001 From: "Release bot[bot]" Date: Fri, 9 Jun 2023 16:58:30 +0000 Subject: [PATCH 01/35] chore: update layer ARN on documentation --- docs/index.md | 68 +++++++++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/docs/index.md b/docs/index.md index 87a1a69096..38e3f385b8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -26,7 +26,7 @@ You can use Powertools for AWS Lambda (TypeScript) in both TypeScript and JavaSc You can install Powertools for AWS Lambda (TypeScript) using one of the following options: -* **Lambda Layer**: [**arn:aws:lambda:{region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11**](#){: .copyMe}:clipboard: +* **Lambda Layer**: [**arn:aws:lambda:{region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:12**](#){: .copyMe}:clipboard: * **npm**: [`npm install @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics @aws-lambda-powertools/logger`](#){: .copyMe}:clipboard: ### Lambda Layer @@ -41,31 +41,31 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L | Region | Layer ARN | | ---------------- | ------------------------------------------------------------------------------------------------------------ | - | `us-east-1` | [arn:aws:lambda:us-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `us-east-2` | [arn:aws:lambda:us-east-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `us-west-1` | [arn:aws:lambda:us-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `us-west-2` | [arn:aws:lambda:us-west-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-south-1` | [arn:aws:lambda:ap-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-east-1` | [arn:aws:lambda:ap-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-northeast-1` | [arn:aws:lambda:ap-northeast-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-northeast-2` | [arn:aws:lambda:ap-northeast-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-northeast-3` | [arn:aws:lambda:ap-northeast-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-southeast-1` | [arn:aws:lambda:ap-southeast-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-southeast-2` | [arn:aws:lambda:ap-southeast-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-southeast-3` | [arn:aws:lambda:ap-southeast-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ap-southeast-4` | [arn:aws:lambda:ap-southeast-4:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-central-1` | [arn:aws:lambda:eu-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-central-2` | [arn:aws:lambda:eu-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-west-1` | [arn:aws:lambda:eu-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-west-2` | [arn:aws:lambda:eu-west-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-west-3` | [arn:aws:lambda:eu-west-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-north-1` | [arn:aws:lambda:eu-north-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-south-1` | [arn:aws:lambda:eu-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `eu-south-2` | [arn:aws:lambda:eu-south-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `ca-central-1` | [arn:aws:lambda:ca-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `sa-east-1` | [arn:aws:lambda:sa-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `af-south-1` | [arn:aws:lambda:af-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | - | `me-south-1` | [arn:aws:lambda:me-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:11](#){: .copyMe}:clipboard: | + | `us-east-1` | [arn:aws:lambda:us-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `us-east-2` | [arn:aws:lambda:us-east-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `us-west-1` | [arn:aws:lambda:us-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `us-west-2` | [arn:aws:lambda:us-west-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `ap-south-1` | [arn:aws:lambda:ap-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `ap-east-1` | [arn:aws:lambda:ap-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `ap-northeast-1` | [arn:aws:lambda:ap-northeast-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `ap-northeast-2` | [arn:aws:lambda:ap-northeast-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `ap-northeast-3` | [arn:aws:lambda:ap-northeast-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `ap-southeast-1` | [arn:aws:lambda:ap-southeast-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `ap-southeast-2` | [arn:aws:lambda:ap-southeast-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `ap-southeast-3` | [arn:aws:lambda:ap-southeast-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `ap-southeast-4` | [arn:aws:lambda:ap-southeast-4:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `eu-central-1` | [arn:aws:lambda:eu-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `eu-central-2` | [arn:aws:lambda:eu-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `eu-west-1` | [arn:aws:lambda:eu-west-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `eu-west-2` | [arn:aws:lambda:eu-west-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `eu-west-3` | [arn:aws:lambda:eu-west-3:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `eu-north-1` | [arn:aws:lambda:eu-north-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `eu-south-1` | [arn:aws:lambda:eu-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `eu-south-2` | [arn:aws:lambda:eu-south-2:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `ca-central-1` | [arn:aws:lambda:ca-central-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `sa-east-1` | [arn:aws:lambda:sa-east-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `af-south-1` | [arn:aws:lambda:af-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | + | `me-south-1` | [arn:aws:lambda:me-south-1:094274105915:layer:AWSLambdaPowertoolsTypeScript:12](#){: .copyMe}:clipboard: | ??? note "Click to expand and copy code snippets for popular frameworks" @@ -76,7 +76,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L Type: AWS::Serverless::Function Properties: Layers: - - !Sub arn:aws:lambda:${AWS::Region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11 + - !Sub arn:aws:lambda:${AWS::Region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:12 ``` If you use `esbuild` to bundle your code, make sure to exclude `@aws-lambda-powertools` from being bundled since the packages will be already present the Layer: @@ -107,7 +107,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L hello: handler: lambda_function.lambda_handler layers: - - arn:aws:lambda:${aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11 + - arn:aws:lambda:${aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:12 ``` If you use `esbuild` to bundle your code, make sure to exclude `@aws-lambda-powertools` from being bundled since the packages will be already present the Layer: @@ -139,7 +139,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L const powertoolsLayer = lambda.LayerVersion.fromLayerVersionArn( this, 'PowertoolsLayer', - `arn:aws:lambda:${cdk.Stack.of(this).region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11` + `arn:aws:lambda:${cdk.Stack.of(this).region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:12` ); new lambda.Function(this, 'Function', { @@ -191,7 +191,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L role = ... handler = "index.handler" runtime = "nodejs16.x" - layers = ["arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11"] + layers = ["arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:12"] source_code_hash = filebase64sha256("lambda_function_payload.zip") } ``` @@ -209,7 +209,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L const lambdaFunction = new aws.lambda.Function('function', { layers: [ - pulumi.interpolate`arn:aws:lambda:${aws.getRegionOutput().name}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11` + pulumi.interpolate`arn:aws:lambda:${aws.getRegionOutput().name}:094274105915:layer:AWSLambdaPowertoolsTypeScript:12` ], code: new pulumi.asset.FileArchive('lambda_function_payload.zip'), tracingConfig: { @@ -233,7 +233,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L ? Do you want to configure advanced settings? Yes ... ? Do you want to enable Lambda layers for this function? Yes - ? Enter up to 5 existing Lambda layer ARNs (comma-separated): arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11 + ? Enter up to 5 existing Lambda layer ARNs (comma-separated): arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:12 ❯ amplify push -y # Updating an existing function and add the layer @@ -243,7 +243,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L - Name: ? Which setting do you want to update? Lambda layers configuration ? Do you want to enable Lambda layers for this function? Yes - ? Enter up to 5 existing Lambda layer ARNs (comma-separated): arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11 + ? Enter up to 5 existing Lambda layer ARNs (comma-separated): arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:12 ? Do you want to edit the local lambda function now? No ``` @@ -253,7 +253,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L Change {region} to your AWS region, e.g. `eu-west-1` ```bash title="AWS CLI" - aws lambda get-layer-version-by-arn --arn arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:11 --region {region} + aws lambda get-layer-version-by-arn --arn arn:aws:lambda:{aws::region}:094274105915:layer:AWSLambdaPowertoolsTypeScript:12 --region {region} ``` The pre-signed URL to download this Lambda Layer will be within `Location` key. From d96c84c1ef3ec1409765695e1163a6bbd44ecdf1 Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Fri, 9 Jun 2023 19:14:55 +0200 Subject: [PATCH 02/35] chore: temporarily remove the beta docs publishing --- .github/workflows/reusable-publish-docs.yml | 27 +-------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml index a25baeba6a..6b5403d458 100644 --- a/.github/workflows/reusable-publish-docs.yml +++ b/.github/workflows/reusable-publish-docs.yml @@ -99,29 +99,4 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./api keep_files: true - destination_dir: latest/api - - - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@e1e17a757e536f70e52b5a12b2e8d1d1c60e04ef # v2.0.0 - with: - aws-region: us-east-1 - role-to-assume: ${{ secrets.AWS_DOCS_ROLE_ARN }} - - name: Copy API Docs - run: | - cp -r api site/ - - name: Deploy Docs (Version) - env: - VERSION: ${{ inputs.version }} - ALIAS: ${{ inputs.alias }} - run: | - aws s3 sync \ - site/ \ - s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/${{ env.VERSION }}/ - - name: Deploy Docs (Alias) - env: - VERSION: ${{ inputs.version }} - ALIAS: ${{ inputs.alias }} - run: | - aws s3 sync \ - site/ \ - s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/${{ env.ALIAS }}/ \ No newline at end of file + destination_dir: latest/api \ No newline at end of file From a91df31a808f4ceecf6dac105c9c6605f0dc9e68 Mon Sep 17 00:00:00 2001 From: Alexander Schueren Date: Mon, 12 Jun 2023 12:19:27 +0200 Subject: [PATCH 03/35] docs(idempotency): API docs for idempotency (#1485) * update typedoc * add main and base typedoc config for each package * move package specific typedoc to dedicated config file, the package.json config is depricated * add js doc comment * add js doc comment * change readme to focus only on specifics of the package * fix broken commit on docs by checking latest 5d6ed1a commit * revert docs * remove generated api docs in the wrong folder * remove generated variables in docs * adjust middleware export * add more docs * added warning to readme and imports * switch to any to make examples easier to consume * add status record comment * Update typedoc.json --------- Co-authored-by: Andrea Amorosi --- package-lock.json | 72 +++++--- package.json | 4 +- packages/commons/package.json | 1 - packages/commons/typedoc.json | 7 + packages/idempotency/README.md | 163 +++++++++++++----- packages/idempotency/package.json | 2 +- packages/idempotency/src/IdempotencyConfig.ts | 34 ++++ .../idempotency/src/IdempotencyHandler.ts | 3 + .../idempotency/src/idempotentDecorator.ts | 52 ++++++ .../idempotency/src/makeFunctionIdempotent.ts | 31 +++- .../src/persistence/BasePersistenceLayer.ts | 8 + .../persistence/DynamoDBPersistenceLayer.ts | 9 + .../src/persistence/IdempotencyRecord.ts | 36 +++- .../src/types/DynamoDBPersistence.ts | 6 +- .../idempotencyDecorator.test.FunctionCode.ts | 2 +- ...akeFunctionIdempotent.test.FunctionCode.ts | 2 +- .../tests/unit/IdempotencyHandler.test.ts | 2 +- .../tests/unit/idempotentDecorator.test.ts | 5 +- .../tests/unit/makeFunctionIdempotent.test.ts | 2 +- .../tests/unit/makeHandlerIdempotent.test.ts | 2 +- packages/idempotency/typedoc.json | 12 ++ packages/logger/package.json | 1 - packages/logger/typedoc.json | 8 + packages/metrics/package.json | 1 - packages/metrics/typedoc.json | 10 ++ packages/parameters/package.json | 1 - packages/parameters/src/docs.ts | 4 - packages/parameters/typedoc.json | 10 ++ packages/tracer/typedoc.json | 5 + tsconfig.json | 29 ++++ typedoc.base.json | 11 ++ typedoc.js | 9 - typedoc.json | 23 +++ 33 files changed, 462 insertions(+), 105 deletions(-) create mode 100644 packages/commons/typedoc.json create mode 100644 packages/idempotency/typedoc.json create mode 100644 packages/logger/typedoc.json create mode 100644 packages/metrics/typedoc.json delete mode 100644 packages/parameters/src/docs.ts create mode 100644 packages/parameters/typedoc.json create mode 100644 packages/tracer/typedoc.json create mode 100644 tsconfig.json create mode 100644 typedoc.base.json delete mode 100644 typedoc.js create mode 100644 typedoc.json diff --git a/package-lock.json b/package-lock.json index 20321c6c8d..70d62f9199 100644 --- a/package-lock.json +++ b/package-lock.json @@ -52,8 +52,8 @@ "proxy-agent": "^5.0.0", "ts-jest": "^29.0.3", "ts-node": "^10.9.1", - "typedoc": "^0.23.22", - "typedoc-plugin-missing-exports": "^1.0.0", + "typedoc": "^0.24.7", + "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "^4.9.4", "uuid": "^9.0.0" }, @@ -7919,6 +7919,12 @@ "node": ">=8" } }, + "node_modules/ansi-sequence-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz", + "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==", + "dev": true + }, "node_modules/ansi-styles": { "version": "4.3.0", "dev": true, @@ -15537,9 +15543,10 @@ } }, "node_modules/marked": { - "version": "4.2.4", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", "dev": true, - "license": "MIT", "bin": { "marked": "bin/marked.js" }, @@ -18608,13 +18615,15 @@ } }, "node_modules/shiki": { - "version": "0.11.1", + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.2.tgz", + "integrity": "sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==", "dev": true, - "license": "MIT", "dependencies": { - "jsonc-parser": "^3.0.0", - "vscode-oniguruma": "^1.6.1", - "vscode-textmate": "^6.0.0" + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" } }, "node_modules/shimmer": { @@ -19660,14 +19669,15 @@ "license": "MIT" }, "node_modules/typedoc": { - "version": "0.23.23", + "version": "0.24.7", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.24.7.tgz", + "integrity": "sha512-zzfKDFIZADA+XRIp2rMzLe9xZ6pt12yQOhCr7cD7/PBTjhPmMyMvGrkZ2lPNJitg3Hj1SeiYFNzCsSDrlpxpKw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "lunr": "^2.3.9", - "marked": "^4.2.4", - "minimatch": "^5.1.1", - "shiki": "^0.11.1" + "marked": "^4.3.0", + "minimatch": "^9.0.0", + "shiki": "^0.14.1" }, "bin": { "typedoc": "bin/typedoc" @@ -19676,34 +19686,40 @@ "node": ">= 14.14" }, "peerDependencies": { - "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x" + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x" } }, "node_modules/typedoc-plugin-missing-exports": { - "version": "1.0.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-2.0.0.tgz", + "integrity": "sha512-t0QlKCm27/8DaheJkLo/gInSNjzBXgSciGhoLpL6sLyXZibm7SuwJtHvg4qXI2IjJfFBgW9mJvvszpoxMyB0TA==", "dev": true, - "license": "MIT", "peerDependencies": { - "typedoc": "0.22.x || 0.23.x" + "typedoc": "0.24.x" } }, "node_modules/typedoc/node_modules/brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/typedoc/node_modules/minimatch": { - "version": "5.1.2", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/typescript": { @@ -19945,13 +19961,15 @@ }, "node_modules/vscode-oniguruma": { "version": "1.7.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", + "dev": true }, "node_modules/vscode-textmate": { - "version": "6.0.0", - "dev": true, - "license": "MIT" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", + "dev": true }, "node_modules/walk-up-path": { "version": "1.0.0", diff --git a/package.json b/package.json index 154689b3ab..bd40da9b35 100644 --- a/package.json +++ b/package.json @@ -78,8 +78,8 @@ "proxy-agent": "^5.0.0", "ts-jest": "^29.0.3", "ts-node": "^10.9.1", - "typedoc": "^0.23.22", - "typedoc-plugin-missing-exports": "^1.0.0", + "typedoc": "^0.24.7", + "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "^4.9.4", "uuid": "^9.0.0" }, diff --git a/packages/commons/package.json b/packages/commons/package.json index b9e84bf379..70d3222c0a 100644 --- a/packages/commons/package.json +++ b/packages/commons/package.json @@ -30,7 +30,6 @@ "license": "MIT-0", "main": "./lib/index.js", "types": "./lib/index.d.ts", - "typedocMain": "src/index.ts", "files": [ "lib" ], diff --git a/packages/commons/typedoc.json b/packages/commons/typedoc.json new file mode 100644 index 0000000000..879b1d55e7 --- /dev/null +++ b/packages/commons/typedoc.json @@ -0,0 +1,7 @@ +{ + "extends": ["../../typedoc.base.json"], + "entryPoints": [ + "./src/index.ts" + ], + "readme": "README.md" +} \ No newline at end of file diff --git a/packages/idempotency/README.md b/packages/idempotency/README.md index 1b38da475a..80c1da112a 100644 --- a/packages/idempotency/README.md +++ b/packages/idempotency/README.md @@ -1,71 +1,148 @@ -# Powertools for AWS Lambda (TypeScript) +# Powertools for AWS Lambda (TypeScript) - Idempotency Utility + + +| ⚠️ **WARNING: Do not use this utility in production just yet!** ⚠️ | +| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| **This utility is currently released as beta developer preview** and is intended strictly for feedback and testing purposes **and not for production workloads**.. The version and all future versions tagged with the `-beta` suffix should be treated as not stable. Up until before the [General Availability release](https://github.com/awslabs/aws-lambda-powertools-typescript/milestone/10) we might introduce significant breaking changes and improvements in response to customers feedback. | _ | + Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#features). -You can use the library in both TypeScript and JavaScript code bases. +## Intro + +This package provides a utility to implement idempotency in your Lambda functions. +You can either use it as a decorator on your Lambda handler or as a wrapper on any other function. +If you use middy, we also provide a middleware to make your Lambda handler idempotent. +The current implementation provides a persistance layer for Amazon DynamoDB, which offers a variety of configuration options. +You can also bring your own persistance layer by implementing the `IdempotencyPersistanceLayer` interface. + +## Key features +* Prevent Lambda handler from executing more than once on the same event payload during a time window +* Ensure Lambda handler returns the same result when called with the same payload +* Select a subset of the event as the idempotency key using JMESPath expressions +* Set a time window in which records with the same payload should be considered duplicates +* Expires in-progress executions if the Lambda function times out halfway through + +## Usage + +### Decorators +If you use classes to define your Lambda handlers, you can use the decorators to make your handler idempotent or a specific function idempotent. +We offer two decorators: +* `@idempotentLambdaHandler`: makes the handler idempotent. +* `@idempotentFunction`: makes any function within your class idempotent -[Powertools for AWS Lambda (Python)](https://github.com/awslabs/aws-lambda-powertools-python) and [Powertools for AWS Lambda (Java)](https://github.com/awslabs/aws-lambda-powertools-java) are also available. +The first can only be applied to the handler function with the specific signature of a Lambda handler. +The second can be applied to any function within your class. In this case you need to pass a `Record` object and provide the `dataKeywordArgument` parameter to specify the name of the argument that contains the data to be used as the idempotency key. +In any of both cases yoiu need to pass the persistance layer where we will store the idempotency information. -**[📜 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)** | **[Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo)** -## Table of contents +### Function wrapper -- [Features](#features) -- [Getting started](#getting-started) - - [Installation](#installation) - - [Examples](#examples) - - [Serverless TypeScript Demo application](#serverless-typescript-demo-application) -- [Contribute](#contribute) -- [Roadmap](#roadmap) -- [Connect](#connect) -- [How to support Powertools for AWS Lambda (TypeScript)?](#how-to-support-powertools-for-aws-lambda-typescript) - - [Becoming a reference customer](#becoming-a-reference-customer) - - [Sharing your work](#sharing-your-work) - - [Using Lambda Layer](#using-lambda-layer) -- [Credits](#credits) -- [License](#license) +A more common approach is to use the function wrapper. +Similar to `@idempotentFunction` decorator you need to pass keyword argument to indicate which part of the payload will be hashed. -## Features +### Middy middleware +// TODO: after e2e tests are implemented -* **[Tracer](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions -* **[Logger](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context -* **[Metrics](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) -* **[Parameters (beta)](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB +### DynamoDB peristance layer +To store the idempotency information offer a DynamoDB persistance layer. +This enables you to store the hash key, payload, status for progress and expiration and much more. +You can customise most of the configuration options of the DynamoDB table, i.e the names of the attributes. +See the [API documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/modules/.index.DynamoDBPersistenceLayer.html) for more details. -## Getting started +## Examples -Find the complete project's [documentation here](https://awslabs.github.io/aws-lambda-powertools-typescript). +### Decorator Lambda handler -### Installation +```ts +import { idempotentLambdaHandler } from "@aws-lambda-powertools/idempotency"; +import { DynamoDBPersistenceLayer } from "@aws-lambda-powertools/idempotency/persistance"; +import type { Context } from 'aws-lambda'; -The Powertools for AWS Lambda (TypeScript) utilities follow a modular approach, similar to the official [AWS SDK v3 for JavaScript](https://github.com/aws/aws-sdk-js-v3). -Each TypeScript utility is installed as standalone NPM package. +const dynamoDBPersistenceLayer = new DynamoDBPersistenceLayer(); -Install all three core utilities at once with this single command: +class MyLambdaHandler implements LambdaInterface { + @idempotentLambdaHandler({ persistenceStore: dynamoDBPersistenceLayer }) + public async handler(_event: any, _context: Context): Promise { + // your lambda code here + return "Hello World"; + } +} -```shell -npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics +const lambdaClass = new MyLambdaHandler(); +export const handler = lambdaClass.handler.bind(lambdaClass); ``` -Or refer to the installation guide of each utility: +### Decorator function + +```ts +import { idempotentLambdaHandler } from "@aws-lambda-powertools/idempotency"; +import { DynamoDBPersistenceLayer } from "@aws-lambda-powertools/idempotency/persistance"; +import type { Context } from 'aws-lambda'; + + +const dynamoDBPersistenceLayer = new DynamoDBPersistenceLayer(); + +class MyLambdaHandler implements LambdaInterface { + + public async handler(_event: any, _context: Context): Promise { + for(const record of _event.Records) { + await this.processRecord(record); + } + } + + @idempotentFunction({ persistenceStore: dynamoDBPersistenceLayer, dataKeywordArgument: "payload" }) + public async process(payload: Record): Promise { + // your lambda code here + } +} +``` + +The `dataKeywordArgument` parameter is optional. If not provided, the whole event will be used as the idempotency key. +Otherwise, you need to specify the string name of the argument that contains the data to be used as the idempotency key. +For example if you have an input like this: + -👉 [Installation guide for the **Tracer** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer#getting-started) +```json +{ + "transactionId": 1235, + "product": "book", + "quantity": 1, + "price": 10 +} +``` + +You can use `transactionId` as the idempotency key. This will ensure that the same transaction is not processed twice. -👉 [Installation guide for the **Logger** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger#getting-started) +### Function wrapper -👉 [Installation guide for the **Metrics** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics#getting-started) +In case where you don't use classes and decorators you can wrap your function to make it idempotent. -👉 [Installation guide for the **Parameters** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/#getting-started) +```ts +import { makeFunctionIdempotent } from "@aws-lambda-powertools/idempotency"; +import { DynamoDBPersistenceLayer } from "@aws-lambda-powertools/idempotency/persistance"; +import type { Context } from 'aws-lambda'; -### Examples -* [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) -* [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) +const dynamoDBPersistenceLayer = new DynamoDBPersistenceLayer(); +const processingFunction = async (payload: Record): Promise => { + // your lambda code here +}; -### Serverless TypeScript Demo application +const processIdempotently = makeFunctionIdempotent(proccessingFunction, { + persistenceStore: dynamoDBPersistenceLayer, + dataKeywordArgument: "transactionId" +}); -The [Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo) shows how to use Powertools for AWS Lambda (TypeScript). -You can find instructions on how to deploy and load test this application in the [repository](https://github.com/aws-samples/serverless-typescript-demo). +export const handler = async ( + _event: any, + _context: Context +): Promise => { + for (const record of _event.Records) { + await processIdempotently(record); + } +}; +``` ## Contribute diff --git a/packages/idempotency/package.json b/packages/idempotency/package.json index f2df04aa9c..9b00446ba7 100644 --- a/packages/idempotency/package.json +++ b/packages/idempotency/package.json @@ -71,7 +71,6 @@ }, "main": "./lib/index.js", "types": "./lib/index.d.ts", - "typedocMain": "src/file_that_does_not_exist_so_its_ignored_from_api_docs.ts", "files": [ "lib" ], @@ -91,6 +90,7 @@ "aws", "lambda", "powertools", + "idempotency", "serverless", "nodejs" ], diff --git a/packages/idempotency/src/IdempotencyConfig.ts b/packages/idempotency/src/IdempotencyConfig.ts index f8a00ed8d4..ad494bdc64 100644 --- a/packages/idempotency/src/IdempotencyConfig.ts +++ b/packages/idempotency/src/IdempotencyConfig.ts @@ -2,14 +2,48 @@ import { EnvironmentVariablesService } from './config'; import type { Context } from 'aws-lambda'; import type { IdempotencyConfigOptions } from './types'; +/** + * Configuration for the idempotency feature. + */ class IdempotencyConfig { + /** + * The JMESPath expression used to extract the idempotency key from the event. + * @default '' + */ public eventKeyJmesPath: string; + /** + * The number of seconds the idempotency key is valid. + * @default 3600 (1 hour) + */ public expiresAfterSeconds: number; + /** + * The hash function used to generate the idempotency key. + * @see https://nodejs.org/api/crypto.html#crypto_crypto_createhash_algorithm_options + * @default 'md5' + */ public hashFunction: string; + /** + * The lambda context object. + */ public lambdaContext?: Context; + /** + * The maximum number of items to store in the local cache. + * @default 1000 + */ public maxLocalCacheSize: number; + /** + * The JMESPath expression used to extract the payload to validate. + */ public payloadValidationJmesPath?: string; + /** + * Throw an error if the idempotency key is not found in the event. + * In some cases, you may want to allow the request to continue without idempotency. + */ public throwOnNoIdempotencyKey: boolean; + /** + * Use the local cache to store idempotency keys. + * @see {@link LRUCache} + */ public useLocalCache: boolean; readonly #envVarsService: EnvironmentVariablesService; readonly #enabled: boolean = true; diff --git a/packages/idempotency/src/IdempotencyHandler.ts b/packages/idempotency/src/IdempotencyHandler.ts index f8983e59c0..66ecae19eb 100644 --- a/packages/idempotency/src/IdempotencyHandler.ts +++ b/packages/idempotency/src/IdempotencyHandler.ts @@ -10,6 +10,9 @@ import { BasePersistenceLayer, IdempotencyRecord } from './persistence'; import { IdempotencyConfig } from './IdempotencyConfig'; import { MAX_RETRIES } from './constants'; +/** + * @internal + */ export class IdempotencyHandler { private readonly fullFunctionPayload: Record; private readonly functionPayloadToBeHashed: Record; diff --git a/packages/idempotency/src/idempotentDecorator.ts b/packages/idempotency/src/idempotentDecorator.ts index 4787ae9f75..020c3e2cd9 100644 --- a/packages/idempotency/src/idempotentDecorator.ts +++ b/packages/idempotency/src/idempotentDecorator.ts @@ -50,6 +50,32 @@ const idempotent = function ( }; }; +/** + * Use this decorator to make your lambda handler itempotent. + * You need to provide a peristance layer to store the idempotency information. + * At the moment we only support `DynamodbPersistenceLayer`. + * > **Note**: + * > decorators are an exeperimental feature in typescript and may change in the future. + * > To enable decoratopr support in your project, you need to enable the `experimentalDecorators` compiler option in your tsconfig.json file. + * @example + * ```ts + * import { + * DynamoDBPersistenceLayer, + * idempotentLambdaHandler + * } from '@aws-lambda-powertools/idempotency' + * + * class MyLambdaFunction { + * @idempotentLambdaHandler({ persistenceStore: new DynamoDBPersistenceLayer() }) + * async handler(event: any, context: any) { + * return "Hello World"; + * } + * } + * export myLambdaHandler new MyLambdaFunction(); + * export const handler = myLambdaHandler.handler.bind(myLambdaHandler); + * ``` + * @see {@link DynamoDBPersistenceLayer} + * @see https://www.typescriptlang.org/docs/handbook/decorators.html + */ const idempotentLambdaHandler = function ( options: IdempotencyLambdaHandlerOptions ): ( @@ -59,6 +85,32 @@ const idempotentLambdaHandler = function ( ) => PropertyDescriptor { return idempotent(options); }; +/** + * Use this decorator to make any class function idempotent. + * Similar to the `idempotentLambdaHandler` decorator, you need to provide a persistence layer to store the idempotency information. + * @example + * ```ts + * import { + * DynamoDBPersistenceLayer, + * idempotentFunction + * } from '@aws-lambda-powertools/idempotency' + * + * class MyClass { + * + * public async handler(_event: any, _context: any) { + * for(const record of _event.records){ + * await this.process(record); + * } + * } + * + * @idempotentFunction({ persistenceStore: new DynamoDBPersistenceLayer() }) + * public async process(record: Record { ); }; +/** + * Use function wrapper to make your function idempotent. + * @example + * ```ts + * // this is your processing function with an example record { transactionId: '123', foo: 'bar' } + * const processRecord = (record: Record): any => { + * // you custom processing logic + * return result; + * }; + * + * // we use wrapper to make processing function idempotent with DynamoDBPersistenceLayer + * const processIdempotently = makeFunctionIdempotent(processRecord, { + * persistenceStore: new DynamoDBPersistenceLayer() + * dataKeywordArgument: 'transactionId', // keyword argument to hash the payload and the result + * }); + * + * export const handler = async ( + * _event: EventRecords, + * _context: Context + * ): Promise => { + * for (const record of _event.records) { + * const result = await processIdempotently(record); + * // do something with the result + * } + * + * return Promise.resolve(); + * }; + * + * ``` + */ const makeFunctionIdempotent = function ( fn: AnyFunctionWithRecord, options: IdempotencyFunctionOptions @@ -50,7 +80,6 @@ const makeFunctionIdempotent = function ( return idempotencyHandler.handle(); }; - if (idempotencyConfig.isEnabled()) return wrappedFn; else return fn; }; diff --git a/packages/idempotency/src/persistence/BasePersistenceLayer.ts b/packages/idempotency/src/persistence/BasePersistenceLayer.ts index b247d83025..708f458756 100644 --- a/packages/idempotency/src/persistence/BasePersistenceLayer.ts +++ b/packages/idempotency/src/persistence/BasePersistenceLayer.ts @@ -11,6 +11,14 @@ import { } from '../Exceptions'; import { LRUCache } from './LRUCache'; +/** + * Base class for all persistence layers. This class provides the basic functionality for + * saving, retrieving, and deleting idempotency records. It also provides the ability to + * configure the persistence layer from the idempotency config. + * @abstract + * @class + * @implements {BasePersistenceLayerInterface} + */ abstract class BasePersistenceLayer implements BasePersistenceLayerInterface { public idempotencyKeyPrefix: string; private cache?: LRUCache; diff --git a/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts b/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts index ec23401b5a..27601fb11a 100644 --- a/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts +++ b/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts @@ -18,6 +18,15 @@ import { marshall, unmarshall } from '@aws-sdk/util-dynamodb'; import { IdempotencyRecord } from './IdempotencyRecord'; import { BasePersistenceLayer } from './BasePersistenceLayer'; +/** + * DynamoDB persistence layer for idempotency records. This class will use the AWS SDK V3 to write and read idempotency records from DynamoDB. + * There are various options to configure the persistence layer, such as the table name, the key attribute, the status attribute, etc. + * With default configuration you don't need to create the table beforehand, the persistence layer will create it for you. + * You can also bring your own AWS SDK V3 client, or configure the client with the `clientConfig` option. + * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dynamodb/index.html + * @category Persistence Layer + * @implements {BasePersistenceLayer} + */ class DynamoDBPersistenceLayer extends BasePersistenceLayer { private client?: DynamoDBClient; private clientConfig: DynamoDBClientConfig = {}; diff --git a/packages/idempotency/src/persistence/IdempotencyRecord.ts b/packages/idempotency/src/persistence/IdempotencyRecord.ts index 88882caa49..b2fe7a0528 100644 --- a/packages/idempotency/src/persistence/IdempotencyRecord.ts +++ b/packages/idempotency/src/persistence/IdempotencyRecord.ts @@ -1,16 +1,38 @@ -import { IdempotencyRecordStatus } from '../types'; import type { IdempotencyRecordOptions } from '../types'; +import { IdempotencyRecordStatus } from '../types'; import { IdempotencyInvalidStatusError } from '../Exceptions'; /** - * Class representing an idempotency record + * Class representing an idempotency record. + * The properties of this class will be reflected in the persistance layer. */ class IdempotencyRecord { + /** + * The expiry timestamp of the record in milliseconds UTC. + */ public expiryTimestamp?: number; + /** + * The idempotency key of the record that is used to identify the record. + */ public idempotencyKey: string; + /** + * The expiry timestamp of the in progress record in milliseconds UTC. + */ public inProgressExpiryTimestamp?: number; + /** + * The hash of the payload of the request, used for comparing requests. + */ public payloadHash?: string; + /** + * The response data of the request, this will be returned if the payload hash matches. + */ public responseData?: Record; + /** + * The idempotency record status can be COMPLETED, IN_PROGRESS or EXPIRED. + * We check the status during idempotency processing to make sure we don't process an expired record and handle concurrent requests. + * @link {IdempotencyRecordStatus} + * @private + */ private status: IdempotencyRecordStatus; public constructor(config: IdempotencyRecordOptions) { @@ -22,10 +44,17 @@ class IdempotencyRecord { this.status = config.status; } + /** + * Get the response data of the record. + */ public getResponse(): Record | undefined { return this.responseData; } + /** + * Get the status of the record. + * @throws {IdempotencyInvalidStatusError} If the status is not a valid status. + */ public getStatus(): IdempotencyRecordStatus { if (this.isExpired()) { return IdempotencyRecordStatus.EXPIRED; @@ -36,6 +65,9 @@ class IdempotencyRecord { } } + /** + * Returns true if the record is expired or undefined. + */ public isExpired(): boolean { return ( this.expiryTimestamp !== undefined && diff --git a/packages/idempotency/src/types/DynamoDBPersistence.ts b/packages/idempotency/src/types/DynamoDBPersistence.ts index 576a5acdd7..65b1980510 100644 --- a/packages/idempotency/src/types/DynamoDBPersistence.ts +++ b/packages/idempotency/src/types/DynamoDBPersistence.ts @@ -39,8 +39,8 @@ interface DynamoPersistenceOptionsBaseInterface { */ interface DynamoPersistenceOptionsWithClientConfig extends DynamoPersistenceOptionsBaseInterface { - clientConfig?: DynamoDBClientConfig; awsSdkV3Client?: never; + clientConfig?: DynamoDBClientConfig; } /** @@ -58,9 +58,9 @@ interface DynamoPersistenceOptionsWithClientInstance } /** - * Options for the AppConfigProvider class constructor. + * Options for the {@link DynamoDBPersistenceLayer} class constructor. * - * @type AppConfigProviderOptions + * @type DynamoPersistenceOptions * @property {string} tableName - The DynamoDB table name. * @property {string} [keyAttr] - The DynamoDB table key attribute name. Defaults to 'id'. * @property {string} [expiryAttr] - The DynamoDB table expiry attribute name. Defaults to 'expiration'. diff --git a/packages/idempotency/tests/e2e/idempotencyDecorator.test.FunctionCode.ts b/packages/idempotency/tests/e2e/idempotencyDecorator.test.FunctionCode.ts index a75a72b026..244457aab3 100644 --- a/packages/idempotency/tests/e2e/idempotencyDecorator.test.FunctionCode.ts +++ b/packages/idempotency/tests/e2e/idempotencyDecorator.test.FunctionCode.ts @@ -1,8 +1,8 @@ import type { Context } from 'aws-lambda'; import { LambdaInterface } from '@aws-lambda-powertools/commons'; -import { DynamoDBPersistenceLayer } from '../../src/dynamodb'; import { idempotentFunction, idempotentLambdaHandler } from '../../src'; import { Logger } from '../../../logger'; +import { DynamoDBPersistenceLayer } from '../../src/persistence/DynamoDBPersistenceLayer'; const IDEMPOTENCY_TABLE_NAME = process.env.IDEMPOTENCY_TABLE_NAME || 'table_name'; diff --git a/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.FunctionCode.ts b/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.FunctionCode.ts index 897499ccfc..af2d3062c6 100644 --- a/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.FunctionCode.ts +++ b/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.FunctionCode.ts @@ -1,5 +1,5 @@ import type { Context } from 'aws-lambda'; -import { DynamoDBPersistenceLayer } from '../../src/dynamodb'; +import { DynamoDBPersistenceLayer } from '../../src/persistence/DynamoDBPersistenceLayer'; import { makeFunctionIdempotent } from '../../src'; import { Logger } from '@aws-lambda-powertools/logger'; diff --git a/packages/idempotency/tests/unit/IdempotencyHandler.test.ts b/packages/idempotency/tests/unit/IdempotencyHandler.test.ts index dd1a60d9d1..8f4b4c3a0d 100644 --- a/packages/idempotency/tests/unit/IdempotencyHandler.test.ts +++ b/packages/idempotency/tests/unit/IdempotencyHandler.test.ts @@ -12,7 +12,7 @@ import { import { IdempotencyRecordStatus } from '../../src/types'; import { BasePersistenceLayer, IdempotencyRecord } from '../../src/persistence'; import { IdempotencyHandler } from '../../src/IdempotencyHandler'; -import { IdempotencyConfig } from '../../src/IdempotencyConfig'; +import { IdempotencyConfig } from '../../src/'; import { MAX_RETRIES } from '../../src/constants'; class PersistenceLayerTestClass extends BasePersistenceLayer { diff --git a/packages/idempotency/tests/unit/idempotentDecorator.test.ts b/packages/idempotency/tests/unit/idempotentDecorator.test.ts index 712f7c8552..2e15f8c623 100644 --- a/packages/idempotency/tests/unit/idempotentDecorator.test.ts +++ b/packages/idempotency/tests/unit/idempotentDecorator.test.ts @@ -5,10 +5,7 @@ */ import { BasePersistenceLayer, IdempotencyRecord } from '../../src/persistence'; -import { - idempotentFunction, - idempotentLambdaHandler, -} from '../../src/idempotentDecorator'; +import { idempotentFunction, idempotentLambdaHandler } from '../../src/'; import type { IdempotencyRecordOptions } from '../../src/types'; import { IdempotencyRecordStatus } from '../../src/types'; import { diff --git a/packages/idempotency/tests/unit/makeFunctionIdempotent.test.ts b/packages/idempotency/tests/unit/makeFunctionIdempotent.test.ts index 9c45384b4d..4310a648a1 100644 --- a/packages/idempotency/tests/unit/makeFunctionIdempotent.test.ts +++ b/packages/idempotency/tests/unit/makeFunctionIdempotent.test.ts @@ -3,7 +3,7 @@ * * @group unit/idempotency/makeFunctionIdempotent */ -import { IdempotencyFunctionOptions } from '../../src/types/IdempotencyOptions'; +import { IdempotencyFunctionOptions } from '../../src/types/'; import { BasePersistenceLayer, IdempotencyRecord } from '../../src/persistence'; import { makeFunctionIdempotent } from '../../src'; import type { diff --git a/packages/idempotency/tests/unit/makeHandlerIdempotent.test.ts b/packages/idempotency/tests/unit/makeHandlerIdempotent.test.ts index 387a9e0fd9..c3677032bc 100644 --- a/packages/idempotency/tests/unit/makeHandlerIdempotent.test.ts +++ b/packages/idempotency/tests/unit/makeHandlerIdempotent.test.ts @@ -13,7 +13,7 @@ import { IdempotencyItemAlreadyExistsError, IdempotencyInconsistentStateError, } from '../../src/Exceptions'; -import { IdempotencyConfig } from '../../src/IdempotencyConfig'; +import { IdempotencyConfig } from '../../src/'; import middy from '@middy/core'; import { MAX_RETRIES } from '../../src/constants'; import { PersistenceLayerTestClass } from '../helpers/idempotencyUtils'; diff --git a/packages/idempotency/typedoc.json b/packages/idempotency/typedoc.json new file mode 100644 index 0000000000..b983e7c7b4 --- /dev/null +++ b/packages/idempotency/typedoc.json @@ -0,0 +1,12 @@ +{ + "extends": [ + "../../typedoc.base.json" + ], + "entryPoints": [ + "./src/index.ts", + "./src/types/index.ts", + "./src/middleware/index.ts", + "./src/persistence/index.ts" + ], + "readme": "README.md" +} \ No newline at end of file diff --git a/packages/logger/package.json b/packages/logger/package.json index 155fc67e58..b4dfa96882 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -33,7 +33,6 @@ "license": "MIT", "main": "./lib/index.js", "types": "./lib/index.d.ts", - "typedocMain": "src/index.ts", "devDependencies": { "@types/lodash.merge": "^4.6.7" }, diff --git a/packages/logger/typedoc.json b/packages/logger/typedoc.json new file mode 100644 index 0000000000..3a1fad0dcf --- /dev/null +++ b/packages/logger/typedoc.json @@ -0,0 +1,8 @@ +{ + "extends": ["../../typedoc.base.json"], + "entryPoints": [ + "./src/index.ts", + "./src/types" + ], + "readme": "README.md" +} \ No newline at end of file diff --git a/packages/metrics/package.json b/packages/metrics/package.json index 98731d3d6a..c518112d47 100644 --- a/packages/metrics/package.json +++ b/packages/metrics/package.json @@ -33,7 +33,6 @@ "license": "MIT-0", "main": "./lib/index.js", "types": "./lib/index.d.ts", - "typedocMain": "src/index.ts", "devDependencies": { "@aws-sdk/client-cloudwatch": "^3.316.0", "@types/promise-retry": "^1.1.3", diff --git a/packages/metrics/typedoc.json b/packages/metrics/typedoc.json new file mode 100644 index 0000000000..a81c0d5f1d --- /dev/null +++ b/packages/metrics/typedoc.json @@ -0,0 +1,10 @@ +{ + "extends": [ + "../../typedoc.base.json" + ], + "entryPoints": [ + "./src/index.ts", + "./src/types/index.ts" + ], + "readme": "README.md" +} \ No newline at end of file diff --git a/packages/parameters/package.json b/packages/parameters/package.json index 8230003ac8..559cb18cca 100644 --- a/packages/parameters/package.json +++ b/packages/parameters/package.json @@ -36,7 +36,6 @@ "license": "MIT-0", "main": "./lib/index.js", "types": "./lib/index.d.ts", - "typedocMain": "src/docs.ts", "files": [ "lib" ], diff --git a/packages/parameters/src/docs.ts b/packages/parameters/src/docs.ts deleted file mode 100644 index f43ccf14aa..0000000000 --- a/packages/parameters/src/docs.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './appconfig'; -export * from './ssm'; -export * from './secrets'; -export * from './dynamodb'; diff --git a/packages/parameters/typedoc.json b/packages/parameters/typedoc.json new file mode 100644 index 0000000000..2464c677ef --- /dev/null +++ b/packages/parameters/typedoc.json @@ -0,0 +1,10 @@ +{ + "extends": ["../../typedoc.base.json"], + "entryPoints": [ + "./src/appconfig/index.ts", + "./src/ssm/index.ts", + "./src/dynamodb/index.ts", + "./src/secrets/index.ts", + "./src/types/index.ts"], + "readme": "README.md" +} \ No newline at end of file diff --git a/packages/tracer/typedoc.json b/packages/tracer/typedoc.json new file mode 100644 index 0000000000..8ead571a7f --- /dev/null +++ b/packages/tracer/typedoc.json @@ -0,0 +1,5 @@ +{ + "extends": ["../../typedoc.base.json"], + "entryPoints": ["./src/index.ts", "./src/types/index.ts"], + "readme": "README.md" +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000000..5fefd1f535 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "experimentalDecorators": true, + "noImplicitAny": true, + "target": "ES2020", + "module": "commonjs", + "declaration": true, + "outDir": "lib", + "strict": true, + "inlineSourceMap": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "pretty": true, + "baseUrl": "src/", + "rootDirs": [ "src/" ], + "esModuleInterop": true + }, + "include": [ "packages" ], + "exclude": [ "./node_modules"], + "watchOptions": { + "watchFile": "useFsEvents", + "watchDirectory": "useFsEvents", + "fallbackPolling": "dynamicPriority" + }, + "lib": [ "es2020" ], + "types": [ + "node" + ] +} \ No newline at end of file diff --git a/typedoc.base.json b/typedoc.base.json new file mode 100644 index 0000000000..ce978059e9 --- /dev/null +++ b/typedoc.base.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://typedoc.org/schema.json", + "includeVersion": false, + "excludePrivate": true, + "exclude": [ + "**/node_modules/**", + "**/*.test.ts", + "**/*.json", + "docs/snippets" + ] +} \ No newline at end of file diff --git a/typedoc.js b/typedoc.js deleted file mode 100644 index 7f17fbcc1d..0000000000 --- a/typedoc.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - out: 'api', - exclude: ['**/node_modules/**', '**/*.test.ts', '**/*.json'], - name: 'aws-lambda-powertools-typescript', - excludePrivate: true, - excludeInternal: true, - entryPointStrategy: 'packages', - readme: './README.md', -}; diff --git a/typedoc.json b/typedoc.json new file mode 100644 index 0000000000..c277d0cc80 --- /dev/null +++ b/typedoc.json @@ -0,0 +1,23 @@ +{ + "entryPoints": ["packages/*"], + "entryPointStrategy": "packages", + "name": "Powertools for AWS Lambda (Typescript) API Reference", + "readme": "README.md", + "out": "api", + "exclude": [ + "**/node_modules/**", + "**/*.test.ts", + "**/*.json", + "docs/snippets", + "layers", + "examples/**" + ], + "skipErrorChecking": true, + "excludePrivate": true, + "visibilityFilters": { + "protected": true, + "private": false, + "inherited": true, + "external": true + } +} \ No newline at end of file From 8b5c60f8e6ba5fe257a1dcaf0a8c5a80fc2a357a Mon Sep 17 00:00:00 2001 From: Simon Thulbourn Date: Tue, 13 Jun 2023 16:57:20 +0100 Subject: [PATCH 04/35] chore(docs): Fix docs upload to s3 (#1494) --- .github/workflows/on_doc_merge.yml | 6 ++--- .github/workflows/publish_layer.yml | 1 + .github/workflows/rebuild-latest-docs.yml | 1 + .github/workflows/reusable-publish-docs.yml | 25 ++++++++++++++++++++- 4 files changed, 28 insertions(+), 5 deletions(-) diff --git a/.github/workflows/on_doc_merge.yml b/.github/workflows/on_doc_merge.yml index 0f9125e2b2..2cea171dc8 100644 --- a/.github/workflows/on_doc_merge.yml +++ b/.github/workflows/on_doc_merge.yml @@ -14,10 +14,8 @@ jobs: contents: write pages: write id-token: write + secrets: inherit uses: ./.github/workflows/reusable-publish-docs.yml with: version: main - alias: stage - secrets: - AWS_DOCS_ROLE_ARN: ${{ secrets.AWS_DOCS_ROLE_ARN }} - AWS_DOCS_BUCKET: ${{ secrets.AWS_DOCS_BUCKET }} \ No newline at end of file + alias: stage \ No newline at end of file diff --git a/.github/workflows/publish_layer.yml b/.github/workflows/publish_layer.yml index 894ce48715..1ef3ee61da 100644 --- a/.github/workflows/publish_layer.yml +++ b/.github/workflows/publish_layer.yml @@ -108,6 +108,7 @@ jobs: contents: write pages: write id-token: write + secrets: inherit uses: ./.github/workflows/reusable-publish-docs.yml with: version: ${{ inputs.latest_published_version }} diff --git a/.github/workflows/rebuild-latest-docs.yml b/.github/workflows/rebuild-latest-docs.yml index e251a71551..5d6ad78d30 100644 --- a/.github/workflows/rebuild-latest-docs.yml +++ b/.github/workflows/rebuild-latest-docs.yml @@ -19,6 +19,7 @@ jobs: contents: write pages: write id-token: write + secrets: inherit uses: ./.github/workflows/reusable-publish-docs.yml with: version: ${{ inputs.latest_published_version }} diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml index 6b5403d458..f9292b8b4d 100644 --- a/.github/workflows/reusable-publish-docs.yml +++ b/.github/workflows/reusable-publish-docs.yml @@ -99,4 +99,27 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./api keep_files: true - destination_dir: latest/api \ No newline at end of file + destination_dir: latest/api + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@e1e17a757e536f70e52b5a12b2e8d1d1c60e04ef # v2.0.0 + with: + aws-region: us-east-1 + role-to-assume: ${{ secrets.AWS_DOCS_ROLE_ARN }} + - name: Copy API Docs + run: | + cp -r api site/ + - name: Deploy Docs (Version) + env: + VERSION: ${{ inputs.version }} + ALIAS: ${{ inputs.alias }} + run: | + aws s3 sync \ + site/ \ + s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/${{ env.VERSION }}/ + - name: Deploy Docs (Alias) + env: + VERSION: ${{ inputs.version }} + ALIAS: ${{ inputs.alias }} + run: | + aws s3 sync \ + site/ \ \ No newline at end of file From 853d3938ffda823e3c20eb890e5acadd1069e2de Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Tue, 13 Jun 2023 18:13:41 +0200 Subject: [PATCH 05/35] build(internal): bump @aws-sdk/client-* (#1497) --- package-lock.json | 24901 +++++++++++++++++++------------------------- 1 file changed, 10651 insertions(+), 14250 deletions(-) diff --git a/package-lock.json b/package-lock.json index 70d62f9199..eb34a7abc0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -341,49 +341,42 @@ }, "node_modules/@aws-crypto/crc32": { "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", + "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", "dependencies": { "@aws-crypto/util": "^3.0.0", "@aws-sdk/types": "^3.222.0", "tslib": "^1.11.1" } }, - "node_modules/@aws-crypto/crc32/node_modules/@aws-crypto/util": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - } - }, "node_modules/@aws-crypto/crc32/node_modules/tslib": { "version": "1.14.1", - "dev": true, - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-crypto/ie11-detection": { - "version": "2.0.2", - "license": "Apache-2.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", + "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", "dependencies": { "tslib": "^1.11.1" } }, "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { "version": "1.14.1", - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-crypto/sha256-browser": { - "version": "2.0.0", - "license": "Apache-2.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", + "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", "dependencies": { - "@aws-crypto/ie11-detection": "^2.0.0", - "@aws-crypto/sha256-js": "^2.0.0", - "@aws-crypto/supports-web-crypto": "^2.0.0", - "@aws-crypto/util": "^2.0.0", - "@aws-sdk/types": "^3.1.0", + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-locate-window": "^3.0.0", "@aws-sdk/util-utf8-browser": "^3.0.0", "tslib": "^1.11.1" @@ -391,44 +384,51 @@ }, "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { "version": "1.14.1", - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-crypto/sha256-js": { - "version": "2.0.0", - "license": "Apache-2.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", "dependencies": { - "@aws-crypto/util": "^2.0.0", - "@aws-sdk/types": "^3.1.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", "tslib": "^1.11.1" } }, "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { "version": "1.14.1", - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-crypto/supports-web-crypto": { - "version": "2.0.2", - "license": "Apache-2.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", + "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", "dependencies": { "tslib": "^1.11.1" } }, "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { "version": "1.14.1", - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-crypto/util": { - "version": "2.0.2", - "license": "Apache-2.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", + "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", "dependencies": { - "@aws-sdk/types": "^3.110.0", + "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-utf8-browser": "^3.0.0", "tslib": "^1.11.1" } }, "node_modules/@aws-crypto/util/node_modules/tslib": { "version": "1.14.1", - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-lambda-powertools/commons": { "resolved": "packages/commons", @@ -455,913 +455,1090 @@ "link": true }, "node_modules/@aws-sdk/abort-controller": { - "version": "3.226.0", - "license": "Apache-2.0", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.347.0.tgz", + "integrity": "sha512-P/2qE6ntYEmYG4Ez535nJWZbXqgbkJx8CMz7ChEuEg3Gp3dvVYEKg+iEUEvlqQ2U5dWP5J3ehw5po9t86IsVPQ==", "dependencies": { - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/client-appconfigdata": { - "version": "3.245.0", + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-appconfigdata/-/client-appconfigdata-3.350.0.tgz", + "integrity": "sha512-W7cCLReujKPGCwtkDd2V0eQIvSTtsX6NW+KiN8wnvQp66je8hu4g2RWxW52CoCfptjVb6R1e9WM+RKBacsXekA==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.245.0", - "@aws-sdk/config-resolver": "3.234.0", - "@aws-sdk/credential-provider-node": "3.245.0", - "@aws-sdk/fetch-http-handler": "3.226.0", - "@aws-sdk/hash-node": "3.226.0", - "@aws-sdk/invalid-dependency": "3.226.0", - "@aws-sdk/middleware-content-length": "3.226.0", - "@aws-sdk/middleware-endpoint": "3.226.0", - "@aws-sdk/middleware-host-header": "3.226.0", - "@aws-sdk/middleware-logger": "3.226.0", - "@aws-sdk/middleware-recursion-detection": "3.226.0", - "@aws-sdk/middleware-retry": "3.235.0", - "@aws-sdk/middleware-serde": "3.226.0", - "@aws-sdk/middleware-signing": "3.226.0", - "@aws-sdk/middleware-stack": "3.226.0", - "@aws-sdk/middleware-user-agent": "3.226.0", - "@aws-sdk/node-config-provider": "3.226.0", - "@aws-sdk/node-http-handler": "3.226.0", - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/smithy-client": "3.234.0", - "@aws-sdk/types": "3.226.0", - "@aws-sdk/url-parser": "3.226.0", - "@aws-sdk/util-base64": "3.208.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.234.0", - "@aws-sdk/util-defaults-mode-node": "3.234.0", - "@aws-sdk/util-endpoints": "3.245.0", - "@aws-sdk/util-retry": "3.229.0", - "@aws-sdk/util-user-agent-browser": "3.226.0", - "@aws-sdk/util-user-agent-node": "3.226.0", - "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.208.0", - "tslib": "^2.3.1" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.350.0", + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/credential-provider-node": "3.350.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-signing": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/client-cloudwatch": { - "version": "3.316.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch/-/client-cloudwatch-3.316.0.tgz", - "integrity": "sha512-M/LzfCYpufZVAMjiP0Po7bPNo9o8Zivj0B6G/0pNpIcxUyeU17aqhryYWRQBB9TnGhAOpKadBTxkSgcJarwPHg==", + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch/-/client-cloudwatch-3.350.0.tgz", + "integrity": "sha512-9Mpf+fdEkqJznoGBkLTr8gEpkwJjD7d96J+bSpeIXlTeldWDzmzpYLjnedMIxlIiGEWNymrLmh2wVD0z1+M31w==", "dev": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.316.0", - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/credential-provider-node": "3.316.0", - "@aws-sdk/fetch-http-handler": "3.310.0", - "@aws-sdk/hash-node": "3.310.0", - "@aws-sdk/invalid-dependency": "3.310.0", - "@aws-sdk/middleware-content-length": "3.310.0", - "@aws-sdk/middleware-endpoint": "3.310.0", - "@aws-sdk/middleware-host-header": "3.310.0", - "@aws-sdk/middleware-logger": "3.310.0", - "@aws-sdk/middleware-recursion-detection": "3.310.0", - "@aws-sdk/middleware-retry": "3.310.0", - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/middleware-signing": "3.310.0", - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/middleware-user-agent": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/node-http-handler": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/smithy-client": "3.316.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", + "@aws-sdk/client-sts": "3.350.0", + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/credential-provider-node": "3.350.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-signing": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.316.0", - "@aws-sdk/util-defaults-mode-node": "3.316.0", - "@aws-sdk/util-endpoints": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "@aws-sdk/util-user-agent-browser": "3.310.0", - "@aws-sdk/util-user-agent-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", "@aws-sdk/util-utf8": "3.310.0", - "@aws-sdk/util-waiter": "3.310.0", - "fast-xml-parser": "4.1.2", + "@aws-sdk/util-waiter": "3.347.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "fast-xml-parser": "4.2.4", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-crypto/ie11-detection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", - "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", - "dev": true, + "node_modules/@aws-sdk/client-dynamodb": { + "version": "3.351.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.351.0.tgz", + "integrity": "sha512-mnPtMqfv642x+HuJ6ZuG+8KsNf3BfvOinR0FjtU17mgDiYOz9IzSkxfcQxryfJxYbbrtC1fHrit5Ii4BNiDcxQ==", "dependencies": { - "tslib": "^1.11.1" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.350.0", + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/credential-provider-node": "3.350.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-endpoint-discovery": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-signing": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-utf8": "3.310.0", + "@aws-sdk/util-waiter": "3.347.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-crypto/sha256-browser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", - "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", - "dev": true, - "dependencies": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/sha256-js": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "node_modules/@aws-sdk/client-dynamodb/node_modules/uuid": { + "version": "8.3.2", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-crypto/sha256-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", - "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "node_modules/@aws-sdk/client-lambda": { + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.350.0.tgz", + "integrity": "sha512-/3RNUHwsOacmzM/ZHxzKsA9QmYOAWmbA/IYkZ/qMN7Xti6HQ8cIqVnfBIKcKJsC4BUAz31szCf5ULf/mgjPhQw==", "dev": true, "dependencies": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.350.0", + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/credential-provider-node": "3.350.0", + "@aws-sdk/eventstream-serde-browser": "3.347.0", + "@aws-sdk/eventstream-serde-config-resolver": "3.347.0", + "@aws-sdk/eventstream-serde-node": "3.347.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-signing": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-utf8": "3.310.0", + "@aws-sdk/util-waiter": "3.347.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-crypto/supports-web-crypto": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", - "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", + "node_modules/@aws-sdk/client-secrets-manager": { + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.350.0.tgz", + "integrity": "sha512-p0H25+XJB734l3JEqWt5XMatTEIBvR50rm+xIBVVH/4Ui6OSR+OO2gQejmsAy9yAp3eJgy9lF9Kva8E6Z2fcxg==", "dev": true, "dependencies": { - "tslib": "^1.11.1" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.350.0", + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/credential-provider-node": "3.350.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-signing": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-crypto/util": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", - "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", + "node_modules/@aws-sdk/client-secrets-manager/node_modules/uuid": { + "version": "8.3.2", "dev": true, - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-crypto/util/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/abort-controller": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.310.0.tgz", - "integrity": "sha512-v1zrRQxDLA1MdPim159Vx/CPHqsB4uybSxRi1CnfHO5ZjHryx3a5htW2gdGAykVCul40+yJXvfpufMrELVxH+g==", + "node_modules/@aws-sdk/client-ssm": { + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.350.0.tgz", + "integrity": "sha512-Gs0fweUE+LYUy2/1kqsTwsyEswuyNDCq/eU4iRoU1WkOvNIGtqjTV8Rbh/0Og1CwlxUPPjaeQiQWpiofGvmbQQ==", "dev": true, "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.350.0", + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/credential-provider-node": "3.350.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-signing": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-utf8": "3.310.0", + "@aws-sdk/util-waiter": "3.347.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0", + "uuid": "^8.3.2" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/client-sso": { - "version": "3.316.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.316.0.tgz", - "integrity": "sha512-wGXfIhR0lJGB8QTT0fwSwwklHePHxd2GW3IQt3trXnEYe0frmJ7vYRnVL5CSRKsikLDmaU7ll3SdsshMzQzo3w==", + "node_modules/@aws-sdk/client-ssm/node_modules/uuid": { + "version": "8.3.2", "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.350.0.tgz", + "integrity": "sha512-2vpiv6SEjmQGK3ZueGzvTMG6NenjWp0CHjmda71d1Iqr+tZ2UlfC35+3ioU8JP+jiXLL+y9r+SCer3IC8N/i+Q==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/fetch-http-handler": "3.310.0", - "@aws-sdk/hash-node": "3.310.0", - "@aws-sdk/invalid-dependency": "3.310.0", - "@aws-sdk/middleware-content-length": "3.310.0", - "@aws-sdk/middleware-endpoint": "3.310.0", - "@aws-sdk/middleware-host-header": "3.310.0", - "@aws-sdk/middleware-logger": "3.310.0", - "@aws-sdk/middleware-recursion-detection": "3.310.0", - "@aws-sdk/middleware-retry": "3.310.0", - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/middleware-user-agent": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/node-http-handler": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/smithy-client": "3.316.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.316.0", - "@aws-sdk/util-defaults-mode-node": "3.316.0", - "@aws-sdk/util-endpoints": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "@aws-sdk/util-user-agent-browser": "3.310.0", - "@aws-sdk/util-user-agent-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.316.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.316.0.tgz", - "integrity": "sha512-e2fvC7o42YV+LcZYfXCcvBn4L7NM9oNccnZ7T+pS6SFpHZlaqkw4uuQMRE6iUAof+Id7Mt7xDrz1x2yGlP+8GA==", - "dev": true, + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.350.0.tgz", + "integrity": "sha512-v3UrWIglg9PPzGXqhyGB/qPZ8ifiGM9r4LV8vve1TpiKsUdf1Khtx1eB8yqjNO0vIsYUF+j1C23QT1qAN2DcEA==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/fetch-http-handler": "3.310.0", - "@aws-sdk/hash-node": "3.310.0", - "@aws-sdk/invalid-dependency": "3.310.0", - "@aws-sdk/middleware-content-length": "3.310.0", - "@aws-sdk/middleware-endpoint": "3.310.0", - "@aws-sdk/middleware-host-header": "3.310.0", - "@aws-sdk/middleware-logger": "3.310.0", - "@aws-sdk/middleware-recursion-detection": "3.310.0", - "@aws-sdk/middleware-retry": "3.310.0", - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/middleware-user-agent": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/node-http-handler": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/smithy-client": "3.316.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.316.0", - "@aws-sdk/util-defaults-mode-node": "3.316.0", - "@aws-sdk/util-endpoints": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "@aws-sdk/util-user-agent-browser": "3.310.0", - "@aws-sdk/util-user-agent-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/client-sts": { - "version": "3.316.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.316.0.tgz", - "integrity": "sha512-5SD59+DRVy1mKckGs/5J8OwWpRS3E5v4BX19XaX/s9JJ5Rw9aZd9DP4SZVpeNXztIPjkQSEzHgrUVlZFB1QJgg==", - "dev": true, + "node_modules/@aws-sdk/client-sts": { + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.350.0.tgz", + "integrity": "sha512-s8RsJ6upWQgeUt8GdV3j3ZeTS7BQXedk77RhZ7wzvVwAjO9wow4uS7Iyic4kS3Y/6d26s0MO2vP4bR6HW6U6ZQ==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/credential-provider-node": "3.316.0", - "@aws-sdk/fetch-http-handler": "3.310.0", - "@aws-sdk/hash-node": "3.310.0", - "@aws-sdk/invalid-dependency": "3.310.0", - "@aws-sdk/middleware-content-length": "3.310.0", - "@aws-sdk/middleware-endpoint": "3.310.0", - "@aws-sdk/middleware-host-header": "3.310.0", - "@aws-sdk/middleware-logger": "3.310.0", - "@aws-sdk/middleware-recursion-detection": "3.310.0", - "@aws-sdk/middleware-retry": "3.310.0", - "@aws-sdk/middleware-sdk-sts": "3.310.0", - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/middleware-signing": "3.310.0", - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/middleware-user-agent": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/node-http-handler": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/smithy-client": "3.316.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/credential-provider-node": "3.350.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-sdk-sts": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-signing": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.316.0", - "@aws-sdk/util-defaults-mode-node": "3.316.0", - "@aws-sdk/util-endpoints": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "@aws-sdk/util-user-agent-browser": "3.310.0", - "@aws-sdk/util-user-agent-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", "@aws-sdk/util-utf8": "3.310.0", - "fast-xml-parser": "4.1.2", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "fast-xml-parser": "4.2.4", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/config-resolver": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.310.0.tgz", - "integrity": "sha512-8vsT+/50lOqfDxka9m/rRt6oxv1WuGZoP8oPMk0Dt+TxXMbAzf4+rejBgiB96wshI1k3gLokYRjSQZn+dDtT8g==", + "node_modules/@aws-sdk/client-xray": { + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-xray/-/client-xray-3.350.0.tgz", + "integrity": "sha512-dbkfSnjZtl+PXjBQ1POajXx4sYnElfPq9uXwlPrm0k+u7xVywRZyazHq6CQV4dKR2cSKxxfcHe1yjGEW+3YjDQ==", "dev": true, "dependencies": { - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-config-provider": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.350.0", + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/credential-provider-node": "3.350.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-signing": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/credential-provider-env": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.310.0.tgz", - "integrity": "sha512-vvIPQpI16fj95xwS7M3D48F7QhZJBnnCgB5lR+b7So+vsG9ibm1mZRVGzVpdxCvgyOhHFbvrby9aalNJmmIP1A==", - "dev": true, + "node_modules/@aws-sdk/config-resolver": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.347.0.tgz", + "integrity": "sha512-2ja+Sf/VnUO7IQ3nKbDQ5aumYKKJUaTm/BuVJ29wNho8wYHfuf7wHZV0pDTkB8RF5SH7IpHap7zpZAj39Iq+EA==", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-config-provider": "3.310.0", + "@aws-sdk/util-middleware": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.310.0.tgz", - "integrity": "sha512-baxK7Zp6dai5AGW01FIW27xS2KAaPUmKLIXv5SvFYsUgXXvNW55im4uG3b+2gA0F7V+hXvVBH08OEqmwW6we5w==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.347.0.tgz", + "integrity": "sha512-UnEM+LKGpXKzw/1WvYEQsC6Wj9PupYZdQOE+e2Dgy2dqk/pVFy4WueRtFXYDT2B41ppv3drdXUuKZRIDVqIgNQ==", "dependencies": { - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.316.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.316.0.tgz", - "integrity": "sha512-ZADkpdEjFCAXyzEpYbCRENlZ/AQEwevWdPd2yshjNo7xvOcepv4pPIBpYd8h9LvRafSLGA7zlWDz84hkIt+HKA==", - "dev": true, - "dependencies": { - "@aws-sdk/credential-provider-env": "3.310.0", - "@aws-sdk/credential-provider-imds": "3.310.0", - "@aws-sdk/credential-provider-process": "3.310.0", - "@aws-sdk/credential-provider-sso": "3.316.0", - "@aws-sdk/credential-provider-web-identity": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", + "node_modules/@aws-sdk/credential-provider-imds": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.347.0.tgz", + "integrity": "sha512-7scCy/DCDRLIhlqTxff97LQWDnRwRXji3bxxMg+xWOTTaJe7PWx+etGSbBWaL42vsBHFShQjSLvJryEgoBktpw==", + "dependencies": { + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/credential-provider-node": { - "version": "3.316.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.316.0.tgz", - "integrity": "sha512-oE1LTXP8XZp4bT8LhBeolMRiz0RwnmHDC2XpUmWO8LTmbDNrQO0mVzxEvXDLeKaN5BIFIJqNFlMgjWUMa9Kwcw==", - "dev": true, - "dependencies": { - "@aws-sdk/credential-provider-env": "3.310.0", - "@aws-sdk/credential-provider-imds": "3.310.0", - "@aws-sdk/credential-provider-ini": "3.316.0", - "@aws-sdk/credential-provider-process": "3.310.0", - "@aws-sdk/credential-provider-sso": "3.316.0", - "@aws-sdk/credential-provider-web-identity": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.350.0.tgz", + "integrity": "sha512-mGGU0PpnG0VDNKSuGi083U1egjprrU9/XoRtgf+iYvAKXRR/0XA4pGW5c7zpHY7m4iLhBuRj6N4oxQsH9cMtWg==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.347.0", + "@aws-sdk/credential-provider-imds": "3.347.0", + "@aws-sdk/credential-provider-process": "3.347.0", + "@aws-sdk/credential-provider-sso": "3.350.0", + "@aws-sdk/credential-provider-web-identity": "3.347.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/credential-provider-process": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.310.0.tgz", - "integrity": "sha512-h73sg6GPMUWC+3zMCbA1nZ2O03nNJt7G96JdmnantiXBwHpRKWW8nBTLzx5uhXn6hTuTaoQRP/P+oxQJKYdMmA==", - "dev": true, - "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.350.0.tgz", + "integrity": "sha512-xmqwCFwj/CZPx6AKHNb24Kpr0eHW9VISt9r+SfgH8PaYg5cNyX1pKmMbQCket5ov+WvHEQtOK7aBafak7dhauA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.347.0", + "@aws-sdk/credential-provider-imds": "3.347.0", + "@aws-sdk/credential-provider-ini": "3.350.0", + "@aws-sdk/credential-provider-process": "3.347.0", + "@aws-sdk/credential-provider-sso": "3.350.0", + "@aws-sdk/credential-provider-web-identity": "3.347.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.316.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.316.0.tgz", - "integrity": "sha512-8/O2twlsoV1bDkZ9jd7JCMWsftfyoTyRT1UYscsKZGUDEgZRAxRkzS3GLYuLXEWNuxb1OB9rYk/cEJoxwy7T9g==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.347.0.tgz", + "integrity": "sha512-yl1z4MsaBdXd4GQ2halIvYds23S67kElyOwz7g8kaQ4kHj+UoYWxz3JVW/DGusM6XmQ9/F67utBrUVA0uhQYyw==", "dependencies": { - "@aws-sdk/client-sso": "3.316.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/token-providers": "3.316.0", - "@aws-sdk/types": "3.310.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.310.0.tgz", - "integrity": "sha512-H4SzuZXILNhK6/IR1uVvsUDZvzc051hem7GLyYghBCu8mU+tq28YhKE8MfSroi6eL2e5Vujloij1OM2EQQkPkw==", - "dev": true, - "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.350.0.tgz", + "integrity": "sha512-u/3kv+PJeVawzBtWBei+IX1/z50mwhpPe3VrKSTns4CPUw8b5sqIYWkAaw5hxm0td69+xcL98RzIJsEpJc4QSQ==", + "dependencies": { + "@aws-sdk/client-sso": "3.350.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/token-providers": "3.350.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.310.0.tgz", - "integrity": "sha512-Bi9vIwzdkw1zMcvi/zGzlWS9KfIEnAq4NNhsnCxbQ4OoIRU9wvU+WGZdBBhxg0ZxZmpp1j1aZhU53lLjA07MHw==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.347.0.tgz", + "integrity": "sha512-DxoTlVK8lXjS1zVphtz/Ab+jkN/IZor9d6pP2GjJHNoAIIzXfRwwj5C8vr4eTayx/5VJ7GRP91J8GJ2cKly8Qw==", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/querystring-builder": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/hash-node": { + "node_modules/@aws-sdk/endpoint-cache": { "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.310.0.tgz", - "integrity": "sha512-NvE2fhRc8GRwCXBfDehxVAWCmVwVMILliAKVPAEr4yz2CkYs0tqU51S48x23dtna07H4qHtgpeNqVTthcIQOEQ==", - "dev": true, + "resolved": "https://registry.npmjs.org/@aws-sdk/endpoint-cache/-/endpoint-cache-3.310.0.tgz", + "integrity": "sha512-y3wipforet41EDTI0vnzxILqwAGll1KfI5qcdX9pXF/WF1f+3frcOtPiWtQEZQpy4czRogKm3BHo70QBYAZxlQ==", "dependencies": { - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-buffer-from": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", + "mnemonist": "0.38.3", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/invalid-dependency": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.310.0.tgz", - "integrity": "sha512-1s5RG5rSPXoa/aZ/Kqr5U/7lqpx+Ry81GprQ2bxWqJvWQIJ0IRUwo5pk8XFxbKVr/2a+4lZT/c3OGoBOM1yRRA==", - "dev": true, + "node_modules/@aws-sdk/eventstream-codec": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.347.0.tgz", + "integrity": "sha512-61q+SyspjsaQ4sdgjizMyRgVph2CiW4aAtfpoH69EJFJfTxTR/OqnZ9Jx/3YiYi0ksrvDenJddYodfWWJqD8/w==", "dependencies": { - "@aws-sdk/types": "3.310.0", + "@aws-crypto/crc32": "3.0.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-hex-encoding": "3.310.0", "tslib": "^2.5.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/is-array-buffer": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz", - "integrity": "sha512-urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ==", + "node_modules/@aws-sdk/eventstream-serde-browser": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.347.0.tgz", + "integrity": "sha512-9BLVTHWgpiTo/hl+k7qt7E9iYu43zVwJN+4TEwA9ZZB3p12068t1Hay6HgCcgJC3+LWMtw/OhvypV6vQAG4UBg==", "dev": true, "dependencies": { + "@aws-sdk/eventstream-serde-universal": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/middleware-content-length": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.310.0.tgz", - "integrity": "sha512-P8tQZxgDt6CAh1wd/W6WPzjc+uWPJwQkm+F7rAwRlM+k9q17HrhnksGDKcpuuLyIhPQYdmOMIkpKVgXGa4avhQ==", + "node_modules/@aws-sdk/eventstream-serde-config-resolver": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.347.0.tgz", + "integrity": "sha512-RcXQbNVq0PFmDqfn6+MnjCUWbbobcYVxpimaF6pMDav04o6Mcle+G2Hrefp5NlFr/lZbHW2eUKYsp1sXPaxVlQ==", "dev": true, "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/middleware-endpoint": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.310.0.tgz", - "integrity": "sha512-Z+N2vOL8K354/lstkClxLLsr6hCpVRh+0tCMXrVj66/NtKysCEZ/0b9LmqOwD9pWHNiI2mJqXwY0gxNlKAroUg==", + "node_modules/@aws-sdk/eventstream-serde-node": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.347.0.tgz", + "integrity": "sha512-pgQCWH0PkHjcHs04JE7FoGAD3Ww45ffV8Op0MSLUhg9OpGa6EDoO3EOpWi9l/TALtH4f0KRV35PVyUyHJ/wEkA==", "dev": true, "dependencies": { - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", + "@aws-sdk/eventstream-serde-universal": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/middleware-host-header": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.310.0.tgz", - "integrity": "sha512-QWSA+46/hXorXyWa61ic2K7qZzwHTiwfk2e9mRRjeIRepUgI3qxFjsYqrWtrOGBjmFmq0pYIY8Bb/DCJuQqcoA==", + "node_modules/@aws-sdk/eventstream-serde-universal": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.347.0.tgz", + "integrity": "sha512-4wWj6bz6lOyDIO/dCCjwaLwRz648xzQQnf89R29sLoEqvAPP5XOB7HL+uFaQ/f5tPNh49gL6huNFSVwDm62n4Q==", "dev": true, "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", + "@aws-sdk/eventstream-codec": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/middleware-logger": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.310.0.tgz", - "integrity": "sha512-Lurm8XofrASBRnAVtiSNuDSRsRqPNg27RIFLLsLp/pqog9nFJ0vz0kgdb9S5Z+zw83Mm+UlqOe6D8NTUNp4fVg==", - "dev": true, + "node_modules/@aws-sdk/fetch-http-handler": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.347.0.tgz", + "integrity": "sha512-sQ5P7ivY8//7wdxfA76LT1sF6V2Tyyz1qF6xXf9sihPN5Q1Y65c+SKpMzXyFSPqWZ82+SQQuDliYZouVyS6kQQ==", "dependencies": { - "@aws-sdk/types": "3.310.0", + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/querystring-builder": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@aws-sdk/hash-node": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.347.0.tgz", + "integrity": "sha512-96+ml/4EaUaVpzBdOLGOxdoXOjkPgkoJp/0i1fxOJEvl8wdAQSwc3IugVK9wZkCxy2DlENtgOe6DfIOhfffm/g==", + "dependencies": { + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-buffer-from": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/middleware-recursion-detection": { + "node_modules/@aws-sdk/hash-node/node_modules/@aws-sdk/is-array-buffer": { "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.310.0.tgz", - "integrity": "sha512-SuB75/xk/gyue24gkriTwO2jFd7YcUGZDClQYuRejgbXSa3CO0lWyawQtfLcSSEBp9izrEVXuFH24K1eAft5nQ==", - "dev": true, + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz", + "integrity": "sha512-urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/middleware-retry": { + "node_modules/@aws-sdk/hash-node/node_modules/@aws-sdk/util-buffer-from": { "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.310.0.tgz", - "integrity": "sha512-oTPsRy2W4s+dfxbJPW7Km+hHtv/OMsNsVfThAq8DDYKC13qlr1aAyOqGLD+dpBy2aKe7ss517Sy2HcHtHqm7/g==", - "dev": true, + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.310.0.tgz", + "integrity": "sha512-i6LVeXFtGih5Zs8enLrt+ExXY92QV25jtEnTKHsmlFqFAuL3VBeod6boeMXkN2p9lbSVVQ1sAOOYZOHYbYkntw==", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/service-error-classification": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "tslib": "^2.5.0", - "uuid": "^8.3.2" + "@aws-sdk/is-array-buffer": "3.310.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.310.0.tgz", - "integrity": "sha512-+5PFwlYNLvLLIfw0ASAoWV/iIF8Zv6R6QGtyP0CclhRSvNjgbQDVnV0g95MC5qvh+GB/Yjlkt8qAjLSPjHfsrQ==", - "dev": true, + "node_modules/@aws-sdk/invalid-dependency": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.347.0.tgz", + "integrity": "sha512-8imQcwLwqZ/wTJXZqzXT9pGLIksTRckhGLZaXT60tiBOPKuerTsus2L59UstLs5LP8TKaVZKFFSsjRIn9dQdmQ==", "dependencies": { - "@aws-sdk/middleware-signing": "3.310.0", - "@aws-sdk/types": "3.310.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" + } + }, + "node_modules/@aws-sdk/is-array-buffer": { + "version": "3.201.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.3.1" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/middleware-serde": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.310.0.tgz", - "integrity": "sha512-RNeeTVWSLTaentUeCgQKZhAl+C6hxtwD78cQWS10UymWpQFwbaxztzKUu4UQS5xA2j6PxwPRRUjqa4jcFjfLsg==", - "dev": true, + "node_modules/@aws-sdk/lib-dynamodb": { + "version": "3.235.0", + "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@aws-sdk/util-dynamodb": "3.235.0", + "tslib": "^2.3.1" }, "engines": { "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-dynamodb": "^3.0.0", + "@aws-sdk/smithy-client": "^3.0.0", + "@aws-sdk/types": "^3.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/middleware-signing": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.310.0.tgz", - "integrity": "sha512-f9mKq+XMdW207Af3hKjdTnpNhdtwqWuvFs/ZyXoOkp/g1MY1O6L23Jy6i52m29LxbT4AuNRG1oKODfXM0vYVjQ==", - "dev": true, + "node_modules/@aws-sdk/middleware-content-length": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.347.0.tgz", + "integrity": "sha512-i4qtWTDImMaDUtwKQPbaZpXsReiwiBomM1cWymCU4bhz81HL01oIxOxOBuiM+3NlDoCSPr3KI6txZSz/8cqXCQ==", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/signature-v4": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/middleware-stack": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.310.0.tgz", - "integrity": "sha512-010O1PD+UAcZVKRvqEusE1KJqN96wwrf6QsqbRM0ywsKQ21NDweaHvEDlds2VHpgmofxkRLRu/IDrlPkKRQrRg==", - "dev": true, - "dependencies": { + "node_modules/@aws-sdk/middleware-endpoint": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.347.0.tgz", + "integrity": "sha512-unF0c6dMaUL1ffU+37Ugty43DgMnzPWXr/Jup/8GbK5fzzWT5NQq6dj9KHPubMbWeEjQbmczvhv25JuJdK8gNQ==", + "dependencies": { + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-middleware": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.310.0.tgz", - "integrity": "sha512-x3IOwSwSbwKidlxRk3CNVHVUb06SRuaELxggCaR++QVI8NU6qD/l4VHXKVRvbTHiC/cYxXE/GaBDgQVpDR7V/g==", - "dev": true, + "node_modules/@aws-sdk/middleware-endpoint-discovery": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.347.0.tgz", + "integrity": "sha512-QmsZA2JoOjyoSPEZMb8WW8pD0ljK+/wFDsA1JcS4jJfzM5UOM7dpClBZ7WLI4eBZWGDHrcRMFIDyPF51LjHpug==", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-endpoints": "3.310.0", + "@aws-sdk/endpoint-cache": "3.310.0", + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/node-config-provider": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.310.0.tgz", - "integrity": "sha512-T/Pp6htc6hq/Cq+MLNDSyiwWCMVF6GqbBbXKVlO5L8rdHx4sq9xPdoPveZhGWrxvkanjA6eCwUp6E0riBOSVng==", - "dev": true, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.347.0.tgz", + "integrity": "sha512-kpKmR9OvMlnReqp5sKcJkozbj1wmlblbVSbnQAIkzeQj2xD5dnVR3Nn2ogQKxSmU1Fv7dEroBtrruJ1o3fY38A==", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/node-http-handler": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.310.0.tgz", - "integrity": "sha512-irv9mbcM9xC2xYjArQF5SYmHBMu4ciMWtGsoHII1nRuFOl9FoT4ffTvEPuLlfC6pznzvKt9zvnm6xXj7gDChKg==", - "dev": true, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.347.0.tgz", + "integrity": "sha512-NYC+Id5UCkVn+3P1t/YtmHt75uED06vwaKyxDy0UmB2K66PZLVtwWbLpVWrhbroaw1bvUHYcRyQ9NIfnVcXQjA==", "dependencies": { - "@aws-sdk/abort-controller": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/querystring-builder": "3.310.0", - "@aws-sdk/types": "3.310.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/property-provider": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.310.0.tgz", - "integrity": "sha512-3lxDb0akV6BBzmFe4nLPaoliQbAifyWJhuvuDOu7e8NzouvpQXs0275w9LePhhcgjKAEVXUIse05ZW2DLbxo/g==", - "dev": true, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.347.0.tgz", + "integrity": "sha512-qfnSvkFKCAMjMHR31NdsT0gv5Sq/ZHTUD4yQsSLpbVQ6iYAS834lrzXt41iyEHt57Y514uG7F/Xfvude3u4icQ==", "dependencies": { - "@aws-sdk/types": "3.310.0", + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/protocol-http": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.310.0.tgz", - "integrity": "sha512-fgZ1aw/irQtnrsR58pS8ThKOWo57Py3xX6giRvwSgZDEcxHfVzuQjy9yPuV++v04fdmdtgpbGf8WfvAAJ11yXQ==", - "dev": true, - "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "node_modules/@aws-sdk/middleware-retry": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.347.0.tgz", + "integrity": "sha512-CpdM+8dCSbX96agy4FCzOfzDmhNnGBM/pxrgIVLm5nkYTLuXp/d7ubpFEUHULr+4hCd5wakHotMt7yO29NFaVw==", + "dependencies": { + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/service-error-classification": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-middleware": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "tslib": "^2.5.0", + "uuid": "^8.3.2" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/querystring-builder": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.310.0.tgz", - "integrity": "sha512-ZHH8GV/80+pWGo7DzsvwvXR5xVxUHXUvPJPFAkhr6nCf78igdoF8gR10ScFoEKbtEapoNTaZlKHPXxpD8aPG7A==", - "dev": true, + "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==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@aws-sdk/middleware-sdk-sts": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.347.0.tgz", + "integrity": "sha512-38LJ0bkIoVF3W97x6Jyyou72YV9Cfbml4OaDEdnrCOo0EssNZM5d7RhjMvQDwww7/3OBY/BzeOcZKfJlkYUXGw==", "dependencies": { - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-uri-escape": "3.310.0", + "@aws-sdk/middleware-signing": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/querystring-parser": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.310.0.tgz", - "integrity": "sha512-YkIznoP6lsiIUHinx++/lbb3tlMURGGqMpo0Pnn32zYzGrJXA6eC3D0as2EcMjo55onTfuLcIiX4qzXes2MYOA==", - "dev": true, + "node_modules/@aws-sdk/middleware-serde": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.347.0.tgz", + "integrity": "sha512-x5Foi7jRbVJXDu9bHfyCbhYDH5pKK+31MmsSJ3k8rY8keXLBxm2XEEg/AIoV9/TUF9EeVvZ7F1/RmMpJnWQsEg==", "dependencies": { - "@aws-sdk/types": "3.310.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/service-error-classification": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.310.0.tgz", - "integrity": "sha512-PuyC7k3qfIKeH2LCnDwbttMOKq3qAx4buvg0yfnJtQOz6t1AR8gsnAq0CjKXXyfkXwNKWTqCpE6lVNUIkXgsMw==", - "dev": true, + "node_modules/@aws-sdk/middleware-signing": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.347.0.tgz", + "integrity": "sha512-zVBF/4MGKnvhAE/J+oAL/VAehiyv+trs2dqSQXwHou9j8eA8Vm8HS2NdOwpkZQchIxTuwFlqSusDuPEdYFbvGw==", + "dependencies": { + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/signature-v4": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-middleware": "3.347.0", + "tslib": "^2.5.0" + }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.310.0.tgz", - "integrity": "sha512-N0q9pG0xSjQwc690YQND5bofm+4nfUviQ/Ppgan2kU6aU0WUq8KwgHJBto/YEEI+VlrME30jZJnxtOvcZJc2XA==", - "dev": true, + "node_modules/@aws-sdk/middleware-stack": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.347.0.tgz", + "integrity": "sha512-Izidg4rqtYMcKuvn2UzgEpPLSmyd8ub9+LQ2oIzG3mpIzCBITq7wp40jN1iNkMg+X6KEnX9vdMJIYZsPYMCYuQ==", "dependencies": { - "@aws-sdk/types": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/signature-v4": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.310.0.tgz", - "integrity": "sha512-1M60P1ZBNAjCFv9sYW29OF6okktaeibWyW3lMXqzoHF70lHBZh+838iUchznXUA5FLabfn4jBFWMRxlAXJUY2Q==", - "dev": true, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.347.0.tgz", + "integrity": "sha512-wJbGN3OE1/daVCrwk49whhIr9E0j1N4gWwN/wi4WuyYIA+5lMUfVp0aGIOvZR+878DxuFz2hQ4XcZVT4K2WvQw==", "dependencies": { - "@aws-sdk/is-array-buffer": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/smithy-client": { - "version": "3.316.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.316.0.tgz", - "integrity": "sha512-6YXOKbRnXeS8r8RWzuL6JMBolDYM5Wa4fD/VY6x/wK78i2xErHOvqzHgyyeLI1MMw4uqyd4wRNJNWC9TMPduXw==", - "dev": true, + "node_modules/@aws-sdk/node-config-provider": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.347.0.tgz", + "integrity": "sha512-faU93d3+5uTTUcotGgMXF+sJVFjrKh+ufW+CzYKT4yUHammyaIab/IbTPWy2hIolcEGtuPeVoxXw8TXbkh/tuw==", "dependencies": { - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/types": "3.310.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/token-providers": { - "version": "3.316.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.316.0.tgz", - "integrity": "sha512-foJ2YmB8A/mtp52riO2zdmBgzA3IpASNgUhY9FZg1BKpGcjqLQDGYP+BY3BA0H7CFsMa4PCf13M5wWwn1onyBA==", - "dev": true, - "dependencies": { - "@aws-sdk/client-sso-oidc": "3.316.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", + "node_modules/@aws-sdk/node-http-handler": { + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.350.0.tgz", + "integrity": "sha512-oD96GAlmpzYilCdC8wwyURM5lNfNHZCjm/kxBkQulHKa2kRbIrnD9GfDqdCkWA5cTpjh1NzGLT4D6e6UFDjt9w==", + "dependencies": { + "@aws-sdk/abort-controller": "3.347.0", + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/querystring-builder": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/types": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.310.0.tgz", - "integrity": "sha512-j8eamQJ7YcIhw7fneUfs8LYl3t01k4uHi4ZDmNRgtbmbmTTG3FZc2MotStZnp3nZB6vLiPF1o5aoJxWVvkzS6A==", - "dev": true, + "node_modules/@aws-sdk/property-provider": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.347.0.tgz", + "integrity": "sha512-t3nJ8CYPLKAF2v9nIHOHOlF0CviQbTvbFc2L4a+A+EVd/rM4PzL3+3n8ZJsr0h7f6uD04+b5YRFgKgnaqLXlEg==", "dependencies": { + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/url-parser": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.310.0.tgz", - "integrity": "sha512-mCLnCaSB9rQvAgx33u0DujLvr4d5yEm/W5r789GblwwQnlNXedVu50QRizMLTpltYWyAUoXjJgQnJHmJMaKXhw==", - "dev": true, + "node_modules/@aws-sdk/protocol-http": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.347.0.tgz", + "integrity": "sha512-2YdBhc02Wvy03YjhGwUxF0UQgrPWEy8Iq75pfS42N+/0B/+eWX1aQgfjFxIpLg7YSjT5eKtYOQGlYd4MFTgj9g==", "dependencies": { - "@aws-sdk/querystring-parser": "3.310.0", - "@aws-sdk/types": "3.310.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/util-base64": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.310.0.tgz", - "integrity": "sha512-v3+HBKQvqgdzcbL+pFswlx5HQsd9L6ZTlyPVL2LS9nNXnCcR3XgGz9jRskikRUuUvUXtkSG1J88GAOnJ/apTPg==", - "dev": true, + "node_modules/@aws-sdk/querystring-builder": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.347.0.tgz", + "integrity": "sha512-phtKTe6FXoV02MoPkIVV6owXI8Mwr5IBN3bPoxhcPvJG2AjEmnetSIrhb8kwc4oNhlwfZwH6Jo5ARW/VEWbZtg==", "dependencies": { - "@aws-sdk/util-buffer-from": "3.310.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-uri-escape": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.310.0.tgz", - "integrity": "sha512-sxsC3lPBGfpHtNTUoGXMQXLwjmR0zVpx0rSvzTPAuoVILVsp5AU/w5FphNPxD5OVIjNbZv9KsKTuvNTiZjDp9g==", - "dev": true, + "node_modules/@aws-sdk/querystring-parser": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.347.0.tgz", + "integrity": "sha512-5VXOhfZz78T2W7SuXf2avfjKglx1VZgZgp9Zfhrt/Rq+MTu2D+PZc5zmJHhYigD7x83jLSLogpuInQpFMA9LgA==", "dependencies": { + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/util-body-length-node": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.310.0.tgz", - "integrity": "sha512-2tqGXdyKhyA6w4zz7UPoS8Ip+7sayOg9BwHNidiGm2ikbDxm1YrCfYXvCBdwaJxa4hJfRVz+aL9e+d3GqPI9pQ==", - "dev": true, + "node_modules/@aws-sdk/service-error-classification": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.347.0.tgz", + "integrity": "sha512-xZ3MqSY81Oy2gh5g0fCtooAbahqh9VhsF8vcKjVX8+XPbGC8y+kej82+MsMg4gYL8gRFB9u4hgYbNgIS6JTAvg==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/shared-ini-file-loader": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.347.0.tgz", + "integrity": "sha512-Xw+zAZQVLb+xMNHChXQ29tzzLqm3AEHsD8JJnlkeFjeMnWQtXdUfOARl5s8NzAppcKQNlVe2gPzjaKjoy2jz1Q==", "dependencies": { + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/util-buffer-from": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.310.0.tgz", - "integrity": "sha512-i6LVeXFtGih5Zs8enLrt+ExXY92QV25jtEnTKHsmlFqFAuL3VBeod6boeMXkN2p9lbSVVQ1sAOOYZOHYbYkntw==", - "dev": true, + "node_modules/@aws-sdk/signature-v4": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.347.0.tgz", + "integrity": "sha512-58Uq1do+VsTHYkP11dTK+DF53fguoNNJL9rHRWhzP+OcYv3/mBMLoS2WPz/x9FO5mBg4ESFsug0I6mXbd36tjw==", "dependencies": { + "@aws-sdk/eventstream-codec": "3.347.0", "@aws-sdk/is-array-buffer": "3.310.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "@aws-sdk/util-middleware": "3.347.0", + "@aws-sdk/util-uri-escape": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/util-config-provider": { + "node_modules/@aws-sdk/signature-v4/node_modules/@aws-sdk/is-array-buffer": { "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.310.0.tgz", - "integrity": "sha512-xIBaYo8dwiojCw8vnUcIL4Z5tyfb1v3yjqyJKJWV/dqKUFOOS0U591plmXbM+M/QkXyML3ypon1f8+BoaDExrg==", - "dev": true, + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz", + "integrity": "sha512-urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ==", "dependencies": { "tslib": "^2.5.0" }, @@ -1369,11679 +1546,7953 @@ "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.316.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.316.0.tgz", - "integrity": "sha512-6FSqLhYmaihtH2n1s4b2rlLW0ABU8N6VZIfzLfe2ING4PF0MzfaMMhnTFUHVXfKCVGoR8yP6iyFTRCyHGVEL1w==", - "dev": true, + "node_modules/@aws-sdk/smithy-client": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.347.0.tgz", + "integrity": "sha512-PaGTDsJLGK0sTjA6YdYQzILRlPRN3uVFyqeBUkfltXssvUzkm8z2t1lz2H4VyJLAhwnG5ZuZTNEV/2mcWrU7JQ==", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "bowser": "^2.11.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { - "node": ">= 10.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.316.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.316.0.tgz", - "integrity": "sha512-dkYy10hdjPSScXXvnjGpZpnJxllkb6ICHgLMwZ4JczLHhPM12T/4PQ758YN8HS+muiYDGX1Bl2z1jd/bMcewBQ==", - "dev": true, - "dependencies": { - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/credential-provider-imds": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", + "node_modules/@aws-sdk/token-providers": { + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.350.0.tgz", + "integrity": "sha512-VIfVMV5An1VQQ6bOKQTHPsRFHD3/YRGOPk9lDTVJGOK0G1DIFYd/10ZaLQ86rCWLck2lGhjxsOen2N2n6MtA0A==", + "dependencies": { + "@aws-sdk/client-sso-oidc": "3.350.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { - "node": ">= 10.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/util-endpoints": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.310.0.tgz", - "integrity": "sha512-zG+/d/O5KPmAaeOMPd6bW1abifdT0H03f42keLjYEoRZzYtHPC5DuPE0UayiWGckI6BCDgy0sRKXCYS49UNFaQ==", - "dev": true, + "node_modules/@aws-sdk/types": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.347.0.tgz", + "integrity": "sha512-GkCMy79mdjU9OTIe5KT58fI/6uqdf8UmMdWqVHmFJ+UpEzOci7L/uw4sOXWo7xpPzLs6cJ7s5ouGZW4GRPmHFA==", "dependencies": { - "@aws-sdk/types": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/util-hex-encoding": { + "node_modules/@aws-sdk/url-parser": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.347.0.tgz", + "integrity": "sha512-lhrnVjxdV7hl+yCnJfDZOaVLSqKjxN20MIOiijRiqaWGLGEAiSqBreMhL89X1WKCifxAs4zZf9YB9SbdziRpAA==", + "dependencies": { + "@aws-sdk/querystring-parser": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@aws-sdk/util-base64": { "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.310.0.tgz", - "integrity": "sha512-sVN7mcCCDSJ67pI1ZMtk84SKGqyix6/0A1Ab163YKn+lFBQRMKexleZzpYzNGxYzmQS6VanP/cfU7NiLQOaSfA==", - "dev": true, + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.310.0.tgz", + "integrity": "sha512-v3+HBKQvqgdzcbL+pFswlx5HQsd9L6ZTlyPVL2LS9nNXnCcR3XgGz9jRskikRUuUvUXtkSG1J88GAOnJ/apTPg==", "dependencies": { + "@aws-sdk/util-buffer-from": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/util-middleware": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.310.0.tgz", - "integrity": "sha512-FTSUKL/eRb9X6uEZClrTe27QFXUNNp7fxYrPndZwk1hlaOP5ix+MIHBcI7pIiiY/JPfOUmPyZOu+HetlFXjWog==", - "dev": true, + "node_modules/@aws-sdk/util-base64-node": { + "version": "3.209.0", + "license": "Apache-2.0", "dependencies": { - "tslib": "^2.5.0" + "@aws-sdk/util-buffer-from": "3.208.0", + "tslib": "^2.3.1" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/util-retry": { + "node_modules/@aws-sdk/util-base64/node_modules/@aws-sdk/is-array-buffer": { "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.310.0.tgz", - "integrity": "sha512-FwWGhCBLfoivTMUHu1LIn4NjrN9JLJ/aX5aZmbcPIOhZVFJj638j0qDgZXyfvVqBuBZh7M8kGq0Oahy3dp69OA==", - "dev": true, + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz", + "integrity": "sha512-urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ==", "dependencies": { - "@aws-sdk/service-error-classification": "3.310.0", "tslib": "^2.5.0" }, "engines": { - "node": ">= 14.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/util-uri-escape": { + "node_modules/@aws-sdk/util-base64/node_modules/@aws-sdk/util-buffer-from": { "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.310.0.tgz", - "integrity": "sha512-drzt+aB2qo2LgtDoiy/3sVG8w63cgLkqFIa2NFlGpUgHFWTXkqtbgf4L5QdjRGKWhmZsnqkbtL7vkSWEcYDJ4Q==", - "dev": true, + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.310.0.tgz", + "integrity": "sha512-i6LVeXFtGih5Zs8enLrt+ExXY92QV25jtEnTKHsmlFqFAuL3VBeod6boeMXkN2p9lbSVVQ1sAOOYZOHYbYkntw==", "dependencies": { + "@aws-sdk/is-array-buffer": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/util-user-agent-browser": { + "node_modules/@aws-sdk/util-body-length-browser": { "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.310.0.tgz", - "integrity": "sha512-yU/4QnHHuQ5z3vsUqMQVfYLbZGYwpYblPiuZx4Zo9+x0PBkNjYMqctdDcrpoH9Z2xZiDN16AmQGK1tix117ZKw==", - "dev": true, + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.310.0.tgz", + "integrity": "sha512-sxsC3lPBGfpHtNTUoGXMQXLwjmR0zVpx0rSvzTPAuoVILVsp5AU/w5FphNPxD5OVIjNbZv9KsKTuvNTiZjDp9g==", "dependencies": { - "@aws-sdk/types": "3.310.0", - "bowser": "^2.11.0", "tslib": "^2.5.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/util-user-agent-node": { + "node_modules/@aws-sdk/util-body-length-node": { "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.310.0.tgz", - "integrity": "sha512-Ra3pEl+Gn2BpeE7KiDGpi4zj7WJXZA5GXnGo3mjbi9+Y3zrbuhJAbdZO3mO/o7xDgMC6ph4xCTbaSGzU6b6EDg==", - "dev": true, + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.310.0.tgz", + "integrity": "sha512-2tqGXdyKhyA6w4zz7UPoS8Ip+7sayOg9BwHNidiGm2ikbDxm1YrCfYXvCBdwaJxa4hJfRVz+aL9e+d3GqPI9pQ==", "dependencies": { - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-buffer-from": { + "version": "3.208.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/is-array-buffer": "3.201.0", + "tslib": "^2.3.1" }, - "peerDependencies": { - "aws-crt": ">=1.0.0" - }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/@aws-sdk/util-waiter": { + "node_modules/@aws-sdk/util-config-provider": { "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.310.0.tgz", - "integrity": "sha512-AV5j3guH/Y4REu+Qh3eXQU9igljHuU4XjX2sADAgf54C0kkhcCCkkiuzk3IsX089nyJCqIcj5idbjdvpnH88Vw==", - "dev": true, + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.310.0.tgz", + "integrity": "sha512-xIBaYo8dwiojCw8vnUcIL4Z5tyfb1v3yjqyJKJWV/dqKUFOOS0U591plmXbM+M/QkXyML3ypon1f8+BoaDExrg==", "dependencies": { - "@aws-sdk/abort-controller": "3.310.0", - "@aws-sdk/types": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/node_modules/fast-xml-parser": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz", - "integrity": "sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg==", - "dev": true, + "node_modules/@aws-sdk/util-defaults-mode-browser": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.347.0.tgz", + "integrity": "sha512-+JHFA4reWnW/nMWwrLKqL2Lm/biw/Dzi/Ix54DAkRZ08C462jMKVnUlzAI+TfxQE3YLm99EIa0G7jiEA+p81Qw==", "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", + "bowser": "^2.11.0", + "tslib": "^2.5.0" }, - "funding": { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/@aws-sdk/client-cloudwatch/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/util-defaults-mode-node": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.347.0.tgz", + "integrity": "sha512-A8BzIVhAAZE5WEukoAN2kYebzTc99ZgncbwOmgCCbvdaYlk5tzguR/s+uoT4G0JgQGol/4hAMuJEl7elNgU6RQ==", + "dependencies": { + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/credential-provider-imds": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/@aws-sdk/client-dynamodb": { - "version": "3.245.0", + "node_modules/@aws-sdk/util-dynamodb": { + "version": "3.235.0", "license": "Apache-2.0", "dependencies": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.245.0", - "@aws-sdk/config-resolver": "3.234.0", - "@aws-sdk/credential-provider-node": "3.245.0", - "@aws-sdk/fetch-http-handler": "3.226.0", - "@aws-sdk/hash-node": "3.226.0", - "@aws-sdk/invalid-dependency": "3.226.0", - "@aws-sdk/middleware-content-length": "3.226.0", - "@aws-sdk/middleware-endpoint": "3.226.0", - "@aws-sdk/middleware-endpoint-discovery": "3.234.0", - "@aws-sdk/middleware-host-header": "3.226.0", - "@aws-sdk/middleware-logger": "3.226.0", - "@aws-sdk/middleware-recursion-detection": "3.226.0", - "@aws-sdk/middleware-retry": "3.235.0", - "@aws-sdk/middleware-serde": "3.226.0", - "@aws-sdk/middleware-signing": "3.226.0", - "@aws-sdk/middleware-stack": "3.226.0", - "@aws-sdk/middleware-user-agent": "3.226.0", - "@aws-sdk/node-config-provider": "3.226.0", - "@aws-sdk/node-http-handler": "3.226.0", - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/smithy-client": "3.234.0", - "@aws-sdk/types": "3.226.0", - "@aws-sdk/url-parser": "3.226.0", - "@aws-sdk/util-base64": "3.208.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.234.0", - "@aws-sdk/util-defaults-mode-node": "3.234.0", - "@aws-sdk/util-endpoints": "3.245.0", - "@aws-sdk/util-retry": "3.229.0", - "@aws-sdk/util-user-agent-browser": "3.226.0", - "@aws-sdk/util-user-agent-node": "3.226.0", - "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.208.0", - "@aws-sdk/util-waiter": "3.226.0", - "tslib": "^2.3.1", - "uuid": "^8.3.2" + "tslib": "^2.3.1" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-dynamodb/node_modules/uuid": { - "version": "8.3.2", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/@aws-sdk/client-lambda": { - "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.347.0.tgz", + "integrity": "sha512-/WUkirizeNAqwVj0zkcrqdQ9pUm1HY5kU+qy7xTR0OebkuJauglkmSTMD+56L1JPunWqHhlwCMVRaz5eaJdSEQ==", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.310.0", - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/credential-provider-node": "3.310.0", - "@aws-sdk/eventstream-serde-browser": "3.310.0", - "@aws-sdk/eventstream-serde-config-resolver": "3.310.0", - "@aws-sdk/eventstream-serde-node": "3.310.0", - "@aws-sdk/fetch-http-handler": "3.310.0", - "@aws-sdk/hash-node": "3.310.0", - "@aws-sdk/invalid-dependency": "3.310.0", - "@aws-sdk/middleware-content-length": "3.310.0", - "@aws-sdk/middleware-endpoint": "3.310.0", - "@aws-sdk/middleware-host-header": "3.310.0", - "@aws-sdk/middleware-logger": "3.310.0", - "@aws-sdk/middleware-recursion-detection": "3.310.0", - "@aws-sdk/middleware-retry": "3.310.0", - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/middleware-signing": "3.310.0", - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/middleware-user-agent": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/node-http-handler": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/smithy-client": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.310.0", - "@aws-sdk/util-defaults-mode-node": "3.310.0", - "@aws-sdk/util-endpoints": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "@aws-sdk/util-user-agent-browser": "3.310.0", - "@aws-sdk/util-user-agent-node": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "@aws-sdk/util-waiter": "3.310.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-crypto/ie11-detection": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-crypto/sha256-browser": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/sha256-js": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-crypto/sha256-js": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-crypto/supports-web-crypto": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-crypto/util": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-crypto/util/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/abort-controller": { + "node_modules/@aws-sdk/util-hex-encoding": { "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.310.0.tgz", + "integrity": "sha512-sVN7mcCCDSJ67pI1ZMtk84SKGqyix6/0A1Ab163YKn+lFBQRMKexleZzpYzNGxYzmQS6VanP/cfU7NiLQOaSfA==", "dependencies": { - "@aws-sdk/types": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/client-sso": { + "node_modules/@aws-sdk/util-locate-window": { "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", + "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/fetch-http-handler": "3.310.0", - "@aws-sdk/hash-node": "3.310.0", - "@aws-sdk/invalid-dependency": "3.310.0", - "@aws-sdk/middleware-content-length": "3.310.0", - "@aws-sdk/middleware-endpoint": "3.310.0", - "@aws-sdk/middleware-host-header": "3.310.0", - "@aws-sdk/middleware-logger": "3.310.0", - "@aws-sdk/middleware-recursion-detection": "3.310.0", - "@aws-sdk/middleware-retry": "3.310.0", - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/middleware-user-agent": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/node-http-handler": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/smithy-client": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.310.0", - "@aws-sdk/util-defaults-mode-node": "3.310.0", - "@aws-sdk/util-endpoints": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "@aws-sdk/util-user-agent-browser": "3.310.0", - "@aws-sdk/util-user-agent-node": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/@aws-sdk/util-middleware": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.347.0.tgz", + "integrity": "sha512-8owqUA3ePufeYTUvlzdJ7Z0miLorTwx+rNol5lourGQZ9JXsVMo23+yGA7nOlFuXSGkoKpMOtn6S0BT2bcfeiw==", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/fetch-http-handler": "3.310.0", - "@aws-sdk/hash-node": "3.310.0", - "@aws-sdk/invalid-dependency": "3.310.0", - "@aws-sdk/middleware-content-length": "3.310.0", - "@aws-sdk/middleware-endpoint": "3.310.0", - "@aws-sdk/middleware-host-header": "3.310.0", - "@aws-sdk/middleware-logger": "3.310.0", - "@aws-sdk/middleware-recursion-detection": "3.310.0", - "@aws-sdk/middleware-retry": "3.310.0", - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/middleware-user-agent": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/node-http-handler": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/smithy-client": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.310.0", - "@aws-sdk/util-defaults-mode-node": "3.310.0", - "@aws-sdk/util-endpoints": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "@aws-sdk/util-user-agent-browser": "3.310.0", - "@aws-sdk/util-user-agent-node": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/client-sts": { - "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/@aws-sdk/util-retry": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.347.0.tgz", + "integrity": "sha512-NxnQA0/FHFxriQAeEgBonA43Q9/VPFQa8cfJDuT2A1YZruMasgjcltoZszi1dvoIRWSZsFTW42eY2gdOd0nffQ==", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/credential-provider-node": "3.310.0", - "@aws-sdk/fetch-http-handler": "3.310.0", - "@aws-sdk/hash-node": "3.310.0", - "@aws-sdk/invalid-dependency": "3.310.0", - "@aws-sdk/middleware-content-length": "3.310.0", - "@aws-sdk/middleware-endpoint": "3.310.0", - "@aws-sdk/middleware-host-header": "3.310.0", - "@aws-sdk/middleware-logger": "3.310.0", - "@aws-sdk/middleware-recursion-detection": "3.310.0", - "@aws-sdk/middleware-retry": "3.310.0", - "@aws-sdk/middleware-sdk-sts": "3.310.0", - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/middleware-signing": "3.310.0", - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/middleware-user-agent": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/node-http-handler": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/smithy-client": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.310.0", - "@aws-sdk/util-defaults-mode-node": "3.310.0", - "@aws-sdk/util-endpoints": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "@aws-sdk/util-user-agent-browser": "3.310.0", - "@aws-sdk/util-user-agent-node": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "fast-xml-parser": "4.1.2", + "@aws-sdk/service-error-classification": "3.347.0", "tslib": "^2.5.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 14.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/config-resolver": { + "node_modules/@aws-sdk/util-uri-escape": { "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.310.0.tgz", + "integrity": "sha512-drzt+aB2qo2LgtDoiy/3sVG8w63cgLkqFIa2NFlGpUgHFWTXkqtbgf4L5QdjRGKWhmZsnqkbtL7vkSWEcYDJ4Q==", "dependencies": { - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-config-provider": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/credential-provider-env": { - "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.347.0.tgz", + "integrity": "sha512-ydxtsKVtQefgbk1Dku1q7pMkjDYThauG9/8mQkZUAVik55OUZw71Zzr3XO8J8RKvQG8lmhPXuAQ0FKAyycc0RA==", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", + "@aws-sdk/types": "3.347.0", + "bowser": "^2.11.0", "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.347.0.tgz", + "integrity": "sha512-6X0b9qGsbD1s80PmbaB6v1/ZtLfSx6fjRX8caM7NN0y/ObuLoX8LhYnW6WlB2f1+xb4EjaCNgpP/zCf98MXosw==", "dependencies": { - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/credential-provider-ini": { + "node_modules/@aws-sdk/util-utf8": { "version": "3.310.0", - "dev": true, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/credential-provider-env": "3.310.0", - "@aws-sdk/credential-provider-imds": "3.310.0", - "@aws-sdk/credential-provider-process": "3.310.0", - "@aws-sdk/credential-provider-sso": "3.310.0", - "@aws-sdk/credential-provider-web-identity": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", + "@aws-sdk/util-buffer-from": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/credential-provider-node": { + "node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.259.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", + "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/util-utf8/node_modules/@aws-sdk/is-array-buffer": { "version": "3.310.0", - "dev": true, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/credential-provider-env": "3.310.0", - "@aws-sdk/credential-provider-imds": "3.310.0", - "@aws-sdk/credential-provider-ini": "3.310.0", - "@aws-sdk/credential-provider-process": "3.310.0", - "@aws-sdk/credential-provider-sso": "3.310.0", - "@aws-sdk/credential-provider-web-identity": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/credential-provider-process": { + "node_modules/@aws-sdk/util-utf8/node_modules/@aws-sdk/util-buffer-from": { "version": "3.310.0", - "dev": true, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", + "@aws-sdk/is-array-buffer": "3.310.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/@aws-sdk/util-waiter": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.347.0.tgz", + "integrity": "sha512-3ze/0PkwkzUzLncukx93tZgGL0JX9NaP8DxTi6WzflnL/TEul5Z63PCruRNK0om17iZYAWKrf8q2mFoHYb4grA==", "dependencies": { - "@aws-sdk/client-sso": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/token-providers": "3.310.0", - "@aws-sdk/types": "3.310.0", + "@aws-sdk/abort-controller": "3.347.0", + "@aws-sdk/types": "3.347.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.310.0", + "node_modules/@babel/code-frame": { + "version": "7.18.6", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@babel/highlight": "^7.18.6" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.310.0", + "node_modules/@babel/compat-data": { + "version": "7.20.5", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/querystring-builder": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-base64": "3.310.0", - "tslib": "^2.5.0" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/hash-node": { - "version": "3.310.0", + "node_modules/@babel/core": { + "version": "7.20.5", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-buffer-from": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.5", + "@babel/parser": "^7.20.5", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/invalid-dependency": { - "version": "3.310.0", + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "1.9.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - } + "license": "MIT" }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/is-array-buffer": { - "version": "3.310.0", + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/middleware-content-length": { - "version": "3.310.0", + "node_modules/@babel/generator": { + "version": "7.20.5", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@babel/types": "^7.20.5", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/middleware-endpoint": { - "version": "3.310.0", + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "tslib": "^2.5.0" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/middleware-host-header": { - "version": "3.310.0", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, + "@babel/compat-data": "^7.20.0", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/middleware-logger": { - "version": "3.310.0", + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.310.0", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/middleware-retry": { - "version": "3.310.0", + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/service-error-classification": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "tslib": "^2.5.0", - "uuid": "^8.3.2" + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.310.0", + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/middleware-signing": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@babel/types": "^7.18.6" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/middleware-serde": { - "version": "3.310.0", + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@babel/types": "^7.18.6" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/middleware-signing": { - "version": "3.310.0", + "node_modules/@babel/helper-module-transforms": { + "version": "7.20.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/signature-v4": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "tslib": "^2.5.0" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/middleware-stack": { - "version": "3.310.0", + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.310.0", + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-endpoints": "3.310.0", - "tslib": "^2.5.0" + "@babel/types": "^7.20.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/node-config-provider": { - "version": "3.310.0", + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@babel/types": "^7.18.6" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/node-http-handler": { - "version": "3.310.0", + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/abort-controller": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/querystring-builder": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/property-provider": { - "version": "3.310.0", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/protocol-http": { - "version": "3.310.0", + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/querystring-builder": { - "version": "3.310.0", + "node_modules/@babel/helpers": { + "version": "7.20.6", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "tslib": "^2.5.0" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/querystring-parser": { - "version": "3.310.0", + "node_modules/@babel/highlight": { + "version": "7.18.6", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/service-error-classification": { - "version": "3.310.0", + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, "engines": { - "node": ">=14.0.0" + "node": ">=4" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.310.0", + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=4" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/signature-v4": { - "version": "3.310.0", + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/is-array-buffer": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" - }, + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=0.8.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/smithy-client": { - "version": "3.310.0", + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=4" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/token-providers": { - "version": "3.310.0", + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/client-sso-oidc": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=4" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/types": { - "version": "3.310.0", + "node_modules/@babel/parser": { + "version": "7.20.5", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.0.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/url-parser": { - "version": "3.310.0", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/querystring-parser": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-base64": { - "version": "3.310.0", + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/util-buffer-from": "3.310.0", - "tslib": "^2.5.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.310.0", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-body-length-node": { - "version": "3.310.0", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-buffer-from": { - "version": "3.310.0", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/is-array-buffer": "3.310.0", - "tslib": "^2.5.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-config-provider": { - "version": "3.310.0", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.18.6", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.310.0", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">= 10.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.310.0", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/credential-provider-imds": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">= 10.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-endpoints": { - "version": "3.310.0", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.310.0", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-middleware": { - "version": "3.310.0", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=14.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-retry": { - "version": "3.310.0", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/service-error-classification": "3.310.0", - "tslib": "^2.5.0" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">= 14.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-uri-escape": { - "version": "3.310.0", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.310.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.310.0", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.20.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" }, "peerDependencies": { - "aws-crt": ">=1.0.0" - }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } + "@babel/core": "^7.0.0-0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-waiter": { - "version": "3.310.0", + "node_modules/@babel/template": { + "version": "7.18.10", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/abort-controller": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/fast-xml-parser": { - "version": "4.1.2", + "node_modules/@babel/traverse": { + "version": "7.20.5", "dev": true, "license": "MIT", "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.5", + "@babel/types": "^7.20.5", + "debug": "^4.1.0", + "globals": "^11.1.0" }, - "funding": { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-lambda/node_modules/uuid": { - "version": "8.3.2", + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", "dev": true, "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "engines": { + "node": ">=4" } }, - "node_modules/@aws-sdk/client-secrets-manager": { - "version": "3.250.0", + "node_modules/@babel/types": { + "version": "7.20.5", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.245.0", - "@aws-sdk/config-resolver": "3.234.0", - "@aws-sdk/credential-provider-node": "3.245.0", - "@aws-sdk/fetch-http-handler": "3.226.0", - "@aws-sdk/hash-node": "3.226.0", - "@aws-sdk/invalid-dependency": "3.226.0", - "@aws-sdk/middleware-content-length": "3.226.0", - "@aws-sdk/middleware-endpoint": "3.226.0", - "@aws-sdk/middleware-host-header": "3.226.0", - "@aws-sdk/middleware-logger": "3.226.0", - "@aws-sdk/middleware-recursion-detection": "3.226.0", - "@aws-sdk/middleware-retry": "3.235.0", - "@aws-sdk/middleware-serde": "3.226.0", - "@aws-sdk/middleware-signing": "3.226.0", - "@aws-sdk/middleware-stack": "3.226.0", - "@aws-sdk/middleware-user-agent": "3.226.0", - "@aws-sdk/node-config-provider": "3.226.0", - "@aws-sdk/node-http-handler": "3.226.0", - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/smithy-client": "3.234.0", - "@aws-sdk/types": "3.226.0", - "@aws-sdk/url-parser": "3.226.0", - "@aws-sdk/util-base64": "3.208.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.234.0", - "@aws-sdk/util-defaults-mode-node": "3.234.0", - "@aws-sdk/util-endpoints": "3.245.0", - "@aws-sdk/util-retry": "3.229.0", - "@aws-sdk/util-user-agent-browser": "3.226.0", - "@aws-sdk/util-user-agent-node": "3.226.0", - "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.208.0", - "tslib": "^2.3.1", - "uuid": "^8.3.2" + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-secrets-manager/node_modules/uuid": { - "version": "8.3.2", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", "dev": true, - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } + "license": "MIT" }, - "node_modules/@aws-sdk/client-ssm": { - "version": "3.245.0", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.245.0", - "@aws-sdk/config-resolver": "3.234.0", - "@aws-sdk/credential-provider-node": "3.245.0", - "@aws-sdk/fetch-http-handler": "3.226.0", - "@aws-sdk/hash-node": "3.226.0", - "@aws-sdk/invalid-dependency": "3.226.0", - "@aws-sdk/middleware-content-length": "3.226.0", - "@aws-sdk/middleware-endpoint": "3.226.0", - "@aws-sdk/middleware-host-header": "3.226.0", - "@aws-sdk/middleware-logger": "3.226.0", - "@aws-sdk/middleware-recursion-detection": "3.226.0", - "@aws-sdk/middleware-retry": "3.235.0", - "@aws-sdk/middleware-serde": "3.226.0", - "@aws-sdk/middleware-signing": "3.226.0", - "@aws-sdk/middleware-stack": "3.226.0", - "@aws-sdk/middleware-user-agent": "3.226.0", - "@aws-sdk/node-config-provider": "3.226.0", - "@aws-sdk/node-http-handler": "3.226.0", - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/smithy-client": "3.234.0", - "@aws-sdk/types": "3.226.0", - "@aws-sdk/url-parser": "3.226.0", - "@aws-sdk/util-base64": "3.208.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.234.0", - "@aws-sdk/util-defaults-mode-node": "3.234.0", - "@aws-sdk/util-endpoints": "3.245.0", - "@aws-sdk/util-retry": "3.229.0", - "@aws-sdk/util-user-agent-browser": "3.226.0", - "@aws-sdk/util-user-agent-node": "3.226.0", - "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.208.0", - "@aws-sdk/util-waiter": "3.226.0", - "tslib": "^2.3.1", - "uuid": "^8.3.2" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=14.0.0" + "node": ">=12" } }, - "node_modules/@aws-sdk/client-ssm/node_modules/uuid": { - "version": "8.3.2", + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", "dev": true, "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/@aws-sdk/client-sso": { - "version": "3.245.0", - "license": "Apache-2.0", "dependencies": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.234.0", - "@aws-sdk/fetch-http-handler": "3.226.0", - "@aws-sdk/hash-node": "3.226.0", - "@aws-sdk/invalid-dependency": "3.226.0", - "@aws-sdk/middleware-content-length": "3.226.0", - "@aws-sdk/middleware-endpoint": "3.226.0", - "@aws-sdk/middleware-host-header": "3.226.0", - "@aws-sdk/middleware-logger": "3.226.0", - "@aws-sdk/middleware-recursion-detection": "3.226.0", - "@aws-sdk/middleware-retry": "3.235.0", - "@aws-sdk/middleware-serde": "3.226.0", - "@aws-sdk/middleware-stack": "3.226.0", - "@aws-sdk/middleware-user-agent": "3.226.0", - "@aws-sdk/node-config-provider": "3.226.0", - "@aws-sdk/node-http-handler": "3.226.0", - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/smithy-client": "3.234.0", - "@aws-sdk/types": "3.226.0", - "@aws-sdk/url-parser": "3.226.0", - "@aws-sdk/util-base64": "3.208.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.234.0", - "@aws-sdk/util-defaults-mode-node": "3.234.0", - "@aws-sdk/util-endpoints": "3.245.0", - "@aws-sdk/util-retry": "3.229.0", - "@aws-sdk/util-user-agent-browser": "3.226.0", - "@aws-sdk/util-user-agent-node": "3.226.0", - "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.208.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.245.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.234.0", - "@aws-sdk/fetch-http-handler": "3.226.0", - "@aws-sdk/hash-node": "3.226.0", - "@aws-sdk/invalid-dependency": "3.226.0", - "@aws-sdk/middleware-content-length": "3.226.0", - "@aws-sdk/middleware-endpoint": "3.226.0", - "@aws-sdk/middleware-host-header": "3.226.0", - "@aws-sdk/middleware-logger": "3.226.0", - "@aws-sdk/middleware-recursion-detection": "3.226.0", - "@aws-sdk/middleware-retry": "3.235.0", - "@aws-sdk/middleware-serde": "3.226.0", - "@aws-sdk/middleware-stack": "3.226.0", - "@aws-sdk/middleware-user-agent": "3.226.0", - "@aws-sdk/node-config-provider": "3.226.0", - "@aws-sdk/node-http-handler": "3.226.0", - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/smithy-client": "3.234.0", - "@aws-sdk/types": "3.226.0", - "@aws-sdk/url-parser": "3.226.0", - "@aws-sdk/util-base64": "3.208.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.234.0", - "@aws-sdk/util-defaults-mode-node": "3.234.0", - "@aws-sdk/util-endpoints": "3.245.0", - "@aws-sdk/util-retry": "3.229.0", - "@aws-sdk/util-user-agent-browser": "3.226.0", - "@aws-sdk/util-user-agent-node": "3.226.0", - "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.208.0", - "tslib": "^2.3.1" - }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.16.10", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14.0.0" + "node": ">=12" } }, - "node_modules/@aws-sdk/client-sts": { - "version": "3.245.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.234.0", - "@aws-sdk/credential-provider-node": "3.245.0", - "@aws-sdk/fetch-http-handler": "3.226.0", - "@aws-sdk/hash-node": "3.226.0", - "@aws-sdk/invalid-dependency": "3.226.0", - "@aws-sdk/middleware-content-length": "3.226.0", - "@aws-sdk/middleware-endpoint": "3.226.0", - "@aws-sdk/middleware-host-header": "3.226.0", - "@aws-sdk/middleware-logger": "3.226.0", - "@aws-sdk/middleware-recursion-detection": "3.226.0", - "@aws-sdk/middleware-retry": "3.235.0", - "@aws-sdk/middleware-sdk-sts": "3.226.0", - "@aws-sdk/middleware-serde": "3.226.0", - "@aws-sdk/middleware-signing": "3.226.0", - "@aws-sdk/middleware-stack": "3.226.0", - "@aws-sdk/middleware-user-agent": "3.226.0", - "@aws-sdk/node-config-provider": "3.226.0", - "@aws-sdk/node-http-handler": "3.226.0", - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/smithy-client": "3.234.0", - "@aws-sdk/types": "3.226.0", - "@aws-sdk/url-parser": "3.226.0", - "@aws-sdk/util-base64": "3.208.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.234.0", - "@aws-sdk/util-defaults-mode-node": "3.234.0", - "@aws-sdk/util-endpoints": "3.245.0", - "@aws-sdk/util-retry": "3.229.0", - "@aws-sdk/util-user-agent-browser": "3.226.0", - "@aws-sdk/util-user-agent-node": "3.226.0", - "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.208.0", - "fast-xml-parser": "4.0.11", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/client-xray": { - "version": "3.310.0", + "node_modules/@eslint/eslintrc": { + "version": "1.4.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.310.0", - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/credential-provider-node": "3.310.0", - "@aws-sdk/fetch-http-handler": "3.310.0", - "@aws-sdk/hash-node": "3.310.0", - "@aws-sdk/invalid-dependency": "3.310.0", - "@aws-sdk/middleware-content-length": "3.310.0", - "@aws-sdk/middleware-endpoint": "3.310.0", - "@aws-sdk/middleware-host-header": "3.310.0", - "@aws-sdk/middleware-logger": "3.310.0", - "@aws-sdk/middleware-recursion-detection": "3.310.0", - "@aws-sdk/middleware-retry": "3.310.0", - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/middleware-signing": "3.310.0", - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/middleware-user-agent": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/node-http-handler": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/smithy-client": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.310.0", - "@aws-sdk/util-defaults-mode-node": "3.310.0", - "@aws-sdk/util-endpoints": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "@aws-sdk/util-user-agent-browser": "3.310.0", - "@aws-sdk/util-user-agent-node": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-crypto/ie11-detection": { - "version": "3.0.0", + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^1.11.1" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-crypto/sha256-browser": { - "version": "3.0.0", + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/sha256-js": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - } + "license": "MIT" }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { - "version": "1.14.1", + "node_modules/@gar/promisify": { + "version": "1.1.3", "dev": true, - "license": "0BSD" + "license": "MIT" }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-crypto/sha256-js": { - "version": "3.0.0", + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", "dev": true, "license": "Apache-2.0", "dependencies": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-crypto/supports-web-crypto": { - "version": "3.0.0", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", "dev": true, "license": "Apache-2.0", - "dependencies": { - "tslib": "^1.11.1" + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { - "version": "1.14.1", + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", "dev": true, - "license": "0BSD" + "license": "BSD-3-Clause" }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-crypto/util": { - "version": "3.0.0", + "node_modules/@hutson/parse-repository-url": { + "version": "3.0.2", "dev": true, "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-crypto/util/node_modules/tslib": { - "version": "1.14.1", + "node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", "dev": true, - "license": "0BSD" + "license": "ISC" }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/abort-controller": { - "version": "3.310.0", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/client-sso": { - "version": "3.310.0", + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/fetch-http-handler": "3.310.0", - "@aws-sdk/hash-node": "3.310.0", - "@aws-sdk/invalid-dependency": "3.310.0", - "@aws-sdk/middleware-content-length": "3.310.0", - "@aws-sdk/middleware-endpoint": "3.310.0", - "@aws-sdk/middleware-host-header": "3.310.0", - "@aws-sdk/middleware-logger": "3.310.0", - "@aws-sdk/middleware-recursion-detection": "3.310.0", - "@aws-sdk/middleware-retry": "3.310.0", - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/middleware-user-agent": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/node-http-handler": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/smithy-client": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.310.0", - "@aws-sdk/util-defaults-mode-node": "3.310.0", - "@aws-sdk/util-endpoints": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "@aws-sdk/util-user-agent-browser": "3.310.0", - "@aws-sdk/util-user-agent-node": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "sprintf-js": "~1.0.2" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.310.0", + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/fetch-http-handler": "3.310.0", - "@aws-sdk/hash-node": "3.310.0", - "@aws-sdk/invalid-dependency": "3.310.0", - "@aws-sdk/middleware-content-length": "3.310.0", - "@aws-sdk/middleware-endpoint": "3.310.0", - "@aws-sdk/middleware-host-header": "3.310.0", - "@aws-sdk/middleware-logger": "3.310.0", - "@aws-sdk/middleware-recursion-detection": "3.310.0", - "@aws-sdk/middleware-retry": "3.310.0", - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/middleware-user-agent": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/node-http-handler": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/smithy-client": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.310.0", - "@aws-sdk/util-defaults-mode-node": "3.310.0", - "@aws-sdk/util-endpoints": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "@aws-sdk/util-user-agent-browser": "3.310.0", - "@aws-sdk/util-user-agent-node": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/client-sts": { - "version": "3.310.0", + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/credential-provider-node": "3.310.0", - "@aws-sdk/fetch-http-handler": "3.310.0", - "@aws-sdk/hash-node": "3.310.0", - "@aws-sdk/invalid-dependency": "3.310.0", - "@aws-sdk/middleware-content-length": "3.310.0", - "@aws-sdk/middleware-endpoint": "3.310.0", - "@aws-sdk/middleware-host-header": "3.310.0", - "@aws-sdk/middleware-logger": "3.310.0", - "@aws-sdk/middleware-recursion-detection": "3.310.0", - "@aws-sdk/middleware-retry": "3.310.0", - "@aws-sdk/middleware-sdk-sts": "3.310.0", - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/middleware-signing": "3.310.0", - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/middleware-user-agent": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/node-http-handler": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/smithy-client": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.310.0", - "@aws-sdk/util-defaults-mode-node": "3.310.0", - "@aws-sdk/util-endpoints": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "@aws-sdk/util-user-agent-browser": "3.310.0", - "@aws-sdk/util-user-agent-node": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "fast-xml-parser": "4.1.2", - "tslib": "^2.5.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": ">=14.0.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/config-resolver": { - "version": "3.310.0", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-config-provider": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "tslib": "^2.5.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/credential-provider-env": { - "version": "3.310.0", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "tslib": "^2.5.0" + "node": ">=6" }, - "engines": { - "node": ">=14.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.310.0", + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/credential-provider-env": "3.310.0", - "@aws-sdk/credential-provider-imds": "3.310.0", - "@aws-sdk/credential-provider-process": "3.310.0", - "@aws-sdk/credential-provider-sso": "3.310.0", - "@aws-sdk/credential-provider-web-identity": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/credential-provider-node": { - "version": "3.310.0", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.310.0", - "@aws-sdk/credential-provider-imds": "3.310.0", - "@aws-sdk/credential-provider-ini": "3.310.0", - "@aws-sdk/credential-provider-process": "3.310.0", - "@aws-sdk/credential-provider-sso": "3.310.0", - "@aws-sdk/credential-provider-web-identity": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/credential-provider-process": { - "version": "3.310.0", + "node_modules/@jest/console": { + "version": "29.3.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "slash": "^3.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.310.0", + "node_modules/@jest/core": { + "version": "29.3.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/client-sso": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/token-providers": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@jest/console": "^29.3.1", + "@jest/reporters": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.2.0", + "jest-config": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-resolve-dependencies": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "jest-watcher": "^29.3.1", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/querystring-builder": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-base64": "3.310.0", - "tslib": "^2.5.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/hash-node": { - "version": "3.310.0", + "node_modules/@jest/environment": { + "version": "29.3.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-buffer-from": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-mock": "^29.3.1" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/invalid-dependency": { - "version": "3.310.0", + "node_modules/@jest/expect": { + "version": "29.3.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "expect": "^29.3.1", + "jest-snapshot": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/is-array-buffer": { - "version": "3.310.0", + "node_modules/@jest/expect-utils": { + "version": "29.3.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "jest-get-type": "^29.2.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/middleware-content-length": { - "version": "3.310.0", + "node_modules/@jest/fake-timers": { + "version": "29.3.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@jest/types": "^29.3.1", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/middleware-endpoint": { - "version": "3.310.0", + "node_modules/@jest/globals": { + "version": "29.3.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "tslib": "^2.5.0" + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/types": "^29.3.1", + "jest-mock": "^29.3.1" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/middleware-host-header": { - "version": "3.310.0", + "node_modules/@jest/reporters": { + "version": "29.3.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/middleware-logger": { - "version": "3.310.0", + "node_modules/@jest/schemas": { + "version": "29.4.3", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@sinclair/typebox": "^0.25.16" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.310.0", + "node_modules/@jest/schemas/node_modules/@sinclair/typebox": { + "version": "0.25.24", "dev": true, - "license": "Apache-2.0", + "license": "MIT" + }, + "node_modules/@jest/source-map": { + "version": "29.2.0", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/middleware-retry": { - "version": "3.310.0", + "node_modules/@jest/test-result": { + "version": "29.3.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/service-error-classification": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "tslib": "^2.5.0", - "uuid": "^8.3.2" + "@jest/console": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.310.0", + "node_modules/@jest/test-sequencer": { + "version": "29.3.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/middleware-signing": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@jest/test-result": "^29.3.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "slash": "^3.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/middleware-serde": { - "version": "3.310.0", + "node_modules/@jest/transform": { + "version": "29.3.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@babel/core": "^7.11.6", + "@jest/types": "^29.3.1", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.3.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.1" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/middleware-signing": { - "version": "3.310.0", + "node_modules/@jest/types": { + "version": "29.3.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/signature-v4": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "tslib": "^2.5.0" + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/middleware-stack": { - "version": "3.310.0", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.310.0", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-endpoints": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=6.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/node-config-provider": { - "version": "3.310.0", + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=6.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/node-http-handler": { - "version": "3.310.0", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", "dev": true, - "license": "Apache-2.0", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/abort-controller": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/querystring-builder": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/property-provider": { - "version": "3.310.0", + "node_modules/@lerna/child-process": { + "version": "6.6.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "chalk": "^4.1.0", + "execa": "^5.0.0", + "strong-log-transformer": "^2.1.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/protocol-http": { - "version": "3.310.0", + "node_modules/@lerna/create": { + "version": "6.6.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@lerna/child-process": "6.6.1", + "dedent": "^0.7.0", + "fs-extra": "^9.1.0", + "init-package-json": "^3.0.2", + "npm-package-arg": "8.1.1", + "p-reduce": "^2.1.0", + "pacote": "^13.6.1", + "pify": "^5.0.0", + "semver": "^7.3.4", + "slash": "^3.0.0", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^4.0.0", + "yargs-parser": "20.2.4" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/querystring-builder": { - "version": "3.310.0", + "node_modules/@lerna/legacy-package-management": { + "version": "6.6.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "tslib": "^2.5.0" + "@npmcli/arborist": "6.2.3", + "@npmcli/run-script": "4.1.7", + "@nrwl/devkit": ">=15.5.2 < 16", + "@octokit/rest": "19.0.3", + "byte-size": "7.0.0", + "chalk": "4.1.0", + "clone-deep": "4.0.1", + "cmd-shim": "5.0.0", + "columnify": "1.6.0", + "config-chain": "1.1.12", + "conventional-changelog-core": "4.2.4", + "conventional-recommended-bump": "6.1.0", + "cosmiconfig": "7.0.0", + "dedent": "0.7.0", + "dot-prop": "6.0.1", + "execa": "5.0.0", + "file-url": "3.0.0", + "find-up": "5.0.0", + "fs-extra": "9.1.0", + "get-port": "5.1.1", + "get-stream": "6.0.0", + "git-url-parse": "13.1.0", + "glob-parent": "5.1.2", + "globby": "11.1.0", + "graceful-fs": "4.2.10", + "has-unicode": "2.0.1", + "inquirer": "8.2.4", + "is-ci": "2.0.0", + "is-stream": "2.0.0", + "libnpmpublish": "6.0.4", + "load-json-file": "6.2.0", + "make-dir": "3.1.0", + "minimatch": "3.0.5", + "multimatch": "5.0.0", + "node-fetch": "2.6.7", + "npm-package-arg": "8.1.1", + "npm-packlist": "5.1.1", + "npm-registry-fetch": "14.0.3", + "npmlog": "6.0.2", + "p-map": "4.0.0", + "p-map-series": "2.1.0", + "p-queue": "6.6.2", + "p-waterfall": "2.1.1", + "pacote": "13.6.2", + "pify": "5.0.0", + "pretty-format": "29.4.3", + "read-cmd-shim": "3.0.0", + "read-package-json": "5.0.1", + "resolve-from": "5.0.0", + "semver": "7.3.8", + "signal-exit": "3.0.7", + "slash": "3.0.0", + "ssri": "9.0.1", + "strong-log-transformer": "2.1.0", + "tar": "6.1.11", + "temp-dir": "1.0.0", + "tempy": "1.0.0", + "upath": "2.0.1", + "uuid": "8.3.2", + "write-file-atomic": "4.0.1", + "write-pkg": "4.0.0", + "yargs": "16.2.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/querystring-parser": { - "version": "3.310.0", + "node_modules/@lerna/legacy-package-management/node_modules/chalk": { + "version": "4.1.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/service-error-classification": { - "version": "3.310.0", + "node_modules/@lerna/legacy-package-management/node_modules/cliui": { + "version": "7.0.4", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=14.0.0" + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.310.0", + "node_modules/@lerna/legacy-package-management/node_modules/execa": { + "version": "5.0.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/signature-v4": { - "version": "3.310.0", + "node_modules/@lerna/legacy-package-management/node_modules/get-stream": { + "version": "6.0.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/is-array-buffer": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/smithy-client": { - "version": "3.310.0", + "node_modules/@lerna/legacy-package-management/node_modules/glob-parent": { + "version": "5.1.2", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">= 6" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/token-providers": { - "version": "3.310.0", + "node_modules/@lerna/legacy-package-management/node_modules/inquirer": { + "version": "8.2.4", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/client-sso-oidc": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=12.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/types": { - "version": "3.310.0", + "node_modules/@lerna/legacy-package-management/node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/url-parser": { - "version": "3.310.0", + "node_modules/@lerna/legacy-package-management/node_modules/is-stream": { + "version": "2.0.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/querystring-parser": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/util-base64": { - "version": "3.310.0", + "node_modules/@lerna/legacy-package-management/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@aws-sdk/util-buffer-from": "3.310.0", - "tslib": "^2.5.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/@lerna/legacy-package-management/node_modules/minimatch": { + "version": "3.0.5", + "dev": true, + "license": "ISC", "dependencies": { - "tslib": "^2.5.0" + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/util-body-length-node": { - "version": "3.310.0", + "node_modules/@lerna/legacy-package-management/node_modules/semver": { + "version": "7.3.8", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "tslib": "^2.5.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/util-buffer-from": { - "version": "3.310.0", + "node_modules/@lerna/legacy-package-management/node_modules/uuid": { + "version": "8.3.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@lerna/legacy-package-management/node_modules/write-file-atomic": { + "version": "4.0.1", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/is-array-buffer": "3.310.0", - "tslib": "^2.5.0" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": ">=14.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/util-config-provider": { - "version": "3.310.0", + "node_modules/@lerna/legacy-package-management/node_modules/yargs": { + "version": "16.2.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.310.0", + "node_modules/@middy/core": { + "version": "3.6.2", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">= 10.0.0" + "node": ">= 8" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.310.0", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/credential-provider-imds": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">= 10.0.0" + "node": ">= 8" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/util-endpoints": { - "version": "3.310.0", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 8" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.310.0", + "node_modules/@npmcli/arborist": { + "version": "6.2.3", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "tslib": "^2.5.0" + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/fs": "^3.1.0", + "@npmcli/installed-package-contents": "^2.0.0", + "@npmcli/map-workspaces": "^3.0.2", + "@npmcli/metavuln-calculator": "^5.0.0", + "@npmcli/name-from-folder": "^2.0.0", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^3.0.0", + "@npmcli/query": "^3.0.0", + "@npmcli/run-script": "^6.0.0", + "bin-links": "^4.0.1", + "cacache": "^17.0.4", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^6.1.1", + "json-parse-even-better-errors": "^3.0.0", + "json-stringify-nice": "^1.1.4", + "minimatch": "^6.1.6", + "nopt": "^7.0.0", + "npm-install-checks": "^6.0.0", + "npm-package-arg": "^10.1.0", + "npm-pick-manifest": "^8.0.1", + "npm-registry-fetch": "^14.0.3", + "npmlog": "^7.0.1", + "pacote": "^15.0.8", + "parse-conflict-json": "^3.0.0", + "proc-log": "^3.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^1.0.1", + "read-package-json-fast": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^10.0.1", + "treeverse": "^3.0.0", + "walk-up-path": "^1.0.0" + }, + "bin": { + "arborist": "bin/index.js" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/util-middleware": { - "version": "3.310.0", + "node_modules/@npmcli/arborist/node_modules/@npmcli/git": { + "version": "4.0.4", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "tslib": "^2.5.0" + "@npmcli/promise-spawn": "^6.0.0", + "lru-cache": "^7.4.4", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^3.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/util-retry": { - "version": "3.310.0", + "node_modules/@npmcli/arborist/node_modules/@npmcli/promise-spawn": { + "version": "6.0.2", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@aws-sdk/service-error-classification": "3.310.0", - "tslib": "^2.5.0" + "which": "^3.0.0" }, "engines": { - "node": ">= 14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/util-uri-escape": { - "version": "3.310.0", + "node_modules/@npmcli/arborist/node_modules/@npmcli/run-script": { + "version": "6.0.0", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "tslib": "^2.5.0" + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.310.0", + "node_modules/@npmcli/arborist/node_modules/are-we-there-yet": { + "version": "4.0.0", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@aws-sdk/types": "3.310.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" + "delegates": "^1.0.0", + "readable-stream": "^4.1.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.310.0", + "node_modules/@npmcli/arborist/node_modules/brace-expansion": { + "version": "2.0.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "aws-crt": ">=1.0.0" - }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } + "balanced-match": "^1.0.0" } }, - "node_modules/@aws-sdk/client-xray/node_modules/fast-xml-parser": { - "version": "4.1.2", + "node_modules/@npmcli/arborist/node_modules/buffer": { + "version": "6.0.3", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" - }, - "funding": { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/@aws-sdk/client-xray/node_modules/uuid": { - "version": "8.3.2", + "node_modules/@npmcli/arborist/node_modules/events": { + "version": "3.3.0", "dev": true, "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "engines": { + "node": ">=0.8.x" } }, - "node_modules/@aws-sdk/config-resolver": { - "version": "3.234.0", - "license": "Apache-2.0", + "node_modules/@npmcli/arborist/node_modules/gauge": { + "version": "5.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/signature-v4": "3.226.0", - "@aws-sdk/types": "3.226.0", - "@aws-sdk/util-config-provider": "3.208.0", - "@aws-sdk/util-middleware": "3.226.0", - "tslib": "^2.3.1" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/arborist/node_modules/glob": { + "version": "9.3.2", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/property-provider": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "fs.realpath": "^1.0.0", + "minimatch": "^7.4.1", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.226.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/node-config-provider": "3.226.0", - "@aws-sdk/property-provider": "3.226.0", - "@aws-sdk/types": "3.226.0", - "@aws-sdk/url-parser": "3.226.0", - "tslib": "^2.3.1" + "node": ">=16 || 14 >=14.17" }, - "engines": { - "node": ">=14.0.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.245.0", - "license": "Apache-2.0", + "node_modules/@npmcli/arborist/node_modules/glob/node_modules/minimatch": { + "version": "7.4.3", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/credential-provider-env": "3.226.0", - "@aws-sdk/credential-provider-imds": "3.226.0", - "@aws-sdk/credential-provider-process": "3.226.0", - "@aws-sdk/credential-provider-sso": "3.245.0", - "@aws-sdk/credential-provider-web-identity": "3.226.0", - "@aws-sdk/property-provider": "3.226.0", - "@aws-sdk/shared-ini-file-loader": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.245.0", - "license": "Apache-2.0", + "node_modules/@npmcli/arborist/node_modules/ieee754": { + "version": "1.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/@npmcli/arborist/node_modules/ignore-walk": { + "version": "6.0.2", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/credential-provider-env": "3.226.0", - "@aws-sdk/credential-provider-imds": "3.226.0", - "@aws-sdk/credential-provider-ini": "3.245.0", - "@aws-sdk/credential-provider-process": "3.226.0", - "@aws-sdk/credential-provider-sso": "3.245.0", - "@aws-sdk/credential-provider-web-identity": "3.226.0", - "@aws-sdk/property-provider": "3.226.0", - "@aws-sdk/shared-ini-file-loader": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "minimatch": "^7.4.2" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/arborist/node_modules/ignore-walk/node_modules/minimatch": { + "version": "7.4.3", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/property-provider": "3.226.0", - "@aws-sdk/shared-ini-file-loader": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.245.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/client-sso": "3.245.0", - "@aws-sdk/property-provider": "3.226.0", - "@aws-sdk/shared-ini-file-loader": "3.226.0", - "@aws-sdk/token-providers": "3.245.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" - }, + "node_modules/@npmcli/arborist/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/arborist/node_modules/minimatch": { + "version": "6.2.0", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/property-provider": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@aws-sdk/endpoint-cache": { - "version": "3.208.0", - "license": "Apache-2.0", + "node_modules/@npmcli/arborist/node_modules/normalize-package-data": { + "version": "5.0.0", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "mnemonist": "0.38.3", - "tslib": "^2.3.1" + "hosted-git-info": "^6.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/eventstream-codec": { - "version": "3.310.0", + "node_modules/@npmcli/arborist/node_modules/npm-package-arg": { + "version": "10.1.0", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@aws-crypto/crc32": "3.0.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "tslib": "^2.5.0" + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/eventstream-codec/node_modules/@aws-sdk/types": { - "version": "3.310.0", + "node_modules/@npmcli/arborist/node_modules/npm-packlist": { + "version": "7.0.4", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "tslib": "^2.5.0" + "ignore-walk": "^6.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/eventstream-codec/node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.310.0", + "node_modules/@npmcli/arborist/node_modules/npmlog": { + "version": "7.0.1", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "tslib": "^2.5.0" + "are-we-there-yet": "^4.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^5.0.0", + "set-blocking": "^2.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/eventstream-serde-browser": { - "version": "3.310.0", + "node_modules/@npmcli/arborist/node_modules/pacote": { + "version": "15.1.1", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@aws-sdk/eventstream-serde-universal": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^4.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^1.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/eventstream-serde-browser/node_modules/@aws-sdk/types": { - "version": "3.310.0", + "node_modules/@npmcli/arborist/node_modules/read-package-json": { + "version": "6.0.1", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "tslib": "^2.5.0" + "glob": "^9.3.0", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/eventstream-serde-config-resolver": { - "version": "3.310.0", + "node_modules/@npmcli/arborist/node_modules/readable-stream": { + "version": "4.3.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" }, "engines": { - "node": ">=14.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@aws-sdk/eventstream-serde-config-resolver/node_modules/@aws-sdk/types": { - "version": "3.310.0", + "node_modules/@npmcli/arborist/node_modules/ssri": { + "version": "10.0.1", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "tslib": "^2.5.0" + "minipass": "^4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/eventstream-serde-node": { - "version": "3.310.0", + "node_modules/@npmcli/arborist/node_modules/validate-npm-package-name": { + "version": "5.0.0", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@aws-sdk/eventstream-serde-universal": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "builtins": "^5.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/eventstream-serde-node/node_modules/@aws-sdk/types": { - "version": "3.310.0", + "node_modules/@npmcli/arborist/node_modules/which": { + "version": "3.0.0", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "tslib": "^2.5.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/eventstream-serde-universal": { - "version": "3.310.0", + "node_modules/@npmcli/fs": { + "version": "3.1.0", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@aws-sdk/eventstream-codec": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "semver": "^7.3.5" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/eventstream-serde-universal/node_modules/@aws-sdk/types": { - "version": "3.310.0", + "node_modules/@npmcli/git": { + "version": "3.0.2", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "tslib": "^2.5.0" + "@npmcli/promise-spawn": "^3.0.0", + "lru-cache": "^7.4.4", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" }, "engines": { - "node": ">=14.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/git/node_modules/hosted-git-info": { + "version": "5.2.1", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/querystring-builder": "3.226.0", - "@aws-sdk/types": "3.226.0", - "@aws-sdk/util-base64": "3.208.0", - "tslib": "^2.3.1" + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@aws-sdk/hash-node": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/git/node_modules/npm-install-checks": { + "version": "5.0.0", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@aws-sdk/types": "3.226.0", - "@aws-sdk/util-buffer-from": "3.208.0", - "tslib": "^2.3.1" + "semver": "^7.1.1" }, "engines": { - "node": ">=14.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.226.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "node_modules/@npmcli/git/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@aws-sdk/is-array-buffer": { - "version": "3.201.0", - "license": "Apache-2.0", + "node_modules/@npmcli/git/node_modules/npm-package-arg": { + "version": "9.1.2", + "dev": true, + "license": "ISC", "dependencies": { - "tslib": "^2.3.1" + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@aws-sdk/lib-dynamodb": { - "version": "3.235.0", - "license": "Apache-2.0", + "node_modules/@npmcli/git/node_modules/npm-pick-manifest": { + "version": "7.0.2", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/util-dynamodb": "3.235.0", - "tslib": "^2.3.1" + "npm-install-checks": "^5.0.0", + "npm-normalize-package-bin": "^2.0.0", + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-dynamodb": "^3.0.0", - "@aws-sdk/smithy-client": "^3.0.0", - "@aws-sdk/types": "^3.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.226.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" - }, + "node_modules/@npmcli/git/node_modules/proc-log": { + "version": "2.0.1", + "dev": true, + "license": "ISC", "engines": { - "node": ">=14.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@aws-sdk/middleware-endpoint": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/installed-package-contents": { + "version": "2.0.2", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/middleware-serde": "3.226.0", - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/signature-v4": "3.226.0", - "@aws-sdk/types": "3.226.0", - "@aws-sdk/url-parser": "3.226.0", - "@aws-sdk/util-config-provider": "3.208.0", - "@aws-sdk/util-middleware": "3.226.0", - "tslib": "^2.3.1" + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "lib/index.js" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/middleware-endpoint-discovery": { - "version": "3.234.0", - "license": "Apache-2.0", + "node_modules/@npmcli/map-workspaces": { + "version": "3.0.3", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/config-resolver": "3.234.0", - "@aws-sdk/endpoint-cache": "3.208.0", - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "@npmcli/name-from-folder": "^2.0.0", + "glob": "^9.3.1", + "minimatch": "^7.4.2", + "read-package-json-fast": "^3.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/map-workspaces/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" + "balanced-match": "^1.0.0" } }, - "node_modules/@aws-sdk/middleware-logger": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/map-workspaces/node_modules/glob": { + "version": "9.3.2", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "fs.realpath": "^1.0.0", + "minimatch": "^7.4.1", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/map-workspaces/node_modules/minimatch": { + "version": "7.4.3", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@aws-sdk/middleware-retry": { - "version": "3.235.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator": { + "version": "5.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/service-error-classification": "3.229.0", - "@aws-sdk/types": "3.226.0", - "@aws-sdk/util-middleware": "3.226.0", - "@aws-sdk/util-retry": "3.229.0", - "tslib": "^2.3.1", - "uuid": "^8.3.2" + "cacache": "^17.0.0", + "json-parse-even-better-errors": "^3.0.0", + "pacote": "^15.0.0", + "semver": "^7.3.5" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-retry/node_modules/uuid": { - "version": "8.3.2", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/@npmcli/git": { + "version": "4.0.4", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/middleware-signing": "3.226.0", - "@aws-sdk/property-provider": "3.226.0", - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/signature-v4": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "@npmcli/promise-spawn": "^6.0.0", + "lru-cache": "^7.4.4", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^3.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/middleware-serde": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/@npmcli/promise-spawn": { + "version": "6.0.2", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "which": "^3.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/middleware-signing": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/@npmcli/run-script": { + "version": "6.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/property-provider": "3.226.0", - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/signature-v4": "3.226.0", - "@aws-sdk/types": "3.226.0", - "@aws-sdk/util-middleware": "3.226.0", - "tslib": "^2.3.1" + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/middleware-stack": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" + "balanced-match": "^1.0.0" } }, - "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/glob": { + "version": "9.3.2", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "fs.realpath": "^1.0.0", + "minimatch": "^7.4.1", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@aws-sdk/node-config-provider": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/ignore-walk": { + "version": "6.0.2", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/property-provider": "3.226.0", - "@aws-sdk/shared-ini-file-loader": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "minimatch": "^7.4.2" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/node-http-handler": { - "version": "3.226.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/abort-controller": "3.226.0", - "@aws-sdk/protocol-http": "3.226.0", - "@aws-sdk/querystring-builder": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" - }, + "node_modules/@npmcli/metavuln-calculator/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/property-provider": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/minimatch": { + "version": "7.4.3", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/protocol-http": { - "version": "3.226.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "node": ">=10" }, - "engines": { - "node": ">=14.0.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@aws-sdk/querystring-builder": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/normalize-package-data": { + "version": "5.0.0", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@aws-sdk/types": "3.226.0", - "@aws-sdk/util-uri-escape": "3.201.0", - "tslib": "^2.3.1" + "hosted-git-info": "^6.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/querystring-parser": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/npm-package-arg": { + "version": "10.1.0", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/service-error-classification": { - "version": "3.229.0", - "license": "Apache-2.0", - "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/npm-packlist": { + "version": "7.0.4", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "ignore-walk": "^6.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/signature-v4": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/pacote": { + "version": "15.1.1", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/is-array-buffer": "3.201.0", - "@aws-sdk/types": "3.226.0", - "@aws-sdk/util-hex-encoding": "3.201.0", - "@aws-sdk/util-middleware": "3.226.0", - "@aws-sdk/util-uri-escape": "3.201.0", - "tslib": "^2.3.1" + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^4.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^1.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/smithy-client": { - "version": "3.234.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/read-package-json": { + "version": "6.0.1", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/middleware-stack": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "glob": "^9.3.0", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/token-providers": { - "version": "3.245.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/ssri": { + "version": "10.0.1", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/client-sso-oidc": "3.245.0", - "@aws-sdk/property-provider": "3.226.0", - "@aws-sdk/shared-ini-file-loader": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "minipass": "^4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/types": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/validate-npm-package-name": { + "version": "5.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "tslib": "^2.3.1" + "builtins": "^5.0.0" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/url-parser": { - "version": "3.226.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/querystring-parser": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/util-base64": { - "version": "3.208.0", - "license": "Apache-2.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/which": { + "version": "3.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/util-buffer-from": "3.208.0", - "tslib": "^2.3.1" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/util-base64-node": { - "version": "3.209.0", - "license": "Apache-2.0", + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/util-buffer-from": "3.208.0", - "tslib": "^2.3.1" + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=14.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.188.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.3.1" + "node_modules/@npmcli/name-from-folder": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/util-body-length-node": { - "version": "3.208.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.3.1" - }, + "node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "dev": true, + "license": "ISC", "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/util-buffer-from": { - "version": "3.208.0", - "license": "Apache-2.0", + "node_modules/@npmcli/package-json": { + "version": "3.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/is-array-buffer": "3.201.0", - "tslib": "^2.3.1" + "json-parse-even-better-errors": "^3.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/util-config-provider": { - "version": "3.208.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.3.1" - }, + "node_modules/@npmcli/package-json/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.234.0", - "license": "Apache-2.0", + "node_modules/@npmcli/promise-spawn": { + "version": "3.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/property-provider": "3.226.0", - "@aws-sdk/types": "3.226.0", - "bowser": "^2.11.0", - "tslib": "^2.3.1" + "infer-owner": "^1.0.4" }, "engines": { - "node": ">= 10.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.234.0", - "license": "Apache-2.0", + "node_modules/@npmcli/query": { + "version": "3.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/config-resolver": "3.234.0", - "@aws-sdk/credential-provider-imds": "3.226.0", - "@aws-sdk/node-config-provider": "3.226.0", - "@aws-sdk/property-provider": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "postcss-selector-parser": "^6.0.10" }, "engines": { - "node": ">= 10.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@aws-sdk/util-dynamodb": { - "version": "3.235.0", - "license": "Apache-2.0", + "node_modules/@npmcli/run-script": { + "version": "4.1.7", + "dev": true, + "license": "ISC", "dependencies": { - "tslib": "^2.3.1" + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^2.0.3", + "which": "^2.0.2" }, "engines": { - "node": ">=14.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@aws-sdk/util-endpoints": { - "version": "3.245.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" - }, + "node_modules/@npmcli/run-script/node_modules/@npmcli/node-gyp": { + "version": "2.0.0", + "dev": true, + "license": "ISC", "engines": { - "node": ">=14.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.201.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" - } + "node_modules/@npmcli/run-script/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "dev": true, + "license": "ISC" }, - "node_modules/@aws-sdk/util-locate-window": { - "version": "3.208.0", - "license": "Apache-2.0", + "node_modules/@npmcli/run-script/node_modules/read-package-json-fast": { + "version": "2.0.3", + "dev": true, + "license": "ISC", "dependencies": { - "tslib": "^2.3.1" + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" } }, - "node_modules/@aws-sdk/util-middleware": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@nrwl/cli": { + "version": "15.9.2", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" + "nx": "15.9.2" } }, - "node_modules/@aws-sdk/util-retry": { - "version": "3.229.0", - "license": "Apache-2.0", + "node_modules/@nrwl/devkit": { + "version": "15.9.2", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/service-error-classification": "3.229.0", - "tslib": "^2.3.1" + "ejs": "^3.1.7", + "ignore": "^5.0.4", + "semver": "7.3.4", + "tmp": "~0.2.1", + "tslib": "^2.3.0" }, - "engines": { - "node": ">= 14.0.0" + "peerDependencies": { + "nx": ">= 14.1 <= 16" } }, - "node_modules/@aws-sdk/util-uri-escape": { - "version": "3.201.0", - "license": "Apache-2.0", + "node_modules/@nrwl/devkit/node_modules/lru-cache": { + "version": "6.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "tslib": "^2.3.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.226.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.226.0", - "bowser": "^2.11.0", - "tslib": "^2.3.1" + "node": ">=10" } }, - "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@nrwl/devkit/node_modules/semver": { + "version": "7.3.4", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/node-config-provider": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" + "lru-cache": "^6.0.0" }, - "peerDependencies": { - "aws-crt": ">=1.0.0" + "bin": { + "semver": "bin/semver.js" }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } + "engines": { + "node": ">=10" } }, - "node_modules/@aws-sdk/util-utf8": { - "version": "3.310.0", + "node_modules/@nrwl/nx-linux-arm64-gnu": { + "version": "15.9.2", + "cpu": [ + "arm64" + ], "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/util-buffer-from": "3.310.0", - "tslib": "^2.5.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14.0.0" + "node": ">= 10" } }, - "node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.188.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.3.1" + "node_modules/@nrwl/nx-linux-arm64-musl": { + "version": "15.9.2", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@aws-sdk/util-utf8-node": { - "version": "3.208.0", - "license": "Apache-2.0", + "node_modules/@nrwl/tao": { + "version": "15.9.2", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/util-buffer-from": "3.208.0", - "tslib": "^2.3.1" + "nx": "15.9.2" }, - "engines": { - "node": ">=14.0.0" + "bin": { + "tao": "index.js" } }, - "node_modules/@aws-sdk/util-utf8/node_modules/@aws-sdk/is-array-buffer": { - "version": "3.310.0", + "node_modules/@octokit/auth-token": { + "version": "3.0.3", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "@octokit/types": "^9.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 14" } }, - "node_modules/@aws-sdk/util-utf8/node_modules/@aws-sdk/util-buffer-from": { - "version": "3.310.0", + "node_modules/@octokit/core": { + "version": "4.2.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/is-array-buffer": "3.310.0", - "tslib": "^2.5.0" + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 14" } }, - "node_modules/@aws-sdk/util-waiter": { - "version": "3.226.0", - "license": "Apache-2.0", + "node_modules/@octokit/endpoint": { + "version": "7.0.5", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/abort-controller": "3.226.0", - "@aws-sdk/types": "3.226.0", - "tslib": "^2.3.1" + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 14" } }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", + "node_modules/@octokit/graphql": { + "version": "5.0.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/highlight": "^7.18.6" + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 14" } }, - "node_modules/@babel/compat-data": { - "version": "7.20.5", + "node_modules/@octokit/openapi-types": { + "version": "16.0.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" }, - "node_modules/@babel/core": { - "version": "7.20.5", + "node_modules/@octokit/plugin-enterprise-rest": { + "version": "6.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-module-transforms": "^7.20.2", - "@babel/helpers": "^7.20.5", - "@babel/parser": "^7.20.5", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" + "@octokit/types": "^6.41.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 14" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" + "peerDependencies": { + "@octokit/core": ">=4" } }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "1.9.0", + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { + "version": "12.11.0", "dev": true, "license": "MIT" }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { + "version": "6.41.0", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^12.11.0" } }, - "node_modules/@babel/generator": { - "version": "7.20.5", + "node_modules/@octokit/plugin-request-log": { + "version": "1.0.4", "dev": true, "license": "MIT", - "dependencies": { - "@babel/types": "^7.20.5", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "@octokit/core": ">=3" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.0", + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "6.8.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.20.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" + "@octokit/types": "^8.1.1", + "deprecation": "^2.3.1" }, "engines": { - "node": ">=6.9.0" + "node": ">= 14" }, "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "@octokit/core": ">=3" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { + "version": "14.0.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" }, - "node_modules/@babel/helper-function-name": { - "version": "7.19.0", + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "8.2.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" + "@octokit/openapi-types": "^14.0.0" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", + "node_modules/@octokit/request": { + "version": "6.2.3", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 14" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", + "node_modules/@octokit/request-error": { + "version": "3.0.3", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 14" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.20.2", + "node_modules/@octokit/rest": { + "version": "19.0.3", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.2" + "@octokit/core": "^4.0.0", + "@octokit/plugin-paginate-rest": "^3.0.0", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^6.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 14" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.20.2", + "node_modules/@octokit/types": { + "version": "9.0.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=6.9.0" + "dependencies": { + "@octokit/openapi-types": "^16.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", + "node_modules/@parcel/watcher": { + "version": "2.0.4", "dev": true, + "hasInstallScript": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.20.2" + "node-addon-api": "^3.2.1", + "node-gyp-build": "^4.3.0" }, "engines": { - "node": ">=6.9.0" + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", + "node_modules/@pkgr/utils": { + "version": "2.3.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "cross-spawn": "^7.0.3", + "is-glob": "^4.0.3", + "open": "^8.4.0", + "picocolors": "^1.0.0", + "tiny-glob": "^0.2.9", + "tslib": "^2.4.0" }, "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", + "node_modules/@sigstore/protobuf-specs": { + "version": "0.1.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": ">=6.9.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", + "node_modules/@sinclair/typebox": { + "version": "0.24.51", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", + "node_modules/@sinonjs/fake-timers": { + "version": "9.1.2", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.7.0" } }, - "node_modules/@babel/helpers": { - "version": "7.20.6", + "node_modules/@sinonjs/samsam": { + "version": "7.0.1", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" - }, - "engines": { - "node": ">=6.9.0" + "@sinonjs/commons": "^2.0.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" } }, - "node_modules/@babel/highlight": { - "version": "7.18.6", + "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { + "version": "2.0.0", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" + "type-detect": "4.0.8" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", + "node_modules/@sinonjs/text-encoding": { + "version": "0.7.2", "dev": true, - "license": "MIT", + "license": "(Unlicense OR Apache-2.0)" + }, + "node_modules/@smithy/protocol-http": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.0.1.tgz", + "integrity": "sha512-9OrEn0WfOVtBNYJUjUAn9AOiJ4lzERCJJ/JeZs8E6yajTGxBaFRxUnNBHiNqoDJVg076hY36UmEnPx7xXrvUSg==", "dependencies": { - "color-convert": "^1.9.0" + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "dev": true, - "license": "MIT", + "node_modules/@smithy/types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.0.0.tgz", + "integrity": "sha512-kc1m5wPBHQCTixwuaOh9vnak/iJm21DrSf9UK6yDE5S3mQQ4u11pqAUiKWnlrZnYkeLfAI9UEHj9OaMT1v5Umg==", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "tslib": "^2.5.0" }, "engines": { - "node": ">=4" + "node": ">=14.0.0" } }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", + "node_modules/@tootallnate/once": { + "version": "1.1.2", "dev": true, "license": "MIT", - "dependencies": { - "color-name": "1.1.3" + "engines": { + "node": ">= 6" } }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", + "node_modules/@tsconfig/node10": { + "version": "1.0.9", "dev": true, "license": "MIT" }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", + "node_modules/@tsconfig/node12": { + "version": "1.0.11", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } + "license": "MIT" }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", + "node_modules/@tsconfig/node14": { + "version": "1.0.3", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", + "node_modules/@tsconfig/node16": { + "version": "1.0.3", "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/@babel/parser": { - "version": "7.20.5", + "node_modules/@tufjs/models": { + "version": "1.0.1", "dev": true, "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" + "dependencies": { + "minimatch": "^7.4.2" }, "engines": { - "node": ">=6.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "balanced-match": "^1.0.0" } }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "7.4.3", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "brace-expansion": "^2.0.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", + "node_modules/@types/aws-lambda": { + "version": "8.10.109", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "license": "MIT" }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", + "node_modules/@types/babel__core": { + "version": "7.1.20", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", + "node_modules/@types/babel__generator": { + "version": "7.6.4", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/types": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.18.6", + "node_modules/@types/babel__template": { + "version": "7.4.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", + "node_modules/@types/babel__traverse": { + "version": "7.18.3", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/types": "^7.3.0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "dev": true, + "node_modules/@types/cls-hooked": { + "version": "4.3.3", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/node": "*" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", + "node_modules/@types/graceful-fs": { + "version": "4.1.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/node": "*" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "license": "MIT" }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/istanbul-lib-report": "*" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", + "node_modules/@types/jest": { + "version": "29.2.4", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.20.0", + "node_modules/@types/jmespath": { + "version": "0.15.0", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "license": "MIT" }, - "node_modules/@babel/template": { - "version": "7.18.10", + "node_modules/@types/json-schema": { + "version": "7.0.11", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - }, - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" }, - "node_modules/@babel/traverse": { - "version": "7.20.5", + "node_modules/@types/json5": { + "version": "0.0.29", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.5", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.5", - "@babel/types": "^7.20.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", + "node_modules/@types/lodash": { + "version": "4.14.191", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/@babel/types": { - "version": "7.20.5", + "node_modules/@types/lodash.merge": { + "version": "4.6.7", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" + "@types/lodash": "*" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", + "node_modules/@types/minimatch": { + "version": "3.0.5", "dev": true, "license": "MIT" }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", + "node_modules/@types/minimist": { + "version": "1.2.2", "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } + "node_modules/@types/node": { + "version": "18.11.17", + "license": "MIT" }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.16.10", - "cpu": [ - "arm64" - ], + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/@eslint/eslintrc": { - "version": "1.4.0", + "node_modules/@types/parse-json": { + "version": "4.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } + "license": "MIT" }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", + "node_modules/@types/prettier": { + "version": "2.7.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/promise-retry": { + "version": "1.1.3", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "@types/retry": "*" } }, - "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { - "version": "0.4.1", + "node_modules/@types/retry": { + "version": "0.12.2", "dev": true, "license": "MIT" }, - "node_modules/@gar/promisify": { - "version": "1.1.3", + "node_modules/@types/semver": { + "version": "7.3.13", "dev": true, "license": "MIT" }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", + "node_modules/@types/sinon": { + "version": "10.0.13", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "@types/sinonjs__fake-timers": "*" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.2", "dev": true, - "license": "BSD-3-Clause" + "license": "MIT" }, - "node_modules/@hutson/parse-repository-url": { - "version": "3.0.2", + "node_modules/@types/stack-utils": { + "version": "2.0.1", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" }, - "node_modules/@isaacs/string-locale-compare": { - "version": "1.1.0", + "node_modules/@types/uuid": { + "version": "9.0.0", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", + "node_modules/@types/yargs": { + "version": "17.0.17", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" + "@types/yargs-parser": "*" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", + "node_modules/@types/yargs-parser": { + "version": "21.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } + "license": "MIT" }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.47.0", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@typescript-eslint/scope-manager": "5.47.0", + "@typescript-eslint/type-utils": "5.47.0", + "@typescript-eslint/utils": "5.47.0", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/@typescript-eslint/parser": { + "version": "5.47.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "p-locate": "^4.1.0" + "@typescript-eslint/scope-manager": "5.47.0", + "@typescript-eslint/types": "5.47.0", + "@typescript-eslint/typescript-estree": "5.47.0", + "debug": "^4.3.4" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.47.0", "dev": true, "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "@typescript-eslint/types": "5.47.0", + "@typescript-eslint/visitor-keys": "5.47.0" }, "engines": { - "node": ">=6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.47.0", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "@typescript-eslint/typescript-estree": "5.47.0", + "@typescript-eslint/utils": "5.47.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", + "node_modules/@typescript-eslint/types": { + "version": "5.47.0", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@jest/console": { - "version": "29.3.1", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.47.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "slash": "^3.0.0" + "@typescript-eslint/types": "5.47.0", + "@typescript-eslint/visitor-keys": "5.47.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@jest/core": { - "version": "29.3.1", + "node_modules/@typescript-eslint/utils": { + "version": "5.47.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^29.3.1", - "@jest/reporters": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.2.0", - "jest-config": "^29.3.1", - "jest-haste-map": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-resolve-dependencies": "^29.3.1", - "jest-runner": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "jest-watcher": "^29.3.1", - "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.47.0", + "@typescript-eslint/types": "5.47.0", + "@typescript-eslint/typescript-estree": "5.47.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@jest/environment": { - "version": "29.3.1", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.47.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-mock": "^29.3.1" + "@typescript-eslint/types": "5.47.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@jest/expect": { - "version": "29.3.1", + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause" + }, + "node_modules/@yarnpkg/parsers": { + "version": "3.0.0-rc.42", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "expect": "^29.3.1", - "jest-snapshot": "^29.3.1" + "js-yaml": "^3.10.0", + "tslib": "^2.4.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=14.15.0" } }, - "node_modules/@jest/expect-utils": { - "version": "29.3.1", + "node_modules/@yarnpkg/parsers/node_modules/argparse": { + "version": "1.0.10", "dev": true, "license": "MIT", "dependencies": { - "jest-get-type": "^29.2.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "sprintf-js": "~1.0.2" } }, - "node_modules/@jest/fake-timers": { - "version": "29.3.1", + "node_modules/@yarnpkg/parsers/node_modules/js-yaml": { + "version": "3.14.1", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.3.1", - "@sinonjs/fake-timers": "^9.1.2", - "@types/node": "*", - "jest-message-util": "^29.3.1", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@jest/globals": { - "version": "29.3.1", + "node_modules/@zkochan/js-yaml": { + "version": "0.0.6", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/expect": "^29.3.1", - "@jest/types": "^29.3.1", - "jest-mock": "^29.3.1" + "argparse": "^2.0.1" }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/abbrev": { + "version": "2.0.0", + "dev": true, + "license": "ISC", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@jest/reporters": { - "version": "29.3.1", + "node_modules/abort-controller": { + "version": "3.0.0", "dev": true, "license": "MIT", "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@jridgewell/trace-mapping": "^0.3.15", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "jest-worker": "^29.3.1", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" + "event-target-shim": "^5.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6.5" + } + }, + "node_modules/acorn": { + "version": "8.8.1", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@jest/schemas": { - "version": "29.4.3", + "node_modules/acorn-walk": { + "version": "8.2.0", "dev": true, "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.25.16" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.4.0" } }, - "node_modules/@jest/schemas/node_modules/@sinclair/typebox": { - "version": "0.25.24", + "node_modules/add-stream": { + "version": "1.0.0", "dev": true, "license": "MIT" }, - "node_modules/@jest/source-map": { - "version": "29.2.0", + "node_modules/agent-base": { + "version": "6.0.2", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.15", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "debug": "4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 6.0.0" } }, - "node_modules/@jest/test-result": { - "version": "29.3.1", + "node_modules/agentkeepalive": { + "version": "4.3.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "debug": "^4.1.0", + "depd": "^2.0.0", + "humanize-ms": "^1.2.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 8.0.0" } }, - "node_modules/@jest/test-sequencer": { - "version": "29.3.1", + "node_modules/aggregate-error": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "^29.3.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "slash": "^3.0.0" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@jest/transform": { - "version": "29.3.1", + "node_modules/ajv": { + "version": "8.11.2", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.3.1", - "@jridgewell/trace-mapping": "^0.3.15", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.3.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@jest/types": { - "version": "29.3.1", + "node_modules/ansi-colors": { + "version": "4.1.3", "dev": true, "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.0.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", + "node_modules/ansi-escapes": { + "version": "4.3.2", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "type-fest": "^0.21.3" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", "dev": true, - "license": "MIT", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=6.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", + "node_modules/ansi-regex": { + "version": "5.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "dev": true, - "license": "MIT" + "node_modules/ansi-sequence-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz", + "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==", + "dev": true }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", + "node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@lerna/child-process": { - "version": "6.6.1", + "node_modules/anymatch": { + "version": "3.1.3", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "chalk": "^4.1.0", - "execa": "^5.0.0", - "strong-log-transformer": "^2.1.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">= 8" } }, - "node_modules/@lerna/create": { - "version": "6.6.1", + "node_modules/aproba": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/archiver": { + "version": "5.3.1", "dev": true, "license": "MIT", "dependencies": { - "@lerna/child-process": "6.6.1", - "dedent": "^0.7.0", - "fs-extra": "^9.1.0", - "init-package-json": "^3.0.2", - "npm-package-arg": "8.1.1", - "p-reduce": "^2.1.0", - "pacote": "^13.6.1", - "pify": "^5.0.0", - "semver": "^7.3.4", - "slash": "^3.0.0", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^4.0.0", - "yargs-parser": "20.2.4" + "archiver-utils": "^2.1.0", + "async": "^3.2.3", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.0.0", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">= 10" } }, - "node_modules/@lerna/legacy-package-management": { - "version": "6.6.1", + "node_modules/archiver-utils": { + "version": "2.1.0", "dev": true, "license": "MIT", "dependencies": { - "@npmcli/arborist": "6.2.3", - "@npmcli/run-script": "4.1.7", - "@nrwl/devkit": ">=15.5.2 < 16", - "@octokit/rest": "19.0.3", - "byte-size": "7.0.0", - "chalk": "4.1.0", - "clone-deep": "4.0.1", - "cmd-shim": "5.0.0", - "columnify": "1.6.0", - "config-chain": "1.1.12", - "conventional-changelog-core": "4.2.4", - "conventional-recommended-bump": "6.1.0", - "cosmiconfig": "7.0.0", - "dedent": "0.7.0", - "dot-prop": "6.0.1", - "execa": "5.0.0", - "file-url": "3.0.0", - "find-up": "5.0.0", - "fs-extra": "9.1.0", - "get-port": "5.1.1", - "get-stream": "6.0.0", - "git-url-parse": "13.1.0", - "glob-parent": "5.1.2", - "globby": "11.1.0", - "graceful-fs": "4.2.10", - "has-unicode": "2.0.1", - "inquirer": "8.2.4", - "is-ci": "2.0.0", - "is-stream": "2.0.0", - "libnpmpublish": "6.0.4", - "load-json-file": "6.2.0", - "make-dir": "3.1.0", - "minimatch": "3.0.5", - "multimatch": "5.0.0", - "node-fetch": "2.6.7", - "npm-package-arg": "8.1.1", - "npm-packlist": "5.1.1", - "npm-registry-fetch": "14.0.3", - "npmlog": "6.0.2", - "p-map": "4.0.0", - "p-map-series": "2.1.0", - "p-queue": "6.6.2", - "p-waterfall": "2.1.1", - "pacote": "13.6.2", - "pify": "5.0.0", - "pretty-format": "29.4.3", - "read-cmd-shim": "3.0.0", - "read-package-json": "5.0.1", - "resolve-from": "5.0.0", - "semver": "7.3.8", - "signal-exit": "3.0.7", - "slash": "3.0.0", - "ssri": "9.0.1", - "strong-log-transformer": "2.1.0", - "tar": "6.1.11", - "temp-dir": "1.0.0", - "tempy": "1.0.0", - "upath": "2.0.1", - "uuid": "8.3.2", - "write-file-atomic": "4.0.1", - "write-pkg": "4.0.0", - "yargs": "16.2.0" + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">= 6" } }, - "node_modules/@lerna/legacy-package-management/node_modules/chalk": { - "version": "4.1.0", + "node_modules/archiver-utils/node_modules/readable-stream": { + "version": "2.3.7", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/@lerna/legacy-package-management/node_modules/cliui": { - "version": "7.0.4", + "node_modules/archiver-utils/node_modules/safe-buffer": { + "version": "5.1.2", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/@lerna/legacy-package-management/node_modules/execa": { - "version": "5.0.0", + "node_modules/are-we-there-yet": { + "version": "3.0.1", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/legacy-package-management/node_modules/get-stream": { - "version": "6.0.0", + "node_modules/arg": { + "version": "4.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-differ": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/@lerna/legacy-package-management/node_modules/glob-parent": { - "version": "5.1.2", + "node_modules/array-ify": { + "version": "1.0.0", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "node_modules/array-includes": { + "version": "3.1.6", + "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@lerna/legacy-package-management/node_modules/inquirer": { - "version": "8.2.4", + "node_modules/array-union": { + "version": "2.1.0", "dev": true, "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^7.0.0" - }, "engines": { - "node": ">=12.0.0" + "node": ">=8" } }, - "node_modules/@lerna/legacy-package-management/node_modules/inquirer/node_modules/chalk": { - "version": "4.1.2", + "node_modules/array.prototype.flat": { + "version": "1.3.1", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@lerna/legacy-package-management/node_modules/is-stream": { - "version": "2.0.0", + "node_modules/arrify": { + "version": "1.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/@lerna/legacy-package-management/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/ast-types": { + "version": "0.13.4", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "tslib": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/@lerna/legacy-package-management/node_modules/minimatch": { - "version": "3.0.5", + "node_modules/astral-regex": { + "version": "2.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "license": "MIT", "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/@lerna/legacy-package-management/node_modules/semver": { - "version": "7.3.8", + "node_modules/async": { + "version": "3.2.4", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "node_modules/async-hook-jl": { + "version": "1.7.6", + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "stack-chain": "^1.3.7" }, "engines": { - "node": ">=10" + "node": "^4.7 || >=6.9 || >=7.3" } }, - "node_modules/@lerna/legacy-package-management/node_modules/uuid": { - "version": "8.3.2", + "node_modules/asynckit": { + "version": "0.4.0", "dev": true, - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } + "license": "MIT" }, - "node_modules/@lerna/legacy-package-management/node_modules/write-file-atomic": { - "version": "4.0.1", + "node_modules/at-least-node": { + "version": "1.0.0", "dev": true, "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": ">= 4.0.0" } }, - "node_modules/@lerna/legacy-package-management/node_modules/yargs": { - "version": "16.2.0", + "node_modules/atomic-batcher": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", "dev": true, "license": "MIT", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@middy/core": { - "version": "3.6.2", - "license": "MIT", + "node_modules/aws-cdk": { + "version": "2.73.0", + "dev": true, + "license": "Apache-2.0", + "bin": { + "cdk": "bin/cdk" + }, "engines": { - "node": ">=14" + "node": ">= 14.15.0" + }, + "optionalDependencies": { + "fsevents": "2.3.2" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "license": "MIT", + "node_modules/aws-cdk-lib": { + "version": "2.73.0", + "bundleDependencies": [ + "@balena/dockerignore", + "case", + "fs-extra", + "ignore", + "jsonschema", + "minimatch", + "punycode", + "semver", + "table", + "yaml" + ], + "license": "Apache-2.0", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@aws-cdk/asset-awscli-v1": "^2.2.97", + "@aws-cdk/asset-kubectl-v20": "^2.1.1", + "@aws-cdk/asset-node-proxy-agent-v5": "^2.0.77", + "@balena/dockerignore": "^1.0.2", + "case": "1.6.3", + "fs-extra": "^9.1.0", + "ignore": "^5.2.4", + "jsonschema": "^1.4.1", + "minimatch": "^3.1.2", + "punycode": "^2.3.0", + "semver": "^7.3.8", + "table": "^6.8.1", + "yaml": "1.10.2" }, "engines": { - "node": ">= 8" + "node": ">= 14.15.0" + }, + "peerDependencies": { + "constructs": "^10.0.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } + "node_modules/aws-cdk-lib/node_modules/@balena/dockerignore": { + "version": "1.0.2", + "inBundle": true, + "license": "Apache-2.0" }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, + "node_modules/aws-cdk-lib/node_modules/ajv": { + "version": "8.12.0", + "inBundle": true, "license": "MIT", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">= 8" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@npmcli/arborist": { - "version": "6.2.3", - "dev": true, - "license": "ISC", + "node_modules/aws-cdk-lib/node_modules/ansi-regex": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/aws-cdk-lib/node_modules/ansi-styles": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", "dependencies": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/fs": "^3.1.0", - "@npmcli/installed-package-contents": "^2.0.0", - "@npmcli/map-workspaces": "^3.0.2", - "@npmcli/metavuln-calculator": "^5.0.0", - "@npmcli/name-from-folder": "^2.0.0", - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^3.0.0", - "@npmcli/query": "^3.0.0", - "@npmcli/run-script": "^6.0.0", - "bin-links": "^4.0.1", - "cacache": "^17.0.4", - "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^6.1.1", - "json-parse-even-better-errors": "^3.0.0", - "json-stringify-nice": "^1.1.4", - "minimatch": "^6.1.6", - "nopt": "^7.0.0", - "npm-install-checks": "^6.0.0", - "npm-package-arg": "^10.1.0", - "npm-pick-manifest": "^8.0.1", - "npm-registry-fetch": "^14.0.3", - "npmlog": "^7.0.1", - "pacote": "^15.0.8", - "parse-conflict-json": "^3.0.0", - "proc-log": "^3.0.0", - "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^1.0.1", - "read-package-json-fast": "^3.0.2", - "semver": "^7.3.7", - "ssri": "^10.0.1", - "treeverse": "^3.0.0", - "walk-up-path": "^1.0.0" + "color-convert": "^2.0.1" }, - "bin": { - "arborist": "bin/index.js" + "engines": { + "node": ">=8" }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aws-cdk-lib/node_modules/astral-regex": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@npmcli/arborist/node_modules/@npmcli/git": { - "version": "4.0.4", - "dev": true, + "node_modules/aws-cdk-lib/node_modules/at-least-node": { + "version": "1.0.0", + "inBundle": true, "license": "ISC", - "dependencies": { - "@npmcli/promise-spawn": "^6.0.0", - "lru-cache": "^7.4.4", - "npm-pick-manifest": "^8.0.0", - "proc-log": "^3.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^3.0.0" - }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 4.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/@npmcli/promise-spawn": { - "version": "6.0.2", - "dev": true, - "license": "ISC", + "node_modules/aws-cdk-lib/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", "dependencies": { - "which": "^3.0.0" - }, + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/aws-cdk-lib/node_modules/case": { + "version": "1.6.3", + "inBundle": true, + "license": "(MIT OR GPL-3.0-or-later)", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 0.8.0" } }, - "node_modules/@npmcli/arborist/node_modules/@npmcli/run-script": { - "version": "6.0.0", - "dev": true, - "license": "ISC", + "node_modules/aws-cdk-lib/node_modules/color-convert": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", "dependencies": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/promise-spawn": "^6.0.0", - "node-gyp": "^9.0.0", - "read-package-json-fast": "^3.0.0", - "which": "^3.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=7.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/are-we-there-yet": { - "version": "4.0.0", - "dev": true, - "license": "ISC", + "node_modules/aws-cdk-lib/node_modules/color-name": { + "version": "1.1.4", + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/concat-map": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/emoji-regex": { + "version": "8.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/fast-deep-equal": { + "version": "3.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/fs-extra": { + "version": "9.1.0", + "inBundle": true, + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^4.1.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/@npmcli/arborist/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, + "node_modules/aws-cdk-lib/node_modules/graceful-fs": { + "version": "4.2.10", + "inBundle": true, + "license": "ISC" + }, + "node_modules/aws-cdk-lib/node_modules/ignore": { + "version": "5.2.4", + "inBundle": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">= 4" } }, - "node_modules/@npmcli/arborist/node_modules/buffer": { - "version": "6.0.3", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/aws-cdk-lib/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/aws-cdk-lib/node_modules/json-schema-traverse": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/jsonfile": { + "version": "6.1.0", + "inBundle": true, "license": "MIT", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@npmcli/arborist/node_modules/events": { - "version": "3.3.0", - "dev": true, + "node_modules/aws-cdk-lib/node_modules/jsonschema": { + "version": "1.4.1", + "inBundle": true, "license": "MIT", "engines": { - "node": ">=0.8.x" + "node": "*" } }, - "node_modules/@npmcli/arborist/node_modules/gauge": { - "version": "5.0.0", - "dev": true, + "node_modules/aws-cdk-lib/node_modules/lodash.truncate": { + "version": "4.4.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, "license": "ISC", "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "yallist": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/@npmcli/arborist/node_modules/glob": { - "version": "9.3.2", - "dev": true, + "node_modules/aws-cdk-lib/node_modules/minimatch": { + "version": "3.1.2", + "inBundle": true, "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^7.4.1", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "*" } }, - "node_modules/@npmcli/arborist/node_modules/glob/node_modules/minimatch": { - "version": "7.4.3", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "node_modules/aws-cdk-lib/node_modules/punycode": { + "version": "2.3.0", + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=6" } }, - "node_modules/@npmcli/arborist/node_modules/ieee754": { - "version": "1.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" + "node_modules/aws-cdk-lib/node_modules/require-from-string": { + "version": "2.0.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/@npmcli/arborist/node_modules/ignore-walk": { - "version": "6.0.2", - "dev": true, + "node_modules/aws-cdk-lib/node_modules/semver": { + "version": "7.3.8", + "inBundle": true, "license": "ISC", "dependencies": { - "minimatch": "^7.4.2" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/@npmcli/arborist/node_modules/ignore-walk/node_modules/minimatch": { - "version": "7.4.3", - "dev": true, - "license": "ISC", + "node_modules/aws-cdk-lib/node_modules/slice-ansi": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/@npmcli/arborist/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "dev": true, + "node_modules/aws-cdk-lib/node_modules/string-width": { + "version": "4.2.3", + "inBundle": true, "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@npmcli/arborist/node_modules/minimatch": { - "version": "6.2.0", - "dev": true, - "license": "ISC", + "node_modules/aws-cdk-lib/node_modules/strip-ansi": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" + } + }, + "node_modules/aws-cdk-lib/node_modules/table": { + "version": "6.8.1", + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=10.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/normalize-package-data": { - "version": "5.0.0", - "dev": true, + "node_modules/aws-cdk-lib/node_modules/universalify": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/uri-js": { + "version": "4.4.1", + "inBundle": true, "license": "BSD-2-Clause", "dependencies": { - "hosted-git-info": "^6.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, + "punycode": "^2.1.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/aws-cdk-lib/node_modules/yaml": { + "version": "1.10.2", + "inBundle": true, + "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 6" } }, - "node_modules/@npmcli/arborist/node_modules/npm-package-arg": { - "version": "10.1.0", + "node_modules/aws-cdk/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, - "license": "ISC", - "dependencies": { - "hosted-git-info": "^6.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" - }, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/npm-packlist": { - "version": "7.0.4", + "node_modules/aws-sdk": { + "version": "2.1358.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1358.0.tgz", + "integrity": "sha512-ZolqFlnm0mDNgub7FGrVi7r5A1rw+58zZziKhlis3IxOtIpHdx4BQU5pH4htAMuD0Ct557p/dC/wmnZH/1Rc9Q==", "dev": true, - "license": "ISC", "dependencies": { - "ignore-walk": "^6.0.0" + "buffer": "4.9.2", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.16.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "util": "^0.12.4", + "uuid": "8.0.0", + "xml2js": "0.5.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 10.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/npmlog": { - "version": "7.0.1", + "node_modules/aws-sdk-client-mock": { + "version": "2.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "are-we-there-yet": "^4.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^5.0.0", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "@types/sinon": "^10.0.10", + "sinon": "^14.0.2", + "tslib": "^2.1.0" } }, - "node_modules/@npmcli/arborist/node_modules/pacote": { - "version": "15.1.1", + "node_modules/aws-sdk-client-mock-jest": { + "version": "2.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/git": "^4.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/promise-spawn": "^6.0.1", - "@npmcli/run-script": "^6.0.0", - "cacache": "^17.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^4.0.0", - "npm-package-arg": "^10.0.0", - "npm-packlist": "^7.0.0", - "npm-pick-manifest": "^8.0.0", - "npm-registry-fetch": "^14.0.0", - "proc-log": "^3.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^6.0.0", - "read-package-json-fast": "^3.0.0", - "sigstore": "^1.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "lib/bin.js" + "@types/jest": "^28.1.3", + "tslib": "^2.1.0" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "peerDependencies": { + "aws-sdk-client-mock": "2.0.1" } }, - "node_modules/@npmcli/arborist/node_modules/read-package-json": { - "version": "6.0.1", + "node_modules/aws-sdk-client-mock-jest/node_modules/@jest/expect-utils": { + "version": "28.1.3", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "glob": "^9.3.0", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^5.0.0", - "npm-normalize-package-bin": "^3.0.0" + "jest-get-type": "^28.0.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/readable-stream": { - "version": "4.3.0", + "node_modules/aws-sdk-client-mock-jest/node_modules/@jest/schemas": { + "version": "28.1.3", "dev": true, "license": "MIT", "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10" + "@sinclair/typebox": "^0.24.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/ssri": { - "version": "10.0.1", + "node_modules/aws-sdk-client-mock-jest/node_modules/@jest/types": { + "version": "28.1.3", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "minipass": "^4.0.0" + "@jest/schemas": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/validate-npm-package-name": { - "version": "5.0.0", + "node_modules/aws-sdk-client-mock-jest/node_modules/@types/jest": { + "version": "28.1.8", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "builtins": "^5.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "expect": "^28.0.0", + "pretty-format": "^28.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/which": { - "version": "3.0.0", + "node_modules/aws-sdk-client-mock-jest/node_modules/ansi-styles": { + "version": "5.2.0", "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/which.js" + "license": "MIT", + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aws-sdk-client-mock-jest/node_modules/diff-sequences": { + "version": "28.1.1", + "dev": true, + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/@npmcli/fs": { - "version": "3.1.0", + "node_modules/aws-sdk-client-mock-jest/node_modules/expect": { + "version": "28.1.3", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "semver": "^7.3.5" + "@jest/expect-utils": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/@npmcli/git": { - "version": "3.0.2", + "node_modules/aws-sdk-client-mock-jest/node_modules/jest-diff": { + "version": "28.1.3", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/promise-spawn": "^3.0.0", - "lru-cache": "^7.4.4", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^7.0.0", - "proc-log": "^2.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^2.0.2" + "chalk": "^4.0.0", + "diff-sequences": "^28.1.1", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/@npmcli/git/node_modules/hosted-git-info": { - "version": "5.2.1", + "node_modules/aws-sdk-client-mock-jest/node_modules/jest-get-type": { + "version": "28.0.2", "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^7.5.1" - }, + "license": "MIT", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/@npmcli/git/node_modules/npm-install-checks": { - "version": "5.0.0", + "node_modules/aws-sdk-client-mock-jest/node_modules/jest-matcher-utils": { + "version": "28.1.3", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "semver": "^7.1.1" + "chalk": "^4.0.0", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/@npmcli/git/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", + "node_modules/aws-sdk-client-mock-jest/node_modules/jest-message-util": { + "version": "28.1.3", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/@npmcli/git/node_modules/npm-package-arg": { - "version": "9.1.2", + "node_modules/aws-sdk-client-mock-jest/node_modules/jest-util": { + "version": "28.1.3", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/@npmcli/git/node_modules/npm-pick-manifest": { - "version": "7.0.2", + "node_modules/aws-sdk-client-mock-jest/node_modules/pretty-format": { + "version": "28.1.3", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "npm-install-checks": "^5.0.0", - "npm-normalize-package-bin": "^2.0.0", - "npm-package-arg": "^9.0.0", - "semver": "^7.3.5" + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/@npmcli/git/node_modules/proc-log": { - "version": "2.0.1", + "node_modules/aws-sdk/node_modules/uuid": { + "version": "8.0.0", "dev": true, - "license": "ISC", - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/@npmcli/installed-package-contents": { - "version": "2.0.2", - "dev": true, - "license": "ISC", + "node_modules/aws-xray-sdk-core": { + "version": "3.4.1", + "license": "Apache-2.0", "dependencies": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "bin": { - "installed-package-contents": "lib/index.js" + "@aws-sdk/service-error-classification": "^3.4.1", + "@aws-sdk/types": "^3.4.1", + "@types/cls-hooked": "^4.3.3", + "atomic-batcher": "^1.0.2", + "cls-hooked": "^4.2.2", + "semver": "^5.3.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 14.x" } }, - "node_modules/@npmcli/map-workspaces": { - "version": "3.0.3", - "dev": true, + "node_modules/aws-xray-sdk-core/node_modules/semver": { + "version": "5.7.1", "license": "ISC", - "dependencies": { - "@npmcli/name-from-folder": "^2.0.0", - "glob": "^9.3.1", - "minimatch": "^7.4.2", - "read-package-json-fast": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "bin": { + "semver": "bin/semver" } }, - "node_modules/@npmcli/map-workspaces/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/axios": { + "version": "1.2.4", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, - "node_modules/@npmcli/map-workspaces/node_modules/glob": { - "version": "9.3.2", + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^7.4.1", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 6" } }, - "node_modules/@npmcli/map-workspaces/node_modules/minimatch": { - "version": "7.4.3", + "node_modules/babel-jest": { + "version": "29.3.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "@jest/transform": "^29.3.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.2.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "node_modules/@npmcli/metavuln-calculator": { - "version": "5.0.0", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", "dev": true, - "license": "ISC", + "license": "BSD-3-Clause", "dependencies": { - "cacache": "^17.0.0", - "json-parse-even-better-errors": "^3.0.0", - "pacote": "^15.0.0", - "semver": "^7.3.5" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/@npmcli/git": { - "version": "4.0.4", + "node_modules/babel-plugin-jest-hoist": { + "version": "29.2.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/promise-spawn": "^6.0.0", - "lru-cache": "^7.4.4", - "npm-pick-manifest": "^8.0.0", - "proc-log": "^3.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^3.0.0" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/@npmcli/promise-spawn": { - "version": "6.0.2", + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "which": "^3.0.0" + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/@npmcli/run-script": { - "version": "6.0.0", + "node_modules/babel-preset-jest": { + "version": "29.2.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/promise-spawn": "^6.0.0", - "node-gyp": "^9.0.0", - "read-package-json-fast": "^3.0.0", - "which": "^3.0.0" + "babel-plugin-jest-hoist": "^29.2.0", + "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/balanced-match": { + "version": "1.0.2", "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } + "license": "MIT" }, - "node_modules/@npmcli/metavuln-calculator/node_modules/glob": { - "version": "9.3.2", + "node_modules/base64-js": { + "version": "1.5.1", "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^7.4.1", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "node_modules/@npmcli/metavuln-calculator/node_modules/ignore-walk": { - "version": "6.0.2", + "node_modules/before-after-hook": { + "version": "2.2.3", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/bin-links": { + "version": "4.0.1", "dev": true, "license": "ISC", "dependencies": { - "minimatch": "^7.4.2" + "cmd-shim": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "read-cmd-shim": "^4.0.0", + "write-file-atomic": "^5.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", + "node_modules/bin-links/node_modules/cmd-shim": { + "version": "6.0.1", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/minimatch": { - "version": "7.4.3", + "node_modules/bin-links/node_modules/read-cmd-shim": { + "version": "4.0.0", "dev": true, "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/normalize-package-data": { + "node_modules/bin-links/node_modules/write-file-atomic": { "version": "5.0.0", "dev": true, - "license": "BSD-2-Clause", + "license": "ISC", "dependencies": { - "hosted-git-info": "^6.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/npm-package-arg": { - "version": "10.1.0", + "node_modules/bl": { + "version": "4.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "hosted-git-info": "^6.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/npm-packlist": { - "version": "7.0.4", + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", "dev": true, - "license": "ISC", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", "dependencies": { - "ignore-walk": "^6.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/pacote": { - "version": "15.1.1", + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/git": "^4.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/promise-spawn": "^6.0.1", - "@npmcli/run-script": "^6.0.0", - "cacache": "^17.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^4.0.0", - "npm-package-arg": "^10.0.0", - "npm-packlist": "^7.0.0", - "npm-pick-manifest": "^8.0.0", - "npm-registry-fetch": "^14.0.0", - "proc-log": "^3.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^6.0.0", - "read-package-json-fast": "^3.0.0", - "sigstore": "^1.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "lib/bin.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/read-package-json": { - "version": "6.0.1", + "node_modules/braces": { + "version": "3.0.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "glob": "^9.3.0", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^5.0.0", - "npm-normalize-package-bin": "^3.0.0" + "fill-range": "^7.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/ssri": { - "version": "10.0.1", + "node_modules/browserslist": { + "version": "4.21.4", "dev": true, - "license": "ISC", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "license": "MIT", "dependencies": { - "minipass": "^4.0.0" + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "bin": { + "browserslist": "cli.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/validate-npm-package-name": { - "version": "5.0.0", + "node_modules/bs-logger": { + "version": "0.2.6", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "builtins": "^5.0.0" + "fast-json-stable-stringify": "2.x" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 6" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/which": { - "version": "3.0.0", + "node_modules/bser": { + "version": "2.1.1", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node-int64": "^0.4.0" } }, - "node_modules/@npmcli/move-file": { - "version": "2.0.1", + "node_modules/buffer": { + "version": "4.9.2", "dev": true, "license": "MIT", "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "node_modules/@npmcli/name-from-folder": { - "version": "2.0.0", + "node_modules/buffer-crc32": { + "version": "0.2.13", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "*" } }, - "node_modules/@npmcli/node-gyp": { - "version": "3.0.0", + "node_modules/buffer-from": { + "version": "1.1.2", + "license": "MIT" + }, + "node_modules/builtins": { + "version": "5.0.1", "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "license": "MIT", + "dependencies": { + "semver": "^7.0.0" } }, - "node_modules/@npmcli/package-json": { - "version": "3.0.0", + "node_modules/byte-size": { + "version": "7.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/@npmcli/package-json/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", + "node_modules/bytes": { + "version": "3.1.2", "dev": true, "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 0.8" } }, - "node_modules/@npmcli/promise-spawn": { - "version": "3.0.0", + "node_modules/cacache": { + "version": "17.0.5", "dev": true, "license": "ISC", "dependencies": { - "infer-owner": "^1.0.4" + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^9.3.1", + "lru-cache": "^7.7.1", + "minipass": "^4.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/query": { - "version": "3.0.0", + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "balanced-match": "^1.0.0" } }, - "node_modules/@npmcli/run-script": { - "version": "4.1.7", + "node_modules/cacache/node_modules/glob": { + "version": "9.3.2", "dev": true, "license": "ISC", "dependencies": { - "@npmcli/node-gyp": "^2.0.0", - "@npmcli/promise-spawn": "^3.0.0", - "node-gyp": "^9.0.0", - "read-package-json-fast": "^2.0.3", - "which": "^2.0.2" + "fs.realpath": "^1.0.0", + "minimatch": "^7.4.1", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@npmcli/run-script/node_modules/@npmcli/node-gyp": { - "version": "2.0.0", + "node_modules/cacache/node_modules/minimatch": { + "version": "7.4.3", "dev": true, "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@npmcli/run-script/node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/@npmcli/run-script/node_modules/read-package-json-fast": { - "version": "2.0.3", + "node_modules/cacache/node_modules/ssri": { + "version": "10.0.1", "dev": true, "license": "ISC", "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" + "minipass": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@nrwl/cli": { - "version": "15.9.2", + "node_modules/call-bind": { + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { - "nx": "15.9.2" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@nrwl/devkit": { - "version": "15.9.2", + "node_modules/callsites": { + "version": "3.1.0", "dev": true, "license": "MIT", - "dependencies": { - "ejs": "^3.1.7", - "ignore": "^5.0.4", - "semver": "7.3.4", - "tmp": "~0.2.1", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "nx": ">= 14.1 <= 16" + "engines": { + "node": ">=6" } }, - "node_modules/@nrwl/devkit/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/camelcase": { + "version": "5.3.1", "dev": true, - "license": "ISC", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nrwl/devkit/node_modules/semver": { - "version": "7.3.4", + "node_modules/caniuse-lite": { + "version": "1.0.30001439", "dev": true, - "license": "ISC", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/cdk-assets": { + "version": "2.72.1", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "lru-cache": "^6.0.0" + "@aws-cdk/cloud-assembly-schema": "2.72.1", + "@aws-cdk/cx-api": "2.72.1", + "archiver": "^5.3.1", + "aws-sdk": "^2.1329.0", + "glob": "^7.2.3", + "mime": "^2.6.0", + "yargs": "^16.2.0" }, "bin": { - "semver": "bin/semver.js" + "cdk-assets": "bin/cdk-assets", + "docker-credential-cdk-assets": "bin/docker-credential-cdk-assets" }, "engines": { - "node": ">=10" + "node": ">= 14.15.0" } }, - "node_modules/@nrwl/nx-linux-arm64-gnu": { - "version": "15.9.2", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nrwl/nx-linux-arm64-musl": { - "version": "15.9.2", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" + "node_modules/cdk-assets/node_modules/@aws-cdk/cloud-assembly-schema": { + "version": "2.72.1", + "bundleDependencies": [ + "jsonschema", + "semver" ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nrwl/tao": { - "version": "15.9.2", - "dev": true, - "license": "MIT", - "dependencies": { - "nx": "15.9.2" - }, - "bin": { - "tao": "index.js" - } - }, - "node_modules/@octokit/auth-token": { - "version": "3.0.3", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@octokit/types": "^9.0.0" + "jsonschema": "^1.4.1", + "semver": "^7.3.8" }, "engines": { - "node": ">= 14" + "node": ">= 14.15.0" } }, - "node_modules/@octokit/core": { - "version": "4.2.0", + "node_modules/cdk-assets/node_modules/@aws-cdk/cloud-assembly-schema/node_modules/jsonschema": { + "version": "1.4.1", "dev": true, + "inBundle": true, "license": "MIT", - "dependencies": { - "@octokit/auth-token": "^3.0.0", - "@octokit/graphql": "^5.0.0", - "@octokit/request": "^6.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - }, "engines": { - "node": ">= 14" + "node": "*" } }, - "node_modules/@octokit/endpoint": { - "version": "7.0.5", + "node_modules/cdk-assets/node_modules/@aws-cdk/cloud-assembly-schema/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 14" + "node": ">=10" } }, - "node_modules/@octokit/graphql": { - "version": "5.0.5", + "node_modules/cdk-assets/node_modules/@aws-cdk/cloud-assembly-schema/node_modules/semver": { + "version": "7.3.8", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", - "universal-user-agent": "^6.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 14" + "node": ">=10" } }, - "node_modules/@octokit/openapi-types": { - "version": "16.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@octokit/plugin-enterprise-rest": { - "version": "6.0.1", + "node_modules/cdk-assets/node_modules/@aws-cdk/cloud-assembly-schema/node_modules/yallist": { + "version": "4.0.0", "dev": true, - "license": "MIT" + "inBundle": true, + "license": "ISC" }, - "node_modules/@octokit/plugin-paginate-rest": { - "version": "3.1.0", + "node_modules/cdk-assets/node_modules/@aws-cdk/cx-api": { + "version": "2.72.1", + "bundleDependencies": [ + "semver" + ], "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@octokit/types": "^6.41.0" + "@aws-cdk/cloud-assembly-schema": "2.72.1", + "semver": "^7.3.8" }, "engines": { - "node": ">= 14" + "node": ">= 14.15.0" }, "peerDependencies": { - "@octokit/core": ">=4" + "@aws-cdk/cloud-assembly-schema": "2.72.1" } }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { - "version": "6.41.0", + "node_modules/cdk-assets/node_modules/@aws-cdk/cx-api/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "@octokit/openapi-types": "^12.11.0" - } - }, - "node_modules/@octokit/plugin-request-log": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@octokit/core": ">=3" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "6.8.1", + "node_modules/cdk-assets/node_modules/@aws-cdk/cx-api/node_modules/semver": { + "version": "7.3.8", "dev": true, - "license": "MIT", + "inBundle": true, + "license": "ISC", "dependencies": { - "@octokit/types": "^8.1.1", - "deprecation": "^2.3.1" + "lru-cache": "^6.0.0" }, - "engines": { - "node": ">= 14" + "bin": { + "semver": "bin/semver.js" }, - "peerDependencies": { - "@octokit/core": ">=3" + "engines": { + "node": ">=10" } }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { - "version": "14.0.0", + "node_modules/cdk-assets/node_modules/@aws-cdk/cx-api/node_modules/yallist": { + "version": "4.0.0", "dev": true, - "license": "MIT" + "inBundle": true, + "license": "ISC" }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { - "version": "8.2.1", + "node_modules/cdk-assets/node_modules/ansi-regex": { + "version": "5.0.1", "dev": true, "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^14.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/@octokit/request": { - "version": "6.2.3", + "node_modules/cdk-assets/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, "license": "MIT", "dependencies": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 14" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@octokit/request-error": { - "version": "3.0.3", + "node_modules/cdk-assets/node_modules/archiver": { + "version": "5.3.1", "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^9.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "archiver-utils": "^2.1.0", + "async": "^3.2.3", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.0.0", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" }, "engines": { - "node": ">= 14" + "node": ">= 10" } }, - "node_modules/@octokit/rest": { - "version": "19.0.3", + "node_modules/cdk-assets/node_modules/archiver-utils": { + "version": "2.1.0", "dev": true, "license": "MIT", "dependencies": { - "@octokit/core": "^4.0.0", - "@octokit/plugin-paginate-rest": "^3.0.0", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^6.0.0" + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" }, "engines": { - "node": ">= 14" + "node": ">= 6" } }, - "node_modules/@octokit/types": { - "version": "9.0.0", + "node_modules/cdk-assets/node_modules/archiver-utils/node_modules/readable-stream": { + "version": "2.3.8", "dev": true, "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^16.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/@parcel/watcher": { - "version": "2.0.4", + "node_modules/cdk-assets/node_modules/async": { + "version": "3.2.4", "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "node-addon-api": "^3.2.1", - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@pkgr/utils": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "is-glob": "^4.0.3", - "open": "^8.4.0", - "picocolors": "^1.0.0", - "tiny-glob": "^0.2.9", - "tslib": "^2.4.0" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } + "license": "MIT" }, - "node_modules/@sigstore/protobuf-specs": { - "version": "0.1.0", + "node_modules/cdk-assets/node_modules/balanced-match": { + "version": "1.0.2", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "license": "MIT" }, - "node_modules/@sinclair/typebox": { - "version": "0.24.51", + "node_modules/cdk-assets/node_modules/base64-js": { + "version": "1.5.1", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT" }, - "node_modules/@sinonjs/commons": { - "version": "1.8.6", + "node_modules/cdk-assets/node_modules/bl": { + "version": "4.1.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "type-detect": "4.0.8" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", + "node_modules/cdk-assets/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@sinonjs/commons": "^1.7.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@sinonjs/samsam": { - "version": "7.0.1", + "node_modules/cdk-assets/node_modules/buffer": { + "version": "5.7.1", "dev": true, - "license": "BSD-3-Clause", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", "dependencies": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { - "version": "2.0.0", + "node_modules/cdk-assets/node_modules/buffer-crc32": { + "version": "0.2.13", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" + "license": "MIT", + "engines": { + "node": "*" } }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.2", + "node_modules/cdk-assets/node_modules/cliui": { + "version": "7.0.4", "dev": true, - "license": "(Unlicense OR Apache-2.0)" + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", + "node_modules/cdk-assets/node_modules/color-convert": { + "version": "2.0.1", "dev": true, "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">= 6" + "node": ">=7.0.0" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", + "node_modules/cdk-assets/node_modules/color-name": { + "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", + "node_modules/cdk-assets/node_modules/compress-commons": { + "version": "4.1.1", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", + "node_modules/cdk-assets/node_modules/concat-map": { + "version": "0.0.1", "dev": true, "license": "MIT" }, - "node_modules/@tsconfig/node16": { + "node_modules/cdk-assets/node_modules/core-util-is": { "version": "1.0.3", "dev": true, "license": "MIT" }, - "node_modules/@tufjs/models": { - "version": "1.0.1", + "node_modules/cdk-assets/node_modules/crc-32": { + "version": "1.2.2", "dev": true, - "license": "MIT", - "dependencies": { - "minimatch": "^7.4.2" + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=0.8" } }, - "node_modules/@tufjs/models/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/cdk-assets/node_modules/crc32-stream": { + "version": "4.0.2", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@tufjs/models/node_modules/minimatch": { - "version": "7.4.3", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 10" } }, - "node_modules/@types/aws-lambda": { - "version": "8.10.109", + "node_modules/cdk-assets/node_modules/emoji-regex": { + "version": "8.0.0", "dev": true, "license": "MIT" }, - "node_modules/@types/babel__core": { - "version": "7.1.20", + "node_modules/cdk-assets/node_modules/end-of-stream": { + "version": "1.4.4", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "once": "^1.4.0" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", + "node_modules/cdk-assets/node_modules/escalade": { + "version": "3.1.1", "dev": true, "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/@types/babel__template": { - "version": "7.4.1", + "node_modules/cdk-assets/node_modules/fs-constants": { + "version": "1.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } + "license": "MIT" }, - "node_modules/@types/babel__traverse": { - "version": "7.18.3", + "node_modules/cdk-assets/node_modules/fs.realpath": { + "version": "1.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/cls-hooked": { - "version": "4.3.3", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } + "license": "ISC" }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", + "node_modules/cdk-assets/node_modules/get-caller-file": { + "version": "2.0.5", "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", + "node_modules/cdk-assets/node_modules/glob": { + "version": "7.2.3", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@types/istanbul-lib-coverage": "*" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", + "node_modules/cdk-assets/node_modules/graceful-fs": { + "version": "4.2.10", "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } + "license": "ISC" }, - "node_modules/@types/jest": { - "version": "29.2.4", + "node_modules/cdk-assets/node_modules/ieee754": { + "version": "1.2.1", "dev": true, - "license": "MIT", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/cdk-assets/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/@types/jmespath": { - "version": "0.15.0", + "node_modules/cdk-assets/node_modules/inherits": { + "version": "2.0.4", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/@types/json-schema": { - "version": "7.0.11", + "node_modules/cdk-assets/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/@types/json5": { - "version": "0.0.29", + "node_modules/cdk-assets/node_modules/isarray": { + "version": "1.0.0", "dev": true, "license": "MIT" }, - "node_modules/@types/lodash": { - "version": "4.14.191", + "node_modules/cdk-assets/node_modules/lazystream": { + "version": "1.0.1", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } }, - "node_modules/@types/lodash.merge": { - "version": "4.6.7", + "node_modules/cdk-assets/node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", "dev": true, "license": "MIT", "dependencies": { - "@types/lodash": "*" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/@types/minimatch": { - "version": "3.0.5", + "node_modules/cdk-assets/node_modules/lodash.defaults": { + "version": "4.2.0", "dev": true, "license": "MIT" }, - "node_modules/@types/minimist": { - "version": "1.2.2", + "node_modules/cdk-assets/node_modules/lodash.difference": { + "version": "4.5.0", "dev": true, "license": "MIT" }, - "node_modules/@types/node": { - "version": "18.11.17", - "license": "MIT" - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", + "node_modules/cdk-assets/node_modules/lodash.flatten": { + "version": "4.4.0", "dev": true, "license": "MIT" }, - "node_modules/@types/parse-json": { - "version": "4.0.0", + "node_modules/cdk-assets/node_modules/lodash.isplainobject": { + "version": "4.0.6", "dev": true, "license": "MIT" }, - "node_modules/@types/prettier": { - "version": "2.7.2", + "node_modules/cdk-assets/node_modules/lodash.union": { + "version": "4.6.0", "dev": true, "license": "MIT" }, - "node_modules/@types/promise-retry": { - "version": "1.1.3", + "node_modules/cdk-assets/node_modules/mime": { + "version": "2.6.0", "dev": true, "license": "MIT", - "dependencies": { - "@types/retry": "*" + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/@types/retry": { - "version": "0.12.2", + "node_modules/cdk-assets/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "license": "MIT" + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } }, - "node_modules/@types/semver": { - "version": "7.3.13", + "node_modules/cdk-assets/node_modules/normalize-path": { + "version": "3.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/@types/sinon": { - "version": "10.0.13", + "node_modules/cdk-assets/node_modules/once": { + "version": "1.4.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@types/sinonjs__fake-timers": "*" + "wrappy": "1" } }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.2", + "node_modules/cdk-assets/node_modules/path-is-absolute": { + "version": "1.0.1", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/@types/stack-utils": { + "node_modules/cdk-assets/node_modules/process-nextick-args": { "version": "2.0.1", "dev": true, "license": "MIT" }, - "node_modules/@types/uuid": { - "version": "9.0.0", + "node_modules/cdk-assets/node_modules/readable-stream": { + "version": "3.6.1", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cdk-assets/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.2.1", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT" }, - "node_modules/@types/yargs": { - "version": "17.0.17", + "node_modules/cdk-assets/node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.3.0", "dev": true, "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "safe-buffer": "~5.2.0" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", + "node_modules/cdk-assets/node_modules/readdir-glob": { + "version": "1.1.2", "dev": true, - "license": "MIT" + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.47.0", + "node_modules/cdk-assets/node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "5.47.0", - "@typescript-eslint/type-utils": "5.47.0", - "@typescript-eslint/utils": "5.47.0", - "debug": "^4.3.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "balanced-match": "^1.0.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "5.47.0", + "node_modules/cdk-assets/node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", "dev": true, - "license": "BSD-2-Clause", + "license": "ISC", "dependencies": { - "@typescript-eslint/scope-manager": "5.47.0", - "@typescript-eslint/types": "5.47.0", - "@typescript-eslint/typescript-estree": "5.47.0", - "debug": "^4.3.4" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=10" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.47.0", + "node_modules/cdk-assets/node_modules/require-directory": { + "version": "2.1.1", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.47.0", - "@typescript-eslint/visitor-keys": "5.47.0" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=0.10.0" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.47.0", + "node_modules/cdk-assets/node_modules/safe-buffer": { + "version": "5.1.2", "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "5.47.0", - "@typescript-eslint/utils": "5.47.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } + "license": "MIT" }, - "node_modules/@typescript-eslint/types": { - "version": "5.47.0", + "node_modules/cdk-assets/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.47.0", + "node_modules/cdk-assets/node_modules/string-width": { + "version": "4.2.3", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.47.0", - "@typescript-eslint/visitor-keys": "5.47.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=8" } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.47.0", + "node_modules/cdk-assets/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.47.0", - "@typescript-eslint/types": "5.47.0", - "@typescript-eslint/typescript-estree": "5.47.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" + "ansi-regex": "^5.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node": ">=8" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.47.0", + "node_modules/cdk-assets/node_modules/tar-stream": { + "version": "2.2.0", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.47.0", - "eslint-visitor-keys": "^3.3.0" + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=6" } }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", + "node_modules/cdk-assets/node_modules/util-deprecate": { + "version": "1.0.2", "dev": true, - "license": "BSD-2-Clause" + "license": "MIT" }, - "node_modules/@yarnpkg/parsers": { - "version": "3.0.0-rc.42", + "node_modules/cdk-assets/node_modules/wrap-ansi": { + "version": "7.0.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "js-yaml": "^3.10.0", - "tslib": "^2.4.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=14.15.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@yarnpkg/parsers/node_modules/argparse": { - "version": "1.0.10", + "node_modules/cdk-assets/node_modules/wrappy": { + "version": "1.0.2", "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } + "license": "ISC" }, - "node_modules/@yarnpkg/parsers/node_modules/js-yaml": { - "version": "3.14.1", + "node_modules/cdk-assets/node_modules/y18n": { + "version": "5.0.8", "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "license": "ISC", + "engines": { + "node": ">=10" } }, - "node_modules/@zkochan/js-yaml": { - "version": "0.0.6", + "node_modules/cdk-assets/node_modules/yargs": { + "version": "16.2.0", "dev": true, "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=10" } }, - "node_modules/abbrev": { - "version": "2.0.0", + "node_modules/cdk-assets/node_modules/yargs-parser": { + "version": "20.2.9", "dev": true, "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/abort-controller": { - "version": "3.0.0", + "node_modules/cdk-assets/node_modules/zip-stream": { + "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "event-target-shim": "^5.0.0" + "archiver-utils": "^2.1.0", + "compress-commons": "^4.1.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=6.5" + "node": ">= 10" } }, - "node_modules/acorn": { - "version": "8.8.1", + "node_modules/cdk-sample": { + "resolved": "examples/cdk", + "link": true + }, + "node_modules/centra": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/centra/-/centra-2.6.0.tgz", + "integrity": "sha512-dgh+YleemrT8u85QL11Z6tYhegAs3MMxsaWAq/oXeAmYJ7VxL3SI9TZtnfaEvNDMAPolj25FXIb3S+HCI4wQaQ==" + }, + "node_modules/chalk": { + "version": "4.1.2", "dev": true, "license": "MIT", - "bin": { - "acorn": "bin/acorn" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/acorn-walk": { - "version": "8.2.0", + "node_modules/char-regex": { + "version": "1.0.2", "dev": true, "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">=10" } }, - "node_modules/add-stream": { - "version": "1.0.0", + "node_modules/chardet": { + "version": "0.7.0", "dev": true, "license": "MIT" }, - "node_modules/agent-base": { - "version": "6.0.2", + "node_modules/charenc": { + "version": "0.0.2", "dev": true, - "license": "MIT", - "dependencies": { - "debug": "4" - }, + "license": "BSD-3-Clause", "engines": { - "node": ">= 6.0.0" + "node": "*" } }, - "node_modules/agentkeepalive": { - "version": "4.3.0", + "node_modules/chownr": { + "version": "2.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "depd": "^2.0.0", - "humanize-ms": "^1.2.1" - }, + "license": "ISC", "engines": { - "node": ">= 8.0.0" + "node": ">=10" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", + "node_modules/ci-info": { + "version": "3.7.0", "dev": true, "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/ajv": { - "version": "8.11.2", + "node_modules/cjs-module-lexer": { + "version": "1.2.2", "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } + "license": "MIT" }, - "node_modules/ansi-colors": { - "version": "4.1.3", + "node_modules/clean-stack": { + "version": "2.2.0", "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", + "node_modules/cli-cursor": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.21.3" + "restore-cursor": "^3.1.0" }, "engines": { "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.6.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", + "node_modules/cli-truncate": { + "version": "3.1.0", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" + }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/ansi-sequence-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz", - "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==", - "dev": true - }, - "node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/cli-truncate/node_modules/ansi-styles": { + "version": "6.2.1", "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/anymatch": { - "version": "3.1.3", + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "9.2.2", "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } + "license": "MIT" }, - "node_modules/aproba": { - "version": "2.0.0", + "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { + "version": "4.0.0", "dev": true, - "license": "ISC" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/archiver": { - "version": "5.3.1", + "node_modules/cli-truncate/node_modules/slice-ansi": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.3", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.0.0", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" }, "engines": { - "node": ">= 10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/archiver-utils": { - "version": "2.1.0", + "node_modules/cli-truncate/node_modules/string-width": { + "version": "5.1.2", "dev": true, "license": "MIT", "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">= 6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/archiver-utils/node_modules/readable-stream": { - "version": "2.3.7", + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.0.1", "dev": true, "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/archiver-utils/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.1.1", + "node_modules/cli-width": { + "version": "3.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" + "license": "ISC", + "engines": { + "node": ">= 10" } }, - "node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/cliui": { + "version": "8.0.1", "dev": true, "license": "ISC", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=12" } }, - "node_modules/arg": { - "version": "4.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/array-differ": { - "version": "3.0.0", + "node_modules/clone": { + "version": "1.0.4", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.8" } }, - "node_modules/array-ify": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/array-includes": { - "version": "3.1.6", + "node_modules/clone-deep": { + "version": "4.0.1", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/array-union": { - "version": "2.1.0", + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", "dev": true, "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "dev": true, - "license": "MIT", + "node_modules/cls-hooked": { + "version": "4.2.2", + "license": "BSD-2-Clause", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "async-hook-jl": "^1.7.6", + "emitter-listener": "^1.0.1", + "semver": "^5.4.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^4.7 || >=6.9 || >=7.3 || >=8.2.1" } }, - "node_modules/arrify": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/cls-hooked/node_modules/semver": { + "version": "5.7.1", + "license": "ISC", + "bin": { + "semver": "bin/semver" } }, - "node_modules/ast-types": { - "version": "0.13.4", + "node_modules/cmd-shim": { + "version": "5.0.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "tslib": "^2.0.1" + "mkdirp-infer-owner": "^2.0.0" }, "engines": { - "node": ">=4" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/astral-regex": { - "version": "2.0.0", + "node_modules/co": { + "version": "4.6.0", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/async": { - "version": "3.2.4", + "node_modules/collect-v8-coverage": { + "version": "1.0.1", "dev": true, "license": "MIT" }, - "node_modules/async-hook-jl": { - "version": "1.7.6", + "node_modules/color-convert": { + "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { - "stack-chain": "^1.3.7" + "color-name": "~1.1.4" }, "engines": { - "node": "^4.7 || >=6.9 || >=7.3" + "node": ">=7.0.0" } }, - "node_modules/asynckit": { - "version": "0.4.0", + "node_modules/color-name": { + "version": "1.1.4", "dev": true, "license": "MIT" }, - "node_modules/at-least-node": { - "version": "1.0.0", + "node_modules/color-support": { + "version": "1.1.3", "dev": true, "license": "ISC", - "engines": { - "node": ">= 4.0.0" + "bin": { + "color-support": "bin.js" } }, - "node_modules/atomic-batcher": { - "version": "1.0.2", + "node_modules/colorette": { + "version": "2.0.19", + "dev": true, "license": "MIT" }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", + "node_modules/columnify": { + "version": "1.6.0", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/aws-cdk": { - "version": "2.73.0", + "node_modules/combined-stream": { + "version": "1.0.8", "dev": true, - "license": "Apache-2.0", - "bin": { - "cdk": "bin/cdk" + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">= 14.15.0" - }, - "optionalDependencies": { - "fsevents": "2.3.2" + "node": ">= 0.8" } }, - "node_modules/aws-cdk-lib": { - "version": "2.73.0", - "bundleDependencies": [ - "@balena/dockerignore", - "case", - "fs-extra", - "ignore", - "jsonschema", - "minimatch", - "punycode", - "semver", - "table", - "yaml" - ], - "license": "Apache-2.0", - "dependencies": { - "@aws-cdk/asset-awscli-v1": "^2.2.97", - "@aws-cdk/asset-kubectl-v20": "^2.1.1", - "@aws-cdk/asset-node-proxy-agent-v5": "^2.0.77", - "@balena/dockerignore": "^1.0.2", - "case": "1.6.3", - "fs-extra": "^9.1.0", - "ignore": "^5.2.4", - "jsonschema": "^1.4.1", - "minimatch": "^3.1.2", - "punycode": "^2.3.0", - "semver": "^7.3.8", - "table": "^6.8.1", - "yaml": "1.10.2" - }, + "node_modules/commander": { + "version": "9.5.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "constructs": "^10.0.0" + "node": "^12.20.0 || >=14" } }, - "node_modules/aws-cdk-lib/node_modules/@balena/dockerignore": { - "version": "1.0.2", - "inBundle": true, - "license": "Apache-2.0" + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "dev": true, + "license": "ISC" }, - "node_modules/aws-cdk-lib/node_modules/ajv": { - "version": "8.12.0", - "inBundle": true, + "node_modules/compare-func": { + "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" } }, - "node_modules/aws-cdk-lib/node_modules/ansi-regex": { - "version": "5.0.1", - "inBundle": true, + "node_modules/compare-func/node_modules/dot-prop": { + "version": "5.3.0", + "dev": true, "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/aws-cdk-lib/node_modules/ansi-styles": { - "version": "4.3.0", - "inBundle": true, + "node_modules/compress-commons": { + "version": "4.1.1", + "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 10" } }, - "node_modules/aws-cdk-lib/node_modules/astral-regex": { + "node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-stream": { "version": "2.0.0", - "inBundle": true, + "dev": true, + "engines": [ + "node >= 6.0" + ], "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" } }, - "node_modules/aws-cdk-lib/node_modules/at-least-node": { - "version": "1.0.0", - "inBundle": true, - "license": "ISC", - "engines": { - "node": ">= 4.0.0" + "node_modules/config-chain": { + "version": "1.1.12", + "dev": true, + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" } }, - "node_modules/aws-cdk-lib/node_modules/balanced-match": { - "version": "1.0.2", - "inBundle": true, - "license": "MIT" + "node_modules/console-control-strings": { + "version": "1.1.0", + "dev": true, + "license": "ISC" }, - "node_modules/aws-cdk-lib/node_modules/brace-expansion": { - "version": "1.1.11", - "inBundle": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node_modules/constructs": { + "version": "10.1.196", + "license": "Apache-2.0", + "engines": { + "node": ">= 14.17.0" } }, - "node_modules/aws-cdk-lib/node_modules/case": { - "version": "1.6.3", - "inBundle": true, - "license": "(MIT OR GPL-3.0-or-later)", + "node_modules/conventional-changelog-angular": { + "version": "5.0.12", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" } }, - "node_modules/aws-cdk-lib/node_modules/color-convert": { - "version": "2.0.1", - "inBundle": true, + "node_modules/conventional-changelog-core": { + "version": "4.2.4", + "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=10" } }, - "node_modules/aws-cdk-lib/node_modules/color-name": { - "version": "1.1.4", - "inBundle": true, - "license": "MIT" - }, - "node_modules/aws-cdk-lib/node_modules/concat-map": { - "version": "0.0.1", - "inBundle": true, - "license": "MIT" - }, - "node_modules/aws-cdk-lib/node_modules/emoji-regex": { - "version": "8.0.0", - "inBundle": true, - "license": "MIT" - }, - "node_modules/aws-cdk-lib/node_modules/fast-deep-equal": { - "version": "3.1.3", - "inBundle": true, - "license": "MIT" + "node_modules/conventional-changelog-preset-loader": { + "version": "2.3.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } }, - "node_modules/aws-cdk-lib/node_modules/fs-extra": { - "version": "9.1.0", - "inBundle": true, + "node_modules/conventional-changelog-writer": { + "version": "5.0.1", + "dev": true, "license": "MIT", "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" }, "engines": { "node": ">=10" } }, - "node_modules/aws-cdk-lib/node_modules/graceful-fs": { - "version": "4.2.10", - "inBundle": true, - "license": "ISC" + "node_modules/conventional-changelog-writer/node_modules/semver": { + "version": "6.3.0", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/aws-cdk-lib/node_modules/ignore": { - "version": "5.2.4", - "inBundle": true, + "node_modules/conventional-commits-filter": { + "version": "2.0.7", + "dev": true, "license": "MIT", + "dependencies": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + }, "engines": { - "node": ">= 4" + "node": ">=10" } }, - "node_modules/aws-cdk-lib/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "inBundle": true, + "node_modules/conventional-commits-parser": { + "version": "3.2.4", + "dev": true, "license": "MIT", + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/aws-cdk-lib/node_modules/json-schema-traverse": { - "version": "1.0.0", - "inBundle": true, - "license": "MIT" - }, - "node_modules/aws-cdk-lib/node_modules/jsonfile": { + "node_modules/conventional-recommended-bump": { "version": "6.1.0", - "inBundle": true, + "dev": true, "license": "MIT", "dependencies": { - "universalify": "^2.0.0" + "concat-stream": "^2.0.0", + "conventional-changelog-preset-loader": "^2.3.4", + "conventional-commits-filter": "^2.0.7", + "conventional-commits-parser": "^3.2.0", + "git-raw-commits": "^2.0.8", + "git-semver-tags": "^4.1.1", + "meow": "^8.0.0", + "q": "^1.5.1" + }, + "bin": { + "conventional-recommended-bump": "cli.js" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/aws-cdk-lib/node_modules/jsonschema": { - "version": "1.4.1", - "inBundle": true, - "license": "MIT", "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/aws-cdk-lib/node_modules/lodash.truncate": { - "version": "4.4.2", - "inBundle": true, + "node_modules/convert-source-map": { + "version": "2.0.0", + "dev": true, "license": "MIT" }, - "node_modules/aws-cdk-lib/node_modules/lru-cache": { - "version": "6.0.0", - "inBundle": true, - "license": "ISC", + "node_modules/core-util-is": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "7.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" }, "engines": { "node": ">=10" } }, - "node_modules/aws-cdk-lib/node_modules/minimatch": { - "version": "3.1.2", - "inBundle": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" + "node_modules/crc-32": { + "version": "1.2.2", + "dev": true, + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" }, "engines": { - "node": "*" + "node": ">=0.8" } }, - "node_modules/aws-cdk-lib/node_modules/punycode": { - "version": "2.3.0", - "inBundle": true, + "node_modules/crc32-stream": { + "version": "4.0.2", + "dev": true, "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, "engines": { - "node": ">=6" + "node": ">= 10" } }, - "node_modules/aws-cdk-lib/node_modules/require-from-string": { - "version": "2.0.2", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "node_modules/create-require": { + "version": "1.1.1", + "dev": true, + "license": "MIT" }, - "node_modules/aws-cdk-lib/node_modules/semver": { - "version": "7.3.8", - "inBundle": true, - "license": "ISC", + "node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">= 8" } }, - "node_modules/aws-cdk-lib/node_modules/slice-ansi": { - "version": "4.0.0", - "inBundle": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, + "node_modules/crypt": { + "version": "0.0.2", + "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "node": "*" } }, - "node_modules/aws-cdk-lib/node_modules/string-width": { - "version": "4.2.3", - "inBundle": true, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { "node": ">=8" } }, - "node_modules/aws-cdk-lib/node_modules/strip-ansi": { - "version": "6.0.1", - "inBundle": true, + "node_modules/cssesc": { + "version": "3.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/aws-cdk-lib/node_modules/table": { - "version": "6.8.1", - "inBundle": true, - "license": "BSD-3-Clause", - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" + "bin": { + "cssesc": "bin/cssesc" }, "engines": { - "node": ">=10.0.0" + "node": ">=4" } }, - "node_modules/aws-cdk-lib/node_modules/universalify": { - "version": "2.0.0", - "inBundle": true, + "node_modules/dargs": { + "version": "7.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/aws-cdk-lib/node_modules/uri-js": { - "version": "4.4.1", - "inBundle": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" + "node": ">=8" } }, - "node_modules/aws-cdk-lib/node_modules/yallist": { - "version": "4.0.0", - "inBundle": true, - "license": "ISC" - }, - "node_modules/aws-cdk-lib/node_modules/yaml": { - "version": "1.10.2", - "inBundle": true, - "license": "ISC", + "node_modules/data-uri-to-buffer": { + "version": "3.0.1", + "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, - "node_modules/aws-cdk/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "node_modules/dateformat": { + "version": "3.0.3", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], + "license": "MIT", "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": "*" } }, - "node_modules/aws-sdk": { - "version": "2.1358.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1358.0.tgz", - "integrity": "sha512-ZolqFlnm0mDNgub7FGrVi7r5A1rw+58zZziKhlis3IxOtIpHdx4BQU5pH4htAMuD0Ct557p/dC/wmnZH/1Rc9Q==", + "node_modules/debug": { + "version": "4.3.4", "dev": true, + "license": "MIT", "dependencies": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.5.0" + "ms": "2.1.2" }, "engines": { - "node": ">= 10.0.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/aws-sdk-client-mock": { - "version": "2.0.1", + "node_modules/decamelize": { + "version": "1.2.0", "dev": true, "license": "MIT", - "dependencies": { - "@types/sinon": "^10.0.10", - "sinon": "^14.0.2", - "tslib": "^2.1.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/aws-sdk-client-mock-jest": { - "version": "2.0.1", + "node_modules/decamelize-keys": { + "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "@types/jest": "^28.1.3", - "tslib": "^2.1.0" + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" }, - "peerDependencies": { - "aws-sdk-client-mock": "2.0.1" + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/aws-sdk-client-mock-jest/node_modules/@jest/expect-utils": { - "version": "28.1.3", + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", "dev": true, "license": "MIT", - "dependencies": { - "jest-get-type": "^28.0.2" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=0.10.0" } }, - "node_modules/aws-sdk-client-mock-jest/node_modules/@jest/schemas": { - "version": "28.1.3", + "node_modules/dedent": { + "version": "0.7.0", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.2.2", "dev": true, "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.24.1" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=0.10.0" } }, - "node_modules/aws-sdk-client-mock-jest/node_modules/@jest/types": { - "version": "28.1.3", + "node_modules/defaults": { + "version": "1.0.4", "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "clone": "^1.0.2" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/aws-sdk-client-mock-jest/node_modules/@types/jest": { - "version": "28.1.8", + "node_modules/define-lazy-prop": { + "version": "2.0.0", "dev": true, "license": "MIT", - "dependencies": { - "expect": "^28.0.0", - "pretty-format": "^28.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/aws-sdk-client-mock-jest/node_modules/ansi-styles": { - "version": "5.2.0", + "node_modules/define-properties": { + "version": "1.1.4", "dev": true, "license": "MIT", + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/aws-sdk-client-mock-jest/node_modules/diff-sequences": { - "version": "28.1.1", + "node_modules/degenerator": { + "version": "3.0.2", "dev": true, "license": "MIT", + "dependencies": { + "ast-types": "^0.13.2", + "escodegen": "^1.8.1", + "esprima": "^4.0.0", + "vm2": "^3.9.8" + }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">= 6" } }, - "node_modules/aws-sdk-client-mock-jest/node_modules/expect": { - "version": "28.1.3", + "node_modules/del": { + "version": "6.1.1", "dev": true, "license": "MIT", "dependencies": { - "@jest/expect-utils": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3" + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/aws-sdk-client-mock-jest/node_modules/jest-diff": { - "version": "28.1.3", + "node_modules/delayed-stream": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=0.4.0" } }, - "node_modules/aws-sdk-client-mock-jest/node_modules/jest-get-type": { - "version": "28.0.2", + "node_modules/delegates": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/depd": { + "version": "2.0.0", "dev": true, "license": "MIT", "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">= 0.8" } }, - "node_modules/aws-sdk-client-mock-jest/node_modules/jest-matcher-utils": { - "version": "28.1.3", + "node_modules/deprecation": { + "version": "2.3.1", + "dev": true, + "license": "ISC" + }, + "node_modules/detect-indent": { + "version": "5.0.0", "dev": true, "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=4" } }, - "node_modules/aws-sdk-client-mock-jest/node_modules/jest-message-util": { - "version": "28.1.3", + "node_modules/detect-newline": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/diff": { + "version": "5.1.0", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "29.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "path-type": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=8" } }, - "node_modules/aws-sdk-client-mock-jest/node_modules/jest-util": { - "version": "28.1.3", + "node_modules/docs": { + "resolved": "docs/snippets", + "link": true + }, + "node_modules/doctrine": { + "version": "3.0.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "esutils": "^2.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=6.0.0" } }, - "node_modules/aws-sdk-client-mock-jest/node_modules/pretty-format": { - "version": "28.1.3", + "node_modules/dot-prop": { + "version": "6.0.1", "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "is-obj": "^2.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/aws-sdk/node_modules/uuid": { - "version": "8.0.0", + "node_modules/dotenv": { + "version": "10.0.0", "dev": true, - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "license": "BSD-2-Clause", + "engines": { + "node": ">=10" } }, - "node_modules/aws-xray-sdk-core": { - "version": "3.4.1", + "node_modules/duplexer": { + "version": "0.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.9", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/service-error-classification": "^3.4.1", - "@aws-sdk/types": "^3.4.1", - "@types/cls-hooked": "^4.3.3", - "atomic-batcher": "^1.0.2", - "cls-hooked": "^4.2.2", - "semver": "^5.3.0" + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" }, "engines": { - "node": ">= 14.x" + "node": ">=0.10.0" } }, - "node_modules/aws-xray-sdk-core/node_modules/semver": { - "version": "5.7.1", - "license": "ISC", - "bin": { - "semver": "bin/semver" + "node_modules/electron-to-chromium": { + "version": "1.4.284", + "dev": true, + "license": "ISC" + }, + "node_modules/emitter-listener": { + "version": "1.1.2", + "license": "BSD-2-Clause", + "dependencies": { + "shimmer": "^1.2.0" } }, - "node_modules/axios": { - "version": "1.2.4", + "node_modules/emittery": { + "version": "0.13.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/encoding": { + "version": "0.1.13", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" + "iconv-lite": "^0.6.2" } }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/babel-jest": { - "version": "29.3.1", + "node_modules/end-of-stream": { + "version": "1.4.4", "dev": true, "license": "MIT", "dependencies": { - "@jest/transform": "^29.3.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.2.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "once": "^1.4.0" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", + "node_modules/enhanced-resolve": { + "version": "5.12.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">=8" + "node": ">=10.13.0" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.2.0", + "node_modules/enquirer": { + "version": "2.3.6", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "ansi-colors": "^4.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8.6" } }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", + "node_modules/env-paths": { + "version": "2.2.1", "dev": true, "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/babel-preset-jest": { - "version": "29.2.0", + "node_modules/envinfo": { + "version": "7.8.1", "dev": true, "license": "MIT", - "dependencies": { - "babel-plugin-jest-hoist": "^29.2.0", - "babel-preset-current-node-syntax": "^1.0.0" + "bin": { + "envinfo": "dist/cli.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=4" } }, - "node_modules/balanced-match": { - "version": "1.0.2", + "node_modules/err-code": { + "version": "2.0.3", "dev": true, "license": "MIT" }, - "node_modules/base64-js": { - "version": "1.5.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/before-after-hook": { - "version": "2.2.3", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/bin-links": { - "version": "4.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "cmd-shim": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "read-cmd-shim": "^4.0.0", - "write-file-atomic": "^5.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/bin-links/node_modules/cmd-shim": { - "version": "6.0.1", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/bin-links/node_modules/read-cmd-shim": { - "version": "4.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/bin-links/node_modules/write-file-atomic": { - "version": "5.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/bl": { - "version": "4.1.0", + "node_modules/error-ex": { + "version": "1.3.2", "dev": true, "license": "MIT", "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "is-arrayish": "^0.2.1" } }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", + "node_modules/es-abstract": { + "version": "1.20.5", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "unbox-primitive": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/bowser": { - "version": "2.11.0", - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", + "node_modules/es-shim-unscopables": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "has": "^1.0.3" } }, - "node_modules/braces": { - "version": "3.0.2", + "node_modules/es-to-primitive": { + "version": "1.2.1", "dev": true, "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/browserslist": { - "version": "4.21.4", + "node_modules/esbuild": { + "version": "0.16.10", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - }, "bin": { - "browserslist": "cli.js" + "esbuild": "bin/esbuild" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.16.10", + "@esbuild/android-arm64": "0.16.10", + "@esbuild/android-x64": "0.16.10", + "@esbuild/darwin-arm64": "0.16.10", + "@esbuild/darwin-x64": "0.16.10", + "@esbuild/freebsd-arm64": "0.16.10", + "@esbuild/freebsd-x64": "0.16.10", + "@esbuild/linux-arm": "0.16.10", + "@esbuild/linux-arm64": "0.16.10", + "@esbuild/linux-ia32": "0.16.10", + "@esbuild/linux-loong64": "0.16.10", + "@esbuild/linux-mips64el": "0.16.10", + "@esbuild/linux-ppc64": "0.16.10", + "@esbuild/linux-riscv64": "0.16.10", + "@esbuild/linux-s390x": "0.16.10", + "@esbuild/linux-x64": "0.16.10", + "@esbuild/netbsd-x64": "0.16.10", + "@esbuild/openbsd-x64": "0.16.10", + "@esbuild/sunos-x64": "0.16.10", + "@esbuild/win32-arm64": "0.16.10", + "@esbuild/win32-ia32": "0.16.10", + "@esbuild/win32-x64": "0.16.10" } }, - "node_modules/bs-logger": { - "version": "0.2.6", + "node_modules/esbuild/node_modules/@esbuild/android-arm": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.10.tgz", + "integrity": "sha512-RmJjQTRrO6VwUWDrzTBLmV4OJZTarYsiepLGlF2rYTVB701hSorPywPGvP6d8HCuuRibyXa5JX4s3jN2kHEtjQ==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT", - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 6" + "node": ">=12" } }, - "node_modules/bser": { - "version": "2.1.1", + "node_modules/esbuild/node_modules/@esbuild/android-arm64": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.10.tgz", + "integrity": "sha512-47Y+NwVKTldTlDhSgJHZ/RpvBQMUDG7eKihqaF/u6g7s0ZPz4J1vy8A3rwnnUOF2CuDn7w7Gj/QcMoWz3U3SJw==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "Apache-2.0", - "dependencies": { - "node-int64": "^0.4.0" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/buffer": { - "version": "4.9.2", + "node_modules/esbuild/node_modules/@esbuild/android-x64": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.10.tgz", + "integrity": "sha512-C4PfnrBMcuAcOurQzpF1tTtZz94IXO5JmICJJ3NFJRHbXXsQUg9RFG45KvydKqtFfBaFLCHpduUkUfXwIvGnRg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/buffer-crc32": { - "version": "0.2.13", + "node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.10.tgz", + "integrity": "sha512-bH/bpFwldyOKdi9HSLCLhhKeVgRYr9KblchwXgY2NeUHBB/BzTUHtUSBgGBmpydB1/4E37m+ggXXfSrnD7/E7g==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "*" + "node": ">=12" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "license": "MIT" - }, - "node_modules/builtins": { - "version": "5.0.1", + "node_modules/esbuild/node_modules/@esbuild/darwin-x64": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.10.tgz", + "integrity": "sha512-OXt7ijoLuy+AjDSKQWu+KdDFMBbdeaL6wtgMKtDUXKWHiAMKHan5+R1QAG6HD4+K0nnOvEJXKHeA9QhXNAjOTQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.0.0" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" } }, - "node_modules/byte-size": { - "version": "7.0.0", + "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.10.tgz", + "integrity": "sha512-shSQX/3GHuspE3Uxtq5kcFG/zqC+VuMnJkqV7LczO41cIe6CQaXHD3QdMLA4ziRq/m0vZo7JdterlgbmgNIAlQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=10" + "node": ">=12" } }, - "node_modules/bytes": { - "version": "3.1.2", + "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.10.tgz", + "integrity": "sha512-5YVc1zdeaJGASijZmTzSO4h6uKzsQGG3pkjI6fuXvolhm3hVRhZwnHJkforaZLmzvNv5Tb7a3QL2FAVmrgySIA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">= 0.8" + "node": ">=12" } }, - "node_modules/cacache": { - "version": "17.0.5", + "node_modules/esbuild/node_modules/@esbuild/linux-arm": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.10.tgz", + "integrity": "sha512-c360287ZWI2miBnvIj23bPyVctgzeMT2kQKR+x94pVqIN44h3GF8VMEs1SFPH1UgyDr3yBbx3vowDS1SVhyVhA==", + "cpu": [ + "arm" + ], "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^9.3.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=12" } }, - "node_modules/cacache/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/esbuild/node_modules/@esbuild/linux-ia32": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.10.tgz", + "integrity": "sha512-sqMIEWeyrLGU7J5RB5fTkLRIFwsgsQ7ieWXlDLEmC2HblPYGb3AucD7inw2OrKFpRPKsec1l+lssiM3+NV5aOw==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/cacache/node_modules/glob": { - "version": "9.3.2", + "node_modules/esbuild/node_modules/@esbuild/linux-loong64": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.10.tgz", + "integrity": "sha512-O7Pd5hLEtTg37NC73pfhUOGTjx/+aXu5YoSq3ahCxcN7Bcr2F47mv+kG5t840thnsEzrv0oB70+LJu3gUgchvg==", + "cpu": [ + "loong64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^7.4.1", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=12" } }, - "node_modules/cacache/node_modules/minimatch": { - "version": "7.4.3", + "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.10.tgz", + "integrity": "sha512-FN8mZOH7531iPHM0kaFhAOqqNHoAb6r/YHW2ZIxNi0a85UBi2DO4Vuyn7t1p4UN8a4LoAnLOT1PqNgHkgBJgbA==", + "cpu": [ + "mips64el" + ], "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=12" } }, - "node_modules/cacache/node_modules/ssri": { - "version": "10.0.1", + "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.10.tgz", + "integrity": "sha512-Dg9RiqdvHOAWnOKIOTsIx8dFX9EDlY2IbPEY7YFzchrCiTZmMkD7jWA9UdZbNUygPjdmQBVPRCrLydReFlX9yg==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^4.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=12" } }, - "node_modules/call-bind": { - "version": "1.0.2", + "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.10.tgz", + "integrity": "sha512-XMqtpjwzbmlar0BJIxmzu/RZ7EWlfVfH68Vadrva0Wj5UKOdKvqskuev2jY2oPV3aoQUyXwnMbMrFmloO2GfAw==", + "cpu": [ + "riscv64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/callsites": { - "version": "3.1.0", + "node_modules/esbuild/node_modules/@esbuild/linux-s390x": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.10.tgz", + "integrity": "sha512-fu7XtnoeRNFMx8DjK3gPWpFBDM2u5ba+FYwg27SjMJwKvJr4bDyKz5c+FLXLUSSAkMAt/UL+cUbEbra+rYtUgw==", + "cpu": [ + "s390x" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/camelcase": { - "version": "5.3.1", + "node_modules/esbuild/node_modules/@esbuild/linux-x64": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.10.tgz", + "integrity": "sha512-61lcjVC/RldNNMUzQQdyCWjCxp9YLEQgIxErxU9XluX7juBdGKb0pvddS0vPNuCvotRbzijZ1pzII+26haWzbA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/camelcase-keys": { - "version": "6.2.2", + "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.10.tgz", + "integrity": "sha512-JeZXCX3viSA9j4HqSoygjssdqYdfHd6yCFWyfSekLbz4Ef+D2EjvsN02ZQPwYl5a5gg/ehdHgegHhlfOFP0HCA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001439", + "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.10.tgz", + "integrity": "sha512-3qpxQKuEVIIg8SebpXsp82OBrqjPV/OwNWmG+TnZDr3VGyChNnGMHccC1xkbxCHDQNnnXjxhMQNyHmdFJbmbRA==", + "cpu": [ + "x64" + ], "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } + "optional": true, + "os": [ + "openbsd" ], - "license": "CC-BY-4.0" - }, - "node_modules/cdk-assets": { - "version": "2.72.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-cdk/cloud-assembly-schema": "2.72.1", - "@aws-cdk/cx-api": "2.72.1", - "archiver": "^5.3.1", - "aws-sdk": "^2.1329.0", - "glob": "^7.2.3", - "mime": "^2.6.0", - "yargs": "^16.2.0" - }, - "bin": { - "cdk-assets": "bin/cdk-assets", - "docker-credential-cdk-assets": "bin/docker-credential-cdk-assets" - }, "engines": { - "node": ">= 14.15.0" + "node": ">=12" } }, - "node_modules/cdk-assets/node_modules/@aws-cdk/cloud-assembly-schema": { - "version": "2.72.1", - "bundleDependencies": [ - "jsonschema", - "semver" + "node_modules/esbuild/node_modules/@esbuild/sunos-x64": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.10.tgz", + "integrity": "sha512-z+q0xZ+et/7etz7WoMyXTHZ1rB8PMSNp/FOqURLJLOPb3GWJ2aj4oCqFCjPwEbW1rsT7JPpxeH/DwGAWk/I1Bg==", + "cpu": [ + "x64" ], "dev": true, - "license": "Apache-2.0", - "dependencies": { - "jsonschema": "^1.4.1", - "semver": "^7.3.8" - }, - "engines": { - "node": ">= 14.15.0" - } - }, - "node_modules/cdk-assets/node_modules/@aws-cdk/cloud-assembly-schema/node_modules/jsonschema": { - "version": "1.4.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/cdk-assets/node_modules/@aws-cdk/cloud-assembly-schema/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cdk-assets/node_modules/@aws-cdk/cloud-assembly-schema/node_modules/semver": { - "version": "7.3.8", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cdk-assets/node_modules/@aws-cdk/cloud-assembly-schema/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/cdk-assets/node_modules/@aws-cdk/cx-api": { - "version": "2.72.1", - "bundleDependencies": [ - "semver" + "optional": true, + "os": [ + "sunos" ], - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-cdk/cloud-assembly-schema": "2.72.1", - "semver": "^7.3.8" - }, - "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@aws-cdk/cloud-assembly-schema": "2.72.1" - } - }, - "node_modules/cdk-assets/node_modules/@aws-cdk/cx-api/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cdk-assets/node_modules/@aws-cdk/cx-api/node_modules/semver": { - "version": "7.3.8", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cdk-assets/node_modules/@aws-cdk/cx-api/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, - "node_modules/cdk-assets/node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cdk-assets/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cdk-assets/node_modules/archiver": { - "version": "5.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.3", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.0.0", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cdk-assets/node_modules/archiver-utils": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, "engines": { - "node": ">= 6" - } - }, - "node_modules/cdk-assets/node_modules/archiver-utils/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "node": ">=12" } }, - "node_modules/cdk-assets/node_modules/async": { - "version": "3.2.4", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/balanced-match": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/base64-js": { - "version": "1.5.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } + "node_modules/esbuild/node_modules/@esbuild/win32-arm64": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.10.tgz", + "integrity": "sha512-+YYu5sbQ9npkNT9Dec+tn1F/kjg6SMgr6bfi/6FpXYZvCRfu2YFPZGb+3x8K30s8eRxFpoG4sGhiSUkr1xbHEw==", + "cpu": [ + "arm64" ], - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/bl": { - "version": "4.1.0", "dev": true, - "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/cdk-assets/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/cdk-assets/node_modules/buffer": { - "version": "5.7.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/cdk-assets/node_modules/buffer-crc32": { - "version": "0.2.13", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/cdk-assets/node_modules/cliui": { - "version": "7.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/cdk-assets/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cdk-assets/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/compress-commons": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cdk-assets/node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/core-util-is": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/crc-32": { - "version": "1.2.2", - "dev": true, - "license": "Apache-2.0", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/cdk-assets/node_modules/crc32-stream": { - "version": "4.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cdk-assets/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/end-of-stream": { - "version": "1.4.4", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/cdk-assets/node_modules/escalade": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cdk-assets/node_modules/fs-constants": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/fs.realpath": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/cdk-assets/node_modules/get-caller-file": { - "version": "2.0.5", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/cdk-assets/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cdk-assets/node_modules/graceful-fs": { - "version": "4.2.10", - "dev": true, - "license": "ISC" - }, - "node_modules/cdk-assets/node_modules/ieee754": { - "version": "1.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/cdk-assets/node_modules/inflight": { - "version": "1.0.6", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/cdk-assets/node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "license": "ISC" - }, - "node_modules/cdk-assets/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cdk-assets/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/lazystream": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/cdk-assets/node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/cdk-assets/node_modules/lodash.defaults": { - "version": "4.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/lodash.difference": { - "version": "4.5.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/lodash.flatten": { - "version": "4.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/lodash.isplainobject": { - "version": "4.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/lodash.union": { - "version": "4.6.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/mime": { - "version": "2.6.0", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/cdk-assets/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/cdk-assets/node_modules/normalize-path": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cdk-assets/node_modules/once": { - "version": "1.4.0", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/cdk-assets/node_modules/path-is-absolute": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cdk-assets/node_modules/process-nextick-args": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/readable-stream": { - "version": "3.6.1", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/cdk-assets/node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/cdk-assets/node_modules/readdir-glob": { - "version": "1.1.2", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.1.0" - } - }, - "node_modules/cdk-assets/node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/cdk-assets/node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.6", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cdk-assets/node_modules/require-directory": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cdk-assets/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/cdk-assets/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cdk-assets/node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cdk-assets/node_modules/tar-stream": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cdk-assets/node_modules/util-deprecate": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/wrap-ansi": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/cdk-assets/node_modules/wrappy": { - "version": "1.0.2", - "dev": true, - "license": "ISC" - }, - "node_modules/cdk-assets/node_modules/y18n": { - "version": "5.0.8", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/cdk-assets/node_modules/yargs": { - "version": "16.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cdk-assets/node_modules/yargs-parser": { - "version": "20.2.9", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/cdk-assets/node_modules/zip-stream": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "archiver-utils": "^2.1.0", - "compress-commons": "^4.1.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cdk-sample": { - "resolved": "examples/cdk", - "link": true - }, - "node_modules/centra": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/centra/-/centra-2.6.0.tgz", - "integrity": "sha512-dgh+YleemrT8u85QL11Z6tYhegAs3MMxsaWAq/oXeAmYJ7VxL3SI9TZtnfaEvNDMAPolj25FXIb3S+HCI4wQaQ==" - }, - "node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "dev": true, - "license": "MIT" - }, - "node_modules/charenc": { - "version": "0.0.2", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": "*" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/ci-info": { - "version": "3.7.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.6.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/ansi-regex": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/ansi-styles": { - "version": "6.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/emoji-regex": { - "version": "9.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/slice-ansi": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/string-width": { - "version": "5.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 10" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-deep/node_modules/is-plain-object": { - "version": "2.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cls-hooked": { - "version": "4.2.2", - "license": "BSD-2-Clause", - "dependencies": { - "async-hook-jl": "^1.7.6", - "emitter-listener": "^1.0.1", - "semver": "^5.4.1" - }, - "engines": { - "node": "^4.7 || >=6.9 || >=7.3 || >=8.2.1" - } - }, - "node_modules/cls-hooked/node_modules/semver": { - "version": "5.7.1", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/cmd-shim": { - "version": "5.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "mkdirp-infer-owner": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/co": { - "version": "4.6.0", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/color-support": { - "version": "1.1.3", - "dev": true, - "license": "ISC", - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/colorette": { - "version": "2.0.19", - "dev": true, - "license": "MIT" - }, - "node_modules/columnify": { - "version": "1.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "dev": true, - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "9.5.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/common-ancestor-path": { - "version": "1.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/compare-func": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" - } - }, - "node_modules/compare-func/node_modules/dot-prop": { - "version": "5.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/compress-commons": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-stream": { - "version": "2.0.0", - "dev": true, - "engines": [ - "node >= 6.0" - ], - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/config-chain": { - "version": "1.1.12", - "dev": true, - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "dev": true, - "license": "ISC" - }, - "node_modules/constructs": { - "version": "10.1.196", - "license": "Apache-2.0", - "engines": { - "node": ">= 14.17.0" - } - }, - "node_modules/conventional-changelog-angular": { - "version": "5.0.12", - "dev": true, - "license": "ISC", - "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-core": { - "version": "4.2.4", - "dev": true, - "license": "MIT", - "dependencies": { - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^5.0.0", - "conventional-commits-parser": "^3.2.0", - "dateformat": "^3.0.0", - "get-pkg-repo": "^4.0.0", - "git-raw-commits": "^2.0.8", - "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^4.1.1", - "lodash": "^4.17.15", - "normalize-package-data": "^3.0.0", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "through2": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-preset-loader": { - "version": "2.3.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-writer": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", - "handlebars": "^4.7.7", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^4.0.0" - }, - "bin": { - "conventional-changelog-writer": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-writer/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/conventional-commits-filter": { - "version": "2.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-commits-parser": { - "version": "3.2.4", - "dev": true, - "license": "MIT", - "dependencies": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "conventional-commits-parser": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-recommended-bump": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "concat-stream": "^2.0.0", - "conventional-changelog-preset-loader": "^2.3.4", - "conventional-commits-filter": "^2.0.7", - "conventional-commits-parser": "^3.2.0", - "git-raw-commits": "^2.0.8", - "git-semver-tags": "^4.1.1", - "meow": "^8.0.0", - "q": "^1.5.1" - }, - "bin": { - "conventional-recommended-bump": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/cosmiconfig": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/crc-32": { - "version": "1.2.2", - "dev": true, - "license": "Apache-2.0", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/crc32-stream": { - "version": "4.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypt": { - "version": "0.0.2", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": "*" - } - }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/dargs": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/data-uri-to-buffer": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/dateformat": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dedent": { - "version": "0.7.0", - "dev": true, - "license": "MIT" - }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defaults": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/degenerator": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ast-types": "^0.13.2", - "escodegen": "^1.8.1", - "esprima": "^4.0.0", - "vm2": "^3.9.8" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/del": { - "version": "6.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/depd": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/deprecation": { - "version": "2.3.1", - "dev": true, - "license": "ISC" - }, - "node_modules/detect-indent": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/diff": { - "version": "5.1.0", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "29.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/docs": { - "resolved": "docs/snippets", - "link": true - }, - "node_modules/doctrine": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dot-prop": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/dotenv": { - "version": "10.0.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=10" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/ejs": { - "version": "3.1.9", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.284", - "dev": true, - "license": "ISC" - }, - "node_modules/emitter-listener": { - "version": "1.1.2", - "license": "BSD-2-Clause", - "dependencies": { - "shimmer": "^1.2.0" - } - }, - "node_modules/emittery": { - "version": "0.13.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/encoding": { - "version": "0.1.13", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/envinfo": { - "version": "7.8.1", - "dev": true, - "license": "MIT", - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/error-ex": { - "version": "1.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.20.5", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "unbox-primitive": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.16.10", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.16.10", - "@esbuild/android-arm64": "0.16.10", - "@esbuild/android-x64": "0.16.10", - "@esbuild/darwin-arm64": "0.16.10", - "@esbuild/darwin-x64": "0.16.10", - "@esbuild/freebsd-arm64": "0.16.10", - "@esbuild/freebsd-x64": "0.16.10", - "@esbuild/linux-arm": "0.16.10", - "@esbuild/linux-arm64": "0.16.10", - "@esbuild/linux-ia32": "0.16.10", - "@esbuild/linux-loong64": "0.16.10", - "@esbuild/linux-mips64el": "0.16.10", - "@esbuild/linux-ppc64": "0.16.10", - "@esbuild/linux-riscv64": "0.16.10", - "@esbuild/linux-s390x": "0.16.10", - "@esbuild/linux-x64": "0.16.10", - "@esbuild/netbsd-x64": "0.16.10", - "@esbuild/openbsd-x64": "0.16.10", - "@esbuild/sunos-x64": "0.16.10", - "@esbuild/win32-arm64": "0.16.10", - "@esbuild/win32-ia32": "0.16.10", - "@esbuild/win32-x64": "0.16.10" - } - }, - "node_modules/esbuild/node_modules/@esbuild/android-arm": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.10.tgz", - "integrity": "sha512-RmJjQTRrO6VwUWDrzTBLmV4OJZTarYsiepLGlF2rYTVB701hSorPywPGvP6d8HCuuRibyXa5JX4s3jN2kHEtjQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/android-arm64": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.10.tgz", - "integrity": "sha512-47Y+NwVKTldTlDhSgJHZ/RpvBQMUDG7eKihqaF/u6g7s0ZPz4J1vy8A3rwnnUOF2CuDn7w7Gj/QcMoWz3U3SJw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/android-x64": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.10.tgz", - "integrity": "sha512-C4PfnrBMcuAcOurQzpF1tTtZz94IXO5JmICJJ3NFJRHbXXsQUg9RFG45KvydKqtFfBaFLCHpduUkUfXwIvGnRg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.10.tgz", - "integrity": "sha512-bH/bpFwldyOKdi9HSLCLhhKeVgRYr9KblchwXgY2NeUHBB/BzTUHtUSBgGBmpydB1/4E37m+ggXXfSrnD7/E7g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/darwin-x64": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.10.tgz", - "integrity": "sha512-OXt7ijoLuy+AjDSKQWu+KdDFMBbdeaL6wtgMKtDUXKWHiAMKHan5+R1QAG6HD4+K0nnOvEJXKHeA9QhXNAjOTQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.10.tgz", - "integrity": "sha512-shSQX/3GHuspE3Uxtq5kcFG/zqC+VuMnJkqV7LczO41cIe6CQaXHD3QdMLA4ziRq/m0vZo7JdterlgbmgNIAlQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.10.tgz", - "integrity": "sha512-5YVc1zdeaJGASijZmTzSO4h6uKzsQGG3pkjI6fuXvolhm3hVRhZwnHJkforaZLmzvNv5Tb7a3QL2FAVmrgySIA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-arm": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.10.tgz", - "integrity": "sha512-c360287ZWI2miBnvIj23bPyVctgzeMT2kQKR+x94pVqIN44h3GF8VMEs1SFPH1UgyDr3yBbx3vowDS1SVhyVhA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-ia32": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.10.tgz", - "integrity": "sha512-sqMIEWeyrLGU7J5RB5fTkLRIFwsgsQ7ieWXlDLEmC2HblPYGb3AucD7inw2OrKFpRPKsec1l+lssiM3+NV5aOw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-loong64": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.10.tgz", - "integrity": "sha512-O7Pd5hLEtTg37NC73pfhUOGTjx/+aXu5YoSq3ahCxcN7Bcr2F47mv+kG5t840thnsEzrv0oB70+LJu3gUgchvg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.10.tgz", - "integrity": "sha512-FN8mZOH7531iPHM0kaFhAOqqNHoAb6r/YHW2ZIxNi0a85UBi2DO4Vuyn7t1p4UN8a4LoAnLOT1PqNgHkgBJgbA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.10.tgz", - "integrity": "sha512-Dg9RiqdvHOAWnOKIOTsIx8dFX9EDlY2IbPEY7YFzchrCiTZmMkD7jWA9UdZbNUygPjdmQBVPRCrLydReFlX9yg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.10.tgz", - "integrity": "sha512-XMqtpjwzbmlar0BJIxmzu/RZ7EWlfVfH68Vadrva0Wj5UKOdKvqskuev2jY2oPV3aoQUyXwnMbMrFmloO2GfAw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-s390x": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.10.tgz", - "integrity": "sha512-fu7XtnoeRNFMx8DjK3gPWpFBDM2u5ba+FYwg27SjMJwKvJr4bDyKz5c+FLXLUSSAkMAt/UL+cUbEbra+rYtUgw==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-x64": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.10.tgz", - "integrity": "sha512-61lcjVC/RldNNMUzQQdyCWjCxp9YLEQgIxErxU9XluX7juBdGKb0pvddS0vPNuCvotRbzijZ1pzII+26haWzbA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.10.tgz", - "integrity": "sha512-JeZXCX3viSA9j4HqSoygjssdqYdfHd6yCFWyfSekLbz4Ef+D2EjvsN02ZQPwYl5a5gg/ehdHgegHhlfOFP0HCA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.10.tgz", - "integrity": "sha512-3qpxQKuEVIIg8SebpXsp82OBrqjPV/OwNWmG+TnZDr3VGyChNnGMHccC1xkbxCHDQNnnXjxhMQNyHmdFJbmbRA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/sunos-x64": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.10.tgz", - "integrity": "sha512-z+q0xZ+et/7etz7WoMyXTHZ1rB8PMSNp/FOqURLJLOPb3GWJ2aj4oCqFCjPwEbW1rsT7JPpxeH/DwGAWk/I1Bg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/win32-arm64": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.10.tgz", - "integrity": "sha512-+YYu5sbQ9npkNT9Dec+tn1F/kjg6SMgr6bfi/6FpXYZvCRfu2YFPZGb+3x8K30s8eRxFpoG4sGhiSUkr1xbHEw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/win32-ia32": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.10.tgz", - "integrity": "sha512-Aw7Fupk7XNehR1ftHGYwUteyJ2q+em/aE+fVU3YMTBN2V5A7Z4aVCSV+SvCp9HIIHZavPFBpbdP3VfjQpdf6Xg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild/node_modules/@esbuild/win32-x64": { - "version": "0.16.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.10.tgz", - "integrity": "sha512-qddWullt3sC1EIpfHvCRBq3H4g3L86DZpD6n8k2XFjFVyp01D++uNbN1hT/JRsHxTbyyemZcpwL5aRlJwc/zFw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/escodegen": { - "version": "1.14.3", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.30.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint/eslintrc": "^1.4.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.5.2", - "dev": true, - "license": "ISC", - "dependencies": { - "debug": "^4.3.4", - "enhanced-resolve": "^5.10.0", - "get-tsconfig": "^4.2.0", - "globby": "^13.1.2", - "is-core-module": "^2.10.0", - "is-glob": "^4.0.3", - "synckit": "^0.8.4" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*" - } - }, - "node_modules/eslint-import-resolver-typescript/node_modules/globby": { - "version": "13.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-import-resolver-typescript/node_modules/slash": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.7.4", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.26.0", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-plugin-prettier": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.1.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint/node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/espree": { - "version": "9.4.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "dev": true, - "license": "MIT" - }, - "node_modules/events": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "29.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/expect-utils": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/external-editor": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/external-editor/node_modules/tmp": { - "version": "0.0.33", - "dev": true, - "license": "MIT", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-xml-parser": { - "version": "4.0.11", - "license": "MIT", - "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" - }, - "funding": { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - } - }, - "node_modules/fastq": { - "version": "1.14.0", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-uri-to-path": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/file-url": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/filelist": { - "version": "1.0.4", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "dev": true, - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "dev": true, - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } + "optional": true, + "os": [ + "win32" ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fs-extra": { - "version": "9.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs-minipass": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/ftp": { - "version": "0.3.10", - "dev": true, - "dependencies": { - "readable-stream": "1.1.x", - "xregexp": "2.0.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ftp/node_modules/isarray": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/ftp/node_modules/readable-stream": { - "version": "1.1.14", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ftp/node_modules/string_decoder": { - "version": "0.10.31", - "dev": true, - "license": "MIT" - }, - "node_modules/function-bind": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=12" } }, - "node_modules/gauge": { - "version": "4.0.4", + "node_modules/esbuild/node_modules/@esbuild/win32-ia32": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.10.tgz", + "integrity": "sha512-Aw7Fupk7XNehR1ftHGYwUteyJ2q+em/aE+fVU3YMTBN2V5A7Z4aVCSV+SvCp9HIIHZavPFBpbdP3VfjQpdf6Xg==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=12" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", + "node_modules/esbuild/node_modules/@esbuild/win32-x64": { + "version": "0.16.10", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.10.tgz", + "integrity": "sha512-qddWullt3sC1EIpfHvCRBq3H4g3L86DZpD6n8k2XFjFVyp01D++uNbN1hT/JRsHxTbyyemZcpwL5aRlJwc/zFw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", + "node_modules/escalade": { + "version": "3.1.1", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=6" } }, - "node_modules/get-intrinsic": { - "version": "1.1.3", + "node_modules/escape-string-regexp": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-package-type": { - "version": "0.1.0", + "node_modules/escodegen": { + "version": "1.14.3", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, "engines": { - "node": ">=8.0.0" + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/get-pkg-repo": { - "version": "4.2.1", + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", "dev": true, "license": "MIT", "dependencies": { - "@hutson/parse-repository-url": "^3.0.0", - "hosted-git-info": "^4.0.0", - "through2": "^2.0.0", - "yargs": "^16.2.0" - }, - "bin": { - "get-pkg-repo": "src/cli.js" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" }, "engines": { - "node": ">=6.9.0" + "node": ">= 0.8.0" } }, - "node_modules/get-pkg-repo/node_modules/cliui": { - "version": "7.0.4", + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/get-pkg-repo/node_modules/hosted-git-info": { - "version": "4.1.0", + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, "engines": { - "node": ">=10" + "node": ">= 0.8.0" } }, - "node_modules/get-pkg-repo/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "prelude-ls": "~1.1.2" }, "engines": { - "node": ">=10" + "node": ">= 0.8.0" } }, - "node_modules/get-pkg-repo/node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/eslint": { + "version": "8.30.0", "dev": true, "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "@eslint/eslintrc": "^1.4.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/get-pkg-repo/node_modules/safe-buffer": { - "version": "5.1.2", + "node_modules/eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", "dev": true, - "license": "MIT" + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } }, - "node_modules/get-pkg-repo/node_modules/string_decoder": { - "version": "1.1.1", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.6", "dev": true, "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "debug": "^3.2.7", + "resolve": "^1.20.0" } }, - "node_modules/get-pkg-repo/node_modules/through2": { - "version": "2.0.5", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", "dev": true, "license": "MIT", "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "ms": "^2.1.1" } }, - "node_modules/get-pkg-repo/node_modules/yargs": { - "version": "16.2.0", + "node_modules/eslint-import-resolver-typescript": { + "version": "3.5.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "debug": "^4.3.4", + "enhanced-resolve": "^5.10.0", + "get-tsconfig": "^4.2.0", + "globby": "^13.1.2", + "is-core-module": "^2.10.0", + "is-glob": "^4.0.3", + "synckit": "^0.8.4" }, "engines": { - "node": ">=10" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" } - }, - "node_modules/get-port": { - "version": "5.1.1", + }, + "node_modules/eslint-import-resolver-typescript/node_modules/globby": { + "version": "13.1.3", "dev": true, "license": "MIT", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-stream": { - "version": "6.0.1", + "node_modules/eslint-import-resolver-typescript/node_modules/slash": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", + "node_modules/eslint-module-utils": { + "version": "2.7.4", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "debug": "^3.2.7" }, "engines": { - "node": ">= 0.4" + "node": ">=4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-tsconfig": { - "version": "4.2.0", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/get-uri": { - "version": "3.0.2", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", "dev": true, "license": "MIT", "dependencies": { - "@tootallnate/once": "1", - "data-uri-to-buffer": "3", - "debug": "4", - "file-uri-to-path": "2", - "fs-extra": "^8.1.0", - "ftp": "^0.3.10" - }, - "engines": { - "node": ">= 6" + "ms": "^2.1.1" } }, - "node_modules/get-uri/node_modules/fs-extra": { - "version": "8.1.0", + "node_modules/eslint-plugin-import": { + "version": "2.26.0", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" }, "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/get-uri/node_modules/jsonfile": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/get-uri/node_modules/universalify": { - "version": "0.1.2", + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "2.6.9", "dev": true, "license": "MIT", - "engines": { - "node": ">= 4.0.0" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/git-raw-commits": { - "version": "2.0.11", + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "git-raw-commits": "cli.js" + "esutils": "^2.0.2" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/git-remote-origin-url": { + "node_modules/eslint-plugin-import/node_modules/ms": { "version": "2.0.0", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", + "dev": true, "dependencies": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" + "prettier-linter-helpers": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } } }, - "node_modules/git-remote-origin-url/node_modules/pify": { - "version": "2.3.0", + "node_modules/eslint-scope": { + "version": "5.1.1", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/git-semver-tags": { - "version": "4.1.1", + "node_modules/eslint-utils": { + "version": "3.0.0", "dev": true, "license": "MIT", "dependencies": { - "meow": "^8.0.0", - "semver": "^6.0.0" - }, - "bin": { - "git-semver-tags": "cli.js" + "eslint-visitor-keys": "^2.0.0" }, "engines": { - "node": ">=10" + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" } }, - "node_modules/git-semver-tags/node_modules/semver": { - "version": "6.3.0", + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "Apache-2.0", + "engines": { + "node": ">=10" } }, - "node_modules/git-up": { - "version": "7.0.0", + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", "dev": true, - "license": "MIT", - "dependencies": { - "is-ssh": "^1.4.0", - "parse-url": "^8.1.0" + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/git-url-parse": { - "version": "13.1.0", + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", "dev": true, "license": "MIT", "dependencies": { - "git-up": "^7.0.0" - } - }, - "node_modules/gitconfiglocal": { - "version": "1.0.0", - "dev": true, - "license": "BSD", - "dependencies": { - "ini": "^1.3.2" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/glob": { - "version": "7.2.3", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.1.1", "dev": true, - "license": "ISC", + "license": "BSD-2-Clause", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/glob-parent": { - "version": "6.0.2", + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, + "license": "BSD-2-Clause", "engines": { - "node": ">=10.13.0" + "node": ">=4.0" } }, - "node_modules/globals": { - "version": "13.19.0", + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/espree": { + "version": "9.4.1", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "type-fest": "^0.20.2" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "node_modules/globalyzer": { - "version": "0.1.0", + "node_modules/esprima": { + "version": "4.0.1", "dev": true, - "license": "MIT" + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/globby": { - "version": "11.1.0", + "node_modules/esquery": { + "version": "1.4.0", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "estraverse": "^5.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10" } }, - "node_modules/globrex": { - "version": "0.1.2", + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", "dev": true, - "license": "MIT" + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } }, - "node_modules/gopd": { - "version": "1.0.1", + "node_modules/esrecurse": { + "version": "4.3.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "get-intrinsic": "^1.1.3" + "estraverse": "^5.2.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "dev": true, - "license": "ISC" - }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", "dev": true, - "license": "MIT" + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } }, - "node_modules/handlebars": { - "version": "4.7.7", + "node_modules/estraverse": { + "version": "4.3.0", "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" - }, + "license": "BSD-2-Clause", "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" + "node": ">=4.0" } }, - "node_modules/hard-rejection": { - "version": "2.1.0", + "node_modules/esutils": { + "version": "2.0.3", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/has": { - "version": "1.0.3", + "node_modules/event-target-shim": { + "version": "5.0.1", "dev": true, "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, "engines": { - "node": ">= 0.4.0" + "node": ">=6" } }, - "node_modules/has-bigints": { - "version": "1.0.2", + "node_modules/eventemitter3": { + "version": "4.0.7", "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, - "node_modules/has-flag": { - "version": "4.0.0", + "node_modules/events": { + "version": "1.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.4.x" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", + "node_modules/execa": { + "version": "5.1.1", "dev": true, "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.1" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/has-symbols": { - "version": "1.0.3", + "node_modules/exit": { + "version": "0.1.2", "dev": true, - "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8.0" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", + "node_modules/expect": { + "version": "29.3.1", "dev": true, "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "@jest/expect-utils": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/has-unicode": { - "version": "2.0.1", + "node_modules/external-editor": { + "version": "3.1.0", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/hosted-git-info": { - "version": "6.1.1", + "node_modules/external-editor/node_modules/tmp": { + "version": "0.0.33", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "lru-cache": "^7.5.1" + "os-tmpdir": "~1.0.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=0.6.0" } }, - "node_modules/html-escaper": { - "version": "2.0.2", + "node_modules/fast-deep-equal": { + "version": "3.1.3", "dev": true, "license": "MIT" }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "dev": true, - "license": "BSD-2-Clause" + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true }, - "node_modules/http-errors": { - "version": "2.0.0", + "node_modules/fast-glob": { + "version": "3.2.12", "dev": true, "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">= 0.8" + "node": ">=8.6.0" } }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "is-glob": "^4.0.1" }, "engines": { "node": ">= 6" } }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-xml-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.4.tgz", + "integrity": "sha512-fbfMDvgBNIdDJLdLOwacjFAPYt67tr31H9ZhWSm45CDAxvd0I6WTlSOUo7K2P/K5sA5JgMKG64PI3DMcaFdWpQ==", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fastq": { + "version": "1.14.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" + "reusify": "^1.0.4" } }, - "node_modules/human-signals": { - "version": "2.1.0", + "node_modules/fb-watchman": { + "version": "2.0.2", "dev": true, "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" + "dependencies": { + "bser": "2.1.1" } }, - "node_modules/humanize-ms": { - "version": "1.2.1", + "node_modules/figures": { + "version": "3.2.0", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.0.0" + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/husky": { - "version": "8.0.2", + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", "dev": true, "license": "MIT", - "bin": { - "husky": "lib/bin.js" - }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" + "node": ">=0.8.0" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", + "node_modules/file-entry-cache": { + "version": "6.0.1", "dev": true, "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=0.10.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/ieee754": { - "version": "1.1.13", + "node_modules/file-uri-to-path": { + "version": "2.0.0", "dev": true, - "license": "BSD-3-Clause" + "license": "MIT", + "engines": { + "node": ">= 6" + } }, - "node_modules/ignore": { - "version": "5.2.4", + "node_modules/file-url": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=8" } }, - "node_modules/ignore-walk": { - "version": "5.0.1", + "node_modules/filelist": { + "version": "1.0.4", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { "minimatch": "^5.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/ignore-walk/node_modules/brace-expansion": { + "node_modules/filelist/node_modules/brace-expansion": { "version": "2.0.1", "dev": true, "license": "MIT", @@ -13049,7 +9500,7 @@ "balanced-match": "^1.0.0" } }, - "node_modules/ignore-walk/node_modules/minimatch": { + "node_modules/filelist/node_modules/minimatch": { "version": "5.1.6", "dev": true, "license": "ISC", @@ -13060,218 +9511,165 @@ "node": ">=10" } }, - "node_modules/import-fresh": { - "version": "3.3.0", + "node_modules/fill-range": { + "version": "7.0.1", "dev": true, "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" + "to-regex-range": "^5.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/import-local": { - "version": "3.1.0", + "node_modules/find-up": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", + "node_modules/flat": { + "version": "5.0.2", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" } }, - "node_modules/indent-string": { - "version": "4.0.0", + "node_modules/flat-cache": { + "version": "3.0.4", "dev": true, "license": "MIT", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, "engines": { - "node": ">=8" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/infer-owner": { - "version": "1.0.4", + "node_modules/flatted": { + "version": "3.2.7", "dev": true, "license": "ISC" }, - "node_modules/inflight": { - "version": "1.0.6", + "node_modules/follow-redirects": { + "version": "1.15.2", "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "dev": true, - "license": "ISC" - }, - "node_modules/init-package-json": { - "version": "3.0.2", + "node_modules/for-each": { + "version": "0.3.3", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "npm-package-arg": "^9.0.1", - "promzard": "^0.3.0", - "read": "^1.0.7", - "read-package-json": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^4.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "is-callable": "^1.1.3" } }, - "node_modules/init-package-json/node_modules/hosted-git-info": { - "version": "5.2.1", + "node_modules/fs-constants": { + "version": "1.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^7.5.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } + "license": "MIT" }, - "node_modules/init-package-json/node_modules/npm-package-arg": { - "version": "9.1.2", + "node_modules/fs-extra": { + "version": "9.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/init-package-json/node_modules/proc-log": { - "version": "2.0.1", + "node_modules/fs-minipass": { + "version": "3.0.1", "dev": true, "license": "ISC", - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/inquirer": { - "version": "8.2.5", - "dev": true, - "license": "MIT", "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^7.0.0" + "minipass": "^4.0.0" }, "engines": { - "node": ">=12.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/internal-slot": { - "version": "1.0.4", + "node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/ftp": { + "version": "0.3.10", "dev": true, - "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "readable-stream": "1.1.x", + "xregexp": "2.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=0.8.0" } }, - "node_modules/ip": { - "version": "1.1.8", + "node_modules/ftp/node_modules/isarray": { + "version": "0.0.1", "dev": true, "license": "MIT" }, - "node_modules/is-arguments": { - "version": "1.1.1", + "node_modules/ftp/node_modules/readable-stream": { + "version": "1.1.14", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", + "node_modules/ftp/node_modules/string_decoder": { + "version": "0.10.31", "dev": true, "license": "MIT" }, - "node_modules/is-bigint": { - "version": "1.0.4", + "node_modules/function-bind": { + "version": "1.1.1", "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, - "node_modules/is-boolean-object": { - "version": "1.1.2", + "node_modules/function.prototype.name": { + "version": "1.1.5", "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" }, "engines": { "node": ">= 0.4" @@ -13280,143 +9678,201 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "dev": true, - "license": "MIT" - }, - "node_modules/is-callable": { - "version": "1.2.7", + "node_modules/functions-have-names": { + "version": "1.2.3", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" - }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-ci": { - "version": "2.0.0", + "node_modules/gauge": { + "version": "4.0.4", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "ci-info": "^2.0.0" + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" }, - "bin": { - "is-ci": "bin.js" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/is-ci/node_modules/ci-info": { - "version": "2.0.0", + "node_modules/gensync": { + "version": "1.0.0-beta.2", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/is-core-module": { - "version": "2.11.0", + "node_modules/get-caller-file": { + "version": "2.0.5", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", "dev": true, "license": "MIT", "dependencies": { - "has": "^1.0.3" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-date-object": { - "version": "1.0.5", + "node_modules/get-package-type": { + "version": "0.1.0", "dev": true, "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8.0.0" } }, - "node_modules/is-docker": { - "version": "2.2.1", + "node_modules/get-pkg-repo": { + "version": "4.2.1", "dev": true, "license": "MIT", + "dependencies": { + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, "bin": { - "is-docker": "cli.js" + "get-pkg-repo": "src/cli.js" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + } + }, + "node_modules/get-pkg-repo/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/get-pkg-repo/node_modules/hosted-git-info": { + "version": "4.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=10" } }, - "node_modules/is-extglob": { - "version": "2.1.1", + "node_modules/get-pkg-repo/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/get-pkg-repo/node_modules/readable-stream": { + "version": "2.3.8", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/is-generator-fn": { - "version": "2.1.0", + "node_modules/get-pkg-repo/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/get-pkg-repo/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", + "node_modules/get-pkg-repo/node_modules/through2": { + "version": "2.0.5", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/is-glob": { - "version": "4.0.3", + "node_modules/get-pkg-repo/node_modules/yargs": { + "version": "16.2.0", "dev": true, "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/is-interactive": { - "version": "1.0.0", + "node_modules/get-port": { + "version": "5.1.1", "dev": true, "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-lambda": { - "version": "1.0.1", + "node_modules/get-stream": { + "version": "6.0.1", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/is-negative-zero": { - "version": "2.0.2", + "node_modules/get-symbol-description": { + "version": "1.0.0", "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, "engines": { "node": ">= 0.4" }, @@ -13424,174 +9880,206 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-number": { - "version": "7.0.0", + "node_modules/get-tsconfig": { + "version": "4.2.0", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/get-uri": { + "version": "3.0.2", "dev": true, "license": "MIT", + "dependencies": { + "@tootallnate/once": "1", + "data-uri-to-buffer": "3", + "debug": "4", + "file-uri-to-path": "2", + "fs-extra": "^8.1.0", + "ftp": "^0.3.10" + }, "engines": { - "node": ">=0.12.0" + "node": ">= 6" } }, - "node_modules/is-number-object": { - "version": "1.0.7", + "node_modules/get-uri/node_modules/fs-extra": { + "version": "8.1.0", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6 <7 || >=8" } }, - "node_modules/is-obj": { - "version": "2.0.0", + "node_modules/get-uri/node_modules/jsonfile": { + "version": "4.0.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/is-path-cwd": { - "version": "2.2.0", + "node_modules/get-uri/node_modules/universalify": { + "version": "0.1.2", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 4.0.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", + "node_modules/git-raw-commits": { + "version": "2.0.11", "dev": true, "license": "MIT", + "dependencies": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "git-raw-commits": "cli.js" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/is-plain-obj": { - "version": "1.1.0", + "node_modules/git-remote-origin-url": { + "version": "2.0.0", "dev": true, "license": "MIT", + "dependencies": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/is-plain-object": { - "version": "5.0.0", + "node_modules/git-remote-origin-url/node_modules/pify": { + "version": "2.3.0", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-regex": { - "version": "1.1.4", + "node_modules/git-semver-tags": { + "version": "4.1.1", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "meow": "^8.0.0", + "semver": "^6.0.0" }, - "engines": { - "node": ">= 0.4" + "bin": { + "git-semver-tags": "cli.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", + "node_modules/git-semver-tags/node_modules/semver": { + "version": "6.3.0", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/is-ssh": { - "version": "1.4.0", + "node_modules/git-up": { + "version": "7.0.0", "dev": true, "license": "MIT", "dependencies": { - "protocols": "^2.0.1" + "is-ssh": "^1.4.0", + "parse-url": "^8.1.0" } }, - "node_modules/is-stream": { - "version": "2.0.1", + "node_modules/git-url-parse": { + "version": "13.1.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "git-up": "^7.0.0" } }, - "node_modules/is-string": { - "version": "1.0.7", + "node_modules/gitconfiglocal": { + "version": "1.0.0", "dev": true, - "license": "MIT", + "license": "BSD", "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "ini": "^1.3.2" } }, - "node_modules/is-symbol": { - "version": "1.0.4", + "node_modules/glob": { + "version": "7.2.3", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "has-symbols": "^1.0.2" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-text-path": { - "version": "1.0.1", + "node_modules/glob-parent": { + "version": "6.0.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "text-extensions": "^1.0.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/is-typed-array": { - "version": "1.1.10", + "node_modules/globals": { + "version": "13.19.0", "dev": true, "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "type-fest": "^0.20.2" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-unicode-supported": { + "node_modules/globalyzer": { "version": "0.1.0", "dev": true, + "license": "MIT" + }, + "node_modules/globby": { + "version": "11.1.0", + "dev": true, "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, "engines": { "node": ">=10" }, @@ -13599,2236 +10087,2110 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-weakref": { - "version": "1.0.2", + "node_modules/globrex": { + "version": "0.1.2", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, - "node_modules/is-wsl": { - "version": "2.2.0", + "node_modules/gopd": { + "version": "1.0.1", "dev": true, "license": "MIT", "dependencies": { - "is-docker": "^2.0.0" + "get-intrinsic": "^1.1.3" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", + "node_modules/graceful-fs": { + "version": "4.2.10", "dev": true, "license": "ISC" }, - "node_modules/isobject": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", + "node_modules/grapheme-splitter": { + "version": "1.0.4", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } + "license": "MIT" }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", + "node_modules/handlebars": { + "version": "4.7.7", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" }, "engines": { - "node": ">=8" + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", + "node_modules/hard-rejection": { + "version": "2.1.0", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/istanbul-reports": { - "version": "3.1.5", + "node_modules/has": { + "version": "1.0.3", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "function-bind": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4.0" } }, - "node_modules/jake": { - "version": "10.8.5", + "node_modules/has-bigints": { + "version": "1.0.2", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest": { - "version": "29.3.1", + "node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@jest/core": "^29.3.1", - "@jest/types": "^29.3.1", - "import-local": "^3.0.2", - "jest-cli": "^29.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=8" } }, - "node_modules/jest-changed-files": { - "version": "29.2.0", + "node_modules/has-property-descriptors": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" + "get-intrinsic": "^1.1.1" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-circus": { - "version": "29.3.1", + "node_modules/has-symbols": { + "version": "1.0.3", "dev": true, "license": "MIT", - "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/expect": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.3.1", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "p-limit": "^3.1.0", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-cli": { - "version": "29.3.1", + "node_modules/has-tostringtag": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" + "has-symbols": "^1.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-config": { - "version": "29.3.1", + "node_modules/has-unicode": { + "version": "2.0.1", "dev": true, - "license": "MIT", + "license": "ISC" + }, + "node_modules/hosted-git-info": { + "version": "6.1.1", + "dev": true, + "license": "ISC", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.3.1", - "@jest/types": "^29.3.1", - "babel-jest": "^29.3.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.3.1", - "jest-environment-node": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-runner": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "lru-cache": "^7.5.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/jest-diff": { - "version": "29.3.1", + "node_modules/html-escaper": { + "version": "2.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.8" } }, - "node_modules/jest-docblock": { - "version": "29.2.0", + "node_modules/http-proxy-agent": { + "version": "4.0.1", "dev": true, "license": "MIT", "dependencies": { - "detect-newline": "^3.0.0" + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 6" } }, - "node_modules/jest-each": { - "version": "29.3.1", + "node_modules/https-proxy-agent": { + "version": "5.0.1", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.3.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "jest-util": "^29.3.1", - "pretty-format": "^29.3.1" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" } }, - "node_modules/jest-environment-node": { - "version": "29.3.1", + "node_modules/humanize-ms": { + "version": "1.2.1", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "ms": "^2.0.0" } }, - "node_modules/jest-get-type": { - "version": "29.2.0", + "node_modules/husky": { + "version": "8.0.2", "dev": true, "license": "MIT", + "bin": { + "husky": "lib/bin.js" + }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" } }, - "node_modules/jest-haste-map": { - "version": "29.3.1", + "node_modules/iconv-lite": { + "version": "0.4.24", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "^29.3.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.3.1", - "jest-worker": "^29.3.1", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "node": ">=0.10.0" } }, - "node_modules/jest-haste-map/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "node_modules/ieee754": { + "version": "1.1.13", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } + "license": "BSD-3-Clause" }, - "node_modules/jest-leak-detector": { - "version": "29.3.1", + "node_modules/ignore": { + "version": "5.2.4", "dev": true, "license": "MIT", - "dependencies": { - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 4" } }, - "node_modules/jest-matcher-utils": { - "version": "29.3.1", + "node_modules/ignore-walk": { + "version": "5.0.1", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" + "minimatch": "^5.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-message-util": { - "version": "29.3.1", + "node_modules/ignore-walk/node_modules/brace-expansion": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.3.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "balanced-match": "^1.0.0" } }, - "node_modules/jest-mock": { - "version": "29.3.1", + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "5.1.6", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-util": "^29.3.1" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", + "node_modules/import-fresh": { + "version": "3.3.0", "dev": true, "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, "engines": { "node": ">=6" }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-regex-util": { - "version": "29.2.0", + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/jest-resolve": { - "version": "29.3.1", + "node_modules/import-local": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-resolve-dependencies": { - "version": "29.3.1", + "node_modules/imurmurhash": { + "version": "0.1.4", "dev": true, "license": "MIT", - "dependencies": { - "jest-regex-util": "^29.2.0", - "jest-snapshot": "^29.3.1" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.8.19" } }, - "node_modules/jest-runner": { - "version": "29.3.1", + "node_modules/indent-string": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@jest/console": "^29.3.1", - "@jest/environment": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.2.0", - "jest-environment-node": "^29.3.1", - "jest-haste-map": "^29.3.1", - "jest-leak-detector": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-resolve": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-util": "^29.3.1", - "jest-watcher": "^29.3.1", - "jest-worker": "^29.3.1", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-runner-groups": { - "version": "2.2.0", + "node_modules/infer-owner": { + "version": "1.0.4", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.14.2" - }, - "peerDependencies": { - "jest-docblock": ">= 24", - "jest-runner": ">= 24" - } + "license": "ISC" }, - "node_modules/jest-runtime": { - "version": "29.3.1", + "node_modules/inflight": { + "version": "1.0.6", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/globals": "^29.3.1", - "@jest/source-map": "^29.2.0", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-mock": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/jest-snapshot": { - "version": "29.3.1", + "node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "dev": true, + "license": "ISC" + }, + "node_modules/init-package-json": { + "version": "3.0.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.3.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-haste-map": "^29.3.1", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "natural-compare": "^1.4.0", - "pretty-format": "^29.3.1", - "semver": "^7.3.5" + "npm-package-arg": "^9.0.1", + "promzard": "^0.3.0", + "read": "^1.0.7", + "read-package-json": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-util": { - "version": "29.3.1", + "node_modules/init-package-json/node_modules/hosted-git-info": { + "version": "5.2.1", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "lru-cache": "^7.5.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-validate": { - "version": "29.3.1", + "node_modules/init-package-json/node_modules/npm-package-arg": { + "version": "9.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@jest/types": "^29.3.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "leven": "^3.1.0", - "pretty-format": "^29.3.1" + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", + "node_modules/init-package-json/node_modules/proc-log": { + "version": "2.0.1", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/jest-watcher": { - "version": "29.3.1", + "node_modules/inquirer": { + "version": "8.2.5", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.3.1", - "string-length": "^4.0.1" + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=12.0.0" } }, - "node_modules/jest-worker": { - "version": "29.3.1", + "node_modules/internal-slot": { + "version": "1.0.4", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "jest-util": "^29.3.1", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", + "node_modules/ip": { + "version": "1.1.8", + "dev": true, + "license": "MIT" + }, + "node_modules/is-arguments": { + "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jmespath": { - "version": "0.16.0", - "license": "Apache-2.0", - "engines": { - "node": ">= 0.6.0" + "node_modules/is-arrayish": { + "version": "0.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/js-sdsl": { - "version": "4.2.0", + "node_modules/is-boolean-object": { + "version": "1.1.2", "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/js-tokens": { - "version": "4.0.0", + "node_modules/is-buffer": { + "version": "1.1.6", "dev": true, "license": "MIT" }, - "node_modules/js-yaml": { - "version": "4.1.0", + "node_modules/is-callable": { + "version": "1.2.7", "dev": true, "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" + "engines": { + "node": ">= 0.4" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jsesc": { - "version": "2.5.2", + "node_modules/is-ci": { + "version": "2.0.0", "dev": true, "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" + "dependencies": { + "ci-info": "^2.0.0" }, - "engines": { - "node": ">=4" + "bin": { + "is-ci": "bin.js" } }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", + "node_modules/is-ci/node_modules/ci-info": { + "version": "2.0.0", "dev": true, "license": "MIT" }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", + "node_modules/is-core-module": { + "version": "2.11.0", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", + "node_modules/is-date-object": { + "version": "1.0.5", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/json-stringify-nice": { - "version": "1.1.4", + "node_modules/is-docker": { + "version": "2.2.1", "dev": true, - "license": "ISC", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "dev": true, - "license": "ISC" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/json5": { - "version": "2.2.3", + "node_modules/is-generator-fn": { + "version": "2.1.0", "dev": true, "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, "engines": { "node": ">=6" } }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/jsonfile": { - "version": "6.1.0", + "node_modules/is-generator-function": { + "version": "1.0.10", "dev": true, "license": "MIT", "dependencies": { - "universalify": "^2.0.0" + "has-tostringtag": "^1.0.0" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "dev": true, - "engines": [ - "node >= 0.2.0" - ], - "license": "MIT" - }, - "node_modules/JSONStream": { - "version": "1.3.5", + "node_modules/is-glob": { + "version": "4.0.3", "dev": true, - "license": "(MIT OR Apache-2.0)", + "license": "MIT", "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" + "is-extglob": "^2.1.1" }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/just-diff": { - "version": "6.0.2", + "node_modules/is-interactive": { + "version": "1.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/just-diff-apply": { - "version": "5.5.0", + "node_modules/is-lambda": { + "version": "1.0.1", "dev": true, "license": "MIT" }, - "node_modules/just-extend": { - "version": "4.2.1", + "node_modules/is-negative-zero": { + "version": "2.0.2", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/kind-of": { - "version": "6.0.3", + "node_modules/is-number": { + "version": "7.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=0.12.0" } }, - "node_modules/kleur": { - "version": "3.0.3", + "node_modules/is-number-object": { + "version": "1.0.7", "dev": true, "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/layers": { - "resolved": "layers", - "link": true + "node_modules/is-obj": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/lazystream": { - "version": "1.0.1", + "node_modules/is-path-cwd": { + "version": "2.2.0", "dev": true, "license": "MIT", - "dependencies": { - "readable-stream": "^2.0.5" - }, "engines": { - "node": ">= 0.6.3" + "node": ">=6" } }, - "node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.7", + "node_modules/is-path-inside": { + "version": "3.0.3", "dev": true, "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "engines": { + "node": ">=8" } }, - "node_modules/lazystream/node_modules/safe-buffer": { - "version": "5.1.2", + "node_modules/is-plain-obj": { + "version": "1.1.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", + "node_modules/is-plain-object": { + "version": "5.0.0", "dev": true, "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/lerna": { - "version": "6.6.1", + "node_modules/is-regex": { + "version": "1.1.4", "dev": true, "license": "MIT", "dependencies": { - "@lerna/child-process": "6.6.1", - "@lerna/create": "6.6.1", - "@lerna/legacy-package-management": "6.6.1", - "@npmcli/arborist": "6.2.3", - "@npmcli/run-script": "4.1.7", - "@nrwl/devkit": ">=15.5.2 < 16", - "@octokit/plugin-enterprise-rest": "6.0.1", - "@octokit/rest": "19.0.3", - "byte-size": "7.0.0", - "chalk": "4.1.0", - "clone-deep": "4.0.1", - "cmd-shim": "5.0.0", - "columnify": "1.6.0", - "config-chain": "1.1.12", - "conventional-changelog-angular": "5.0.12", - "conventional-changelog-core": "4.2.4", - "conventional-recommended-bump": "6.1.0", - "cosmiconfig": "7.0.0", - "dedent": "0.7.0", - "dot-prop": "6.0.1", - "envinfo": "^7.7.4", - "execa": "5.0.0", - "fs-extra": "9.1.0", - "get-port": "5.1.1", - "get-stream": "6.0.0", - "git-url-parse": "13.1.0", - "glob-parent": "5.1.2", - "globby": "11.1.0", - "graceful-fs": "4.2.10", - "has-unicode": "2.0.1", - "import-local": "^3.0.2", - "init-package-json": "3.0.2", - "inquirer": "^8.2.4", - "is-ci": "2.0.0", - "is-stream": "2.0.0", - "js-yaml": "^4.1.0", - "libnpmaccess": "6.0.3", - "libnpmpublish": "6.0.4", - "load-json-file": "6.2.0", - "make-dir": "3.1.0", - "minimatch": "3.0.5", - "multimatch": "5.0.0", - "node-fetch": "2.6.7", - "npm-package-arg": "8.1.1", - "npm-packlist": "5.1.1", - "npm-registry-fetch": "^14.0.3", - "npmlog": "^6.0.2", - "nx": ">=15.5.2 < 16", - "p-map": "4.0.0", - "p-map-series": "2.1.0", - "p-pipe": "3.1.0", - "p-queue": "6.6.2", - "p-reduce": "2.1.0", - "p-waterfall": "2.1.1", - "pacote": "13.6.2", - "pify": "5.0.0", - "read-cmd-shim": "3.0.0", - "read-package-json": "5.0.1", - "resolve-from": "5.0.0", - "rimraf": "^4.4.1", - "semver": "^7.3.8", - "signal-exit": "3.0.7", - "slash": "3.0.0", - "ssri": "9.0.1", - "strong-log-transformer": "2.1.0", - "tar": "6.1.11", - "temp-dir": "1.0.0", - "typescript": "^3 || ^4", - "upath": "^2.0.1", - "uuid": "8.3.2", - "validate-npm-package-license": "3.0.4", - "validate-npm-package-name": "4.0.0", - "write-file-atomic": "4.0.1", - "write-pkg": "4.0.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4" - }, - "bin": { - "lerna": "dist/cli.js" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lerna/node_modules/chalk": { - "version": "4.1.0", + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" + "call-bind": "^1.0.2" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lerna/node_modules/cliui": { - "version": "7.0.4", + "node_modules/is-ssh": { + "version": "1.4.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "protocols": "^2.0.1" } }, - "node_modules/lerna/node_modules/execa": { - "version": "5.0.0", + "node_modules/is-stream": { + "version": "2.0.1", "dev": true, "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lerna/node_modules/get-stream": { - "version": "6.0.0", + "node_modules/is-string": { + "version": "1.0.7", "dev": true, "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lerna/node_modules/glob": { - "version": "9.3.2", + "node_modules/is-symbol": { + "version": "1.0.4", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^7.4.1", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lerna/node_modules/glob-parent": { - "version": "5.1.2", + "node_modules/is-text-path": { + "version": "1.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "text-extensions": "^1.0.0" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/lerna/node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/is-typed-array": { + "version": "1.1.10", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lerna/node_modules/glob/node_modules/minimatch": { - "version": "7.4.3", + "node_modules/is-unicode-supported": { + "version": "0.1.0", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "license": "MIT", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lerna/node_modules/is-stream": { - "version": "2.0.0", + "node_modules/is-weakref": { + "version": "1.0.2", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lerna/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/is-wsl": { + "version": "2.2.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "is-docker": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/lerna/node_modules/minimatch": { - "version": "3.0.5", + "node_modules/isarray": { + "version": "1.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "license": "MIT", "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/lerna/node_modules/rimraf": { - "version": "4.4.1", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^9.2.0" - }, - "bin": { - "rimraf": "dist/cjs/src/bin.js" - }, + "license": "BSD-3-Clause", "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8" } }, - "node_modules/lerna/node_modules/semver": { - "version": "7.3.8", + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", "dev": true, - "license": "ISC", + "license": "BSD-3-Clause", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/lerna/node_modules/uuid": { - "version": "8.3.2", + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", "dev": true, - "license": "MIT", + "license": "ISC", "bin": { - "uuid": "dist/bin/uuid" + "semver": "bin/semver.js" } }, - "node_modules/lerna/node_modules/write-file-atomic": { - "version": "4.0.1", + "node_modules/istanbul-lib-report": { + "version": "3.0.0", "dev": true, - "license": "ISC", + "license": "BSD-3-Clause", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": ">=8" } }, - "node_modules/lerna/node_modules/yargs": { - "version": "16.2.0", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, "engines": { "node": ">=10" } }, - "node_modules/leven": { - "version": "3.1.0", + "node_modules/istanbul-reports": { + "version": "3.1.5", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/levn": { - "version": "0.4.1", + "node_modules/jake": { + "version": "10.8.5", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "bin": { + "jake": "bin/cli.js" }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" } }, - "node_modules/libnpmaccess": { - "version": "6.0.3", + "node_modules/jest": { + "version": "29.3.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "aproba": "^2.0.0", - "minipass": "^3.1.1", - "npm-package-arg": "^9.0.1", - "npm-registry-fetch": "^13.0.0" + "@jest/core": "^29.3.1", + "@jest/types": "^29.3.1", + "import-local": "^3.0.2", + "jest-cli": "^29.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/libnpmaccess/node_modules/hosted-git-info": { - "version": "5.2.1", + "node_modules/jest-changed-files": { + "version": "29.2.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "lru-cache": "^7.5.1" + "execa": "^5.0.0", + "p-limit": "^3.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/libnpmaccess/node_modules/minipass": { - "version": "3.3.6", + "node_modules/jest-circus": { + "version": "29.3.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "p-limit": "^3.1.0", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/libnpmaccess/node_modules/npm-package-arg": { - "version": "9.1.2", + "node_modules/jest-cli": { + "version": "29.3.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "@jest/core": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/libnpmaccess/node_modules/npm-registry-fetch": { - "version": "13.3.1", + "node_modules/jest-config": { + "version": "29.3.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "make-fetch-happen": "^10.0.6", - "minipass": "^3.1.6", - "minipass-fetch": "^2.0.3", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^9.0.1", - "proc-log": "^2.0.0" + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.3.1", + "@jest/types": "^29.3.1", + "babel-jest": "^29.3.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.3.1", + "jest-environment-node": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/libnpmaccess/node_modules/proc-log": { - "version": "2.0.1", + "node_modules/jest-diff": { + "version": "29.3.1", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/libnpmpublish": { - "version": "6.0.4", + "node_modules/jest-docblock": { + "version": "29.2.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "normalize-package-data": "^4.0.0", - "npm-package-arg": "^9.0.1", - "npm-registry-fetch": "^13.0.0", - "semver": "^7.3.7", - "ssri": "^9.0.0" + "detect-newline": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/libnpmpublish/node_modules/hosted-git-info": { - "version": "5.2.1", + "node_modules/jest-each": { + "version": "29.3.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "lru-cache": "^7.5.1" + "@jest/types": "^29.3.1", + "chalk": "^4.0.0", + "jest-get-type": "^29.2.0", + "jest-util": "^29.3.1", + "pretty-format": "^29.3.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/libnpmpublish/node_modules/minipass": { - "version": "3.3.6", + "node_modules/jest-environment-node": { + "version": "29.3.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/libnpmpublish/node_modules/normalize-package-data": { - "version": "4.0.1", + "node_modules/jest-get-type": { + "version": "29.2.0", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^5.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, + "license": "MIT", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/libnpmpublish/node_modules/npm-package-arg": { - "version": "9.1.2", + "node_modules/jest-haste-map": { + "version": "29.3.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "@jest/types": "^29.3.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", + "micromatch": "^4.0.4", + "walker": "^1.0.8" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/libnpmpublish/node_modules/npm-registry-fetch": { - "version": "13.3.1", + "node_modules/jest-haste-map/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, - "license": "ISC", - "dependencies": { - "make-fetch-happen": "^10.0.6", - "minipass": "^3.1.6", - "minipass-fetch": "^2.0.3", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^9.0.1", - "proc-log": "^2.0.0" - }, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/libnpmpublish/node_modules/proc-log": { - "version": "2.0.1", + "node_modules/jest-leak-detector": { + "version": "29.3.1", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/lilconfig": { - "version": "2.0.6", + "node_modules/jest-matcher-utils": { + "version": "29.3.1", "dev": true, "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "dev": true, - "license": "MIT" - }, - "node_modules/lint-staged": { - "version": "13.1.2", + "node_modules/jest-message-util": { + "version": "29.3.1", "dev": true, "license": "MIT", "dependencies": { - "cli-truncate": "^3.1.0", - "colorette": "^2.0.19", - "commander": "^9.4.1", - "debug": "^4.3.4", - "execa": "^6.1.0", - "lilconfig": "2.0.6", - "listr2": "^5.0.5", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-inspect": "^1.12.2", - "pidtree": "^0.6.0", - "string-argv": "^0.3.1", - "yaml": "^2.1.3" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.3.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": "^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/lint-staged" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/lint-staged/node_modules/execa": { - "version": "6.1.0", + "node_modules/jest-mock": { + "version": "29.3.1", "dev": true, "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-util": "^29.3.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/lint-staged/node_modules/human-signals": { - "version": "3.0.1", + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": ">=12.20.0" + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/lint-staged/node_modules/is-stream": { - "version": "3.0.0", + "node_modules/jest-regex-util": { + "version": "29.2.0", "dev": true, "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/lint-staged/node_modules/mimic-fn": { - "version": "4.0.0", + "node_modules/jest-resolve": { + "version": "29.3.1", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/lint-staged/node_modules/npm-run-path": { - "version": "5.1.0", + "node_modules/jest-resolve-dependencies": { + "version": "29.3.1", "dev": true, "license": "MIT", "dependencies": { - "path-key": "^4.0.0" + "jest-regex-util": "^29.2.0", + "jest-snapshot": "^29.3.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/lint-staged/node_modules/onetime": { - "version": "6.0.0", + "node_modules/jest-runner": { + "version": "29.3.1", "dev": true, "license": "MIT", "dependencies": { - "mimic-fn": "^4.0.0" + "@jest/console": "^29.3.1", + "@jest/environment": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.2.0", + "jest-environment-node": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-leak-detector": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-resolve": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-util": "^29.3.1", + "jest-watcher": "^29.3.1", + "jest-worker": "^29.3.1", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/lint-staged/node_modules/path-key": { - "version": "4.0.0", + "node_modules/jest-runner-groups": { + "version": "2.2.0", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">= 10.14.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "jest-docblock": ">= 24", + "jest-runner": ">= 24" } }, - "node_modules/lint-staged/node_modules/strip-final-newline": { - "version": "3.0.0", + "node_modules/jest-runtime": { + "version": "29.3.1", "dev": true, "license": "MIT", + "dependencies": { + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/globals": "^29.3.1", + "@jest/source-map": "^29.2.0", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "29.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.3.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-haste-map": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "natural-compare": "^1.4.0", + "pretty-format": "^29.3.1", + "semver": "^7.3.5" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/lint-staged/node_modules/yaml": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", - "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", + "node_modules/jest-util": { + "version": "29.3.1", "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, "engines": { - "node": ">= 14" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/listr2": { - "version": "5.0.7", + "node_modules/jest-validate": { + "version": "29.3.1", "dev": true, "license": "MIT", "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.19", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.8.0", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" + "@jest/types": "^29.3.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.2.0", + "leven": "^3.1.0", + "pretty-format": "^29.3.1" }, "engines": { - "node": "^14.13.1 || >=16.0.0" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/listr2/node_modules/cli-truncate": { - "version": "2.1.0", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", "dev": true, "license": "MIT", - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/listr2/node_modules/slice-ansi": { - "version": "3.0.0", + "node_modules/jest-watcher": { + "version": "29.3.1", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.3.1", + "string-length": "^4.0.1" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/load-json-file": { - "version": "6.2.0", + "node_modules/jest-worker": { + "version": "29.3.1", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.15", - "parse-json": "^5.0.0", - "strip-bom": "^4.0.0", - "type-fest": "^0.6.0" + "@types/node": "*", + "jest-util": "^29.3.1", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/load-json-file/node_modules/type-fest": { - "version": "0.6.0", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/locate-path": { - "version": "6.0.0", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^5.0.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/lodash": { - "version": "4.17.21", - "dev": true, - "license": "MIT" + "node_modules/jmespath": { + "version": "0.16.0", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.6.0" + } }, - "node_modules/lodash.defaults": { + "node_modules/js-sdsl": { "version": "4.2.0", "dev": true, - "license": "MIT" - }, - "node_modules/lodash.difference": { - "version": "4.5.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.ismatch": { - "version": "4.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "license": "MIT" - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "dev": true, - "license": "MIT" + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } }, - "node_modules/lodash.union": { - "version": "4.6.0", + "node_modules/js-tokens": { + "version": "4.0.0", "dev": true, "license": "MIT" }, - "node_modules/log-symbols": { + "node_modules/js-yaml": { "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" + "argparse": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/log-update": { - "version": "4.0.0", + "node_modules/jsesc": { + "version": "2.5.2", "dev": true, "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", + "node_modules/json-parse-better-errors": { + "version": "1.0.2", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/lru-cache": { - "version": "7.14.1", + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/lunr": { - "version": "2.3.9", + "node_modules/json-schema-traverse": { + "version": "1.0.0", "dev": true, "license": "MIT" }, - "node_modules/make-dir": { - "version": "3.1.0", + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT" }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", + "node_modules/json-stringify-nice": { + "version": "1.1.4", "dev": true, "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/make-error": { - "version": "1.3.6", - "dev": true, - "license": "ISC" - }, - "node_modules/make-fetch-happen": { - "version": "10.2.1", - "dev": true, - "license": "ISC", - "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "dev": true, + "license": "ISC" }, - "node_modules/make-fetch-happen/node_modules/@npmcli/fs": { - "version": "2.1.2", + "node_modules/json5": { + "version": "2.2.3", "dev": true, - "license": "ISC", - "dependencies": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" + "license": "MIT", + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=6" } }, - "node_modules/make-fetch-happen/node_modules/@tootallnate/once": { - "version": "2.0.0", + "node_modules/jsonc-parser": { + "version": "3.2.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - } + "license": "MIT" }, - "node_modules/make-fetch-happen/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/jsonfile": { + "version": "6.1.0", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/make-fetch-happen/node_modules/cacache": { - "version": "16.1.3", + "node_modules/jsonparse": { + "version": "1.3.1", "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" }, - "node_modules/make-fetch-happen/node_modules/fs-minipass": { - "version": "2.1.0", + "node_modules/JSONStream": { + "version": "1.3.5", "dev": true, - "license": "ISC", + "license": "(MIT OR Apache-2.0)", "dependencies": { - "minipass": "^3.0.0" + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" }, "engines": { - "node": ">= 8" + "node": "*" } }, - "node_modules/make-fetch-happen/node_modules/glob": { - "version": "8.1.0", + "node_modules/just-diff": { + "version": "6.0.2", "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, + "license": "MIT" + }, + "node_modules/just-diff-apply": { + "version": "5.5.0", + "dev": true, + "license": "MIT" + }, + "node_modules/just-extend": { + "version": "4.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "dev": true, + "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.10.0" } }, - "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { - "version": "5.0.0", + "node_modules/kleur": { + "version": "3.0.3", "dev": true, "license": "MIT", - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, "engines": { - "node": ">= 6" + "node": ">=6" } }, - "node_modules/make-fetch-happen/node_modules/minimatch": { - "version": "5.1.6", + "node_modules/layers": { + "resolved": "layers", + "link": true + }, + "node_modules/lazystream": { + "version": "1.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "readable-stream": "^2.0.5" }, "engines": { - "node": ">=10" + "node": ">= 0.6.3" } }, - "node_modules/make-fetch-happen/node_modules/minipass": { - "version": "3.3.6", + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.7", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/make-fetch-happen/node_modules/socks-proxy-agent": { - "version": "7.0.0", + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" + "safe-buffer": "~5.1.0" } }, - "node_modules/make-fetch-happen/node_modules/unique-filename": { - "version": "2.0.1", + "node_modules/lerna": { + "version": "6.6.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "unique-slug": "^3.0.0" + "@lerna/child-process": "6.6.1", + "@lerna/create": "6.6.1", + "@lerna/legacy-package-management": "6.6.1", + "@npmcli/arborist": "6.2.3", + "@npmcli/run-script": "4.1.7", + "@nrwl/devkit": ">=15.5.2 < 16", + "@octokit/plugin-enterprise-rest": "6.0.1", + "@octokit/rest": "19.0.3", + "byte-size": "7.0.0", + "chalk": "4.1.0", + "clone-deep": "4.0.1", + "cmd-shim": "5.0.0", + "columnify": "1.6.0", + "config-chain": "1.1.12", + "conventional-changelog-angular": "5.0.12", + "conventional-changelog-core": "4.2.4", + "conventional-recommended-bump": "6.1.0", + "cosmiconfig": "7.0.0", + "dedent": "0.7.0", + "dot-prop": "6.0.1", + "envinfo": "^7.7.4", + "execa": "5.0.0", + "fs-extra": "9.1.0", + "get-port": "5.1.1", + "get-stream": "6.0.0", + "git-url-parse": "13.1.0", + "glob-parent": "5.1.2", + "globby": "11.1.0", + "graceful-fs": "4.2.10", + "has-unicode": "2.0.1", + "import-local": "^3.0.2", + "init-package-json": "3.0.2", + "inquirer": "^8.2.4", + "is-ci": "2.0.0", + "is-stream": "2.0.0", + "js-yaml": "^4.1.0", + "libnpmaccess": "6.0.3", + "libnpmpublish": "6.0.4", + "load-json-file": "6.2.0", + "make-dir": "3.1.0", + "minimatch": "3.0.5", + "multimatch": "5.0.0", + "node-fetch": "2.6.7", + "npm-package-arg": "8.1.1", + "npm-packlist": "5.1.1", + "npm-registry-fetch": "^14.0.3", + "npmlog": "^6.0.2", + "nx": ">=15.5.2 < 16", + "p-map": "4.0.0", + "p-map-series": "2.1.0", + "p-pipe": "3.1.0", + "p-queue": "6.6.2", + "p-reduce": "2.1.0", + "p-waterfall": "2.1.1", + "pacote": "13.6.2", + "pify": "5.0.0", + "read-cmd-shim": "3.0.0", + "read-package-json": "5.0.1", + "resolve-from": "5.0.0", + "rimraf": "^4.4.1", + "semver": "^7.3.8", + "signal-exit": "3.0.7", + "slash": "3.0.0", + "ssri": "9.0.1", + "strong-log-transformer": "2.1.0", + "tar": "6.1.11", + "temp-dir": "1.0.0", + "typescript": "^3 || ^4", + "upath": "^2.0.1", + "uuid": "8.3.2", + "validate-npm-package-license": "3.0.4", + "validate-npm-package-name": "4.0.0", + "write-file-atomic": "4.0.1", + "write-pkg": "4.0.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4" + }, + "bin": { + "lerna": "dist/cli.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/make-fetch-happen/node_modules/unique-slug": { - "version": "3.0.0", + "node_modules/lerna/node_modules/chalk": { + "version": "4.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/map-obj": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/marked": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", - "dev": true, - "bin": { - "marked": "bin/marked.js" - }, - "engines": { - "node": ">= 12" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/md5": { - "version": "2.3.0", + "node_modules/lerna/node_modules/cliui": { + "version": "7.0.4", "dev": true, - "license": "BSD-3-Clause", + "license": "ISC", "dependencies": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/meow": { - "version": "8.1.2", + "node_modules/lerna/node_modules/execa": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/meow/node_modules/find-up": { - "version": "4.1.0", + "node_modules/lerna/node_modules/get-stream": { + "version": "6.0.0", "dev": true, "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/hosted-git-info": { - "version": "2.8.9", - "dev": true, - "license": "ISC" - }, - "node_modules/meow/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" + "node": ">=10" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/meow/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/lerna/node_modules/glob": { + "version": "9.3.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "p-try": "^2.0.0" + "fs.realpath": "^1.0.0", + "minimatch": "^7.4.1", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" }, "engines": { - "node": ">=6" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/meow/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/lerna/node_modules/glob-parent": { + "version": "5.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "p-limit": "^2.2.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/meow/node_modules/read-pkg": { - "version": "5.2.0", + "node_modules/lerna/node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" + "balanced-match": "^1.0.0" } }, - "node_modules/meow/node_modules/read-pkg-up": { - "version": "7.0.1", + "node_modules/lerna/node_modules/glob/node_modules/minimatch": { + "version": "7.4.3", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", + "node_modules/lerna/node_modules/is-stream": { + "version": "2.0.0", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", + "node_modules/lerna/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, - "license": "BSD-2-Clause", + "license": "ISC", "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", + "node_modules/lerna/node_modules/minimatch": { + "version": "3.0.5", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/meow/node_modules/semver": { - "version": "5.7.1", + "node_modules/lerna/node_modules/rimraf": { + "version": "4.4.1", "dev": true, "license": "ISC", + "dependencies": { + "glob": "^9.2.0" + }, "bin": { - "semver": "bin/semver" + "rimraf": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", + "node_modules/lerna/node_modules/semver": { + "version": "7.3.8", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/merge-stream": { - "version": "2.0.0", + "node_modules/lerna/node_modules/uuid": { + "version": "8.3.2", "dev": true, - "license": "MIT" + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } }, - "node_modules/merge2": { - "version": "1.4.1", + "node_modules/lerna/node_modules/write-file-atomic": { + "version": "4.0.1", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, "engines": { - "node": ">= 8" + "node": "^12.13.0 || ^14.15.0 || >=16" } }, - "node_modules/micromatch": { - "version": "4.0.5", + "node_modules/lerna/node_modules/yargs": { + "version": "16.2.0", "dev": true, "license": "MIT", "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">=8.6" + "node": ">=10" } }, - "node_modules/mime-db": { - "version": "1.52.0", + "node_modules/leven": { + "version": "3.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/mime-types": { - "version": "2.1.35", + "node_modules/levn": { + "version": "0.4.1", "dev": true, "license": "MIT", "dependencies": { - "mime-db": "1.52.0" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8.0" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", + "node_modules/libnpmaccess": { + "version": "6.0.3", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "minipass": "^3.1.1", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0" + }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/min-indent": { - "version": "1.0.1", + "node_modules/libnpmaccess/node_modules/hosted-git-info": { + "version": "5.2.1", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "lru-cache": "^7.5.1" + }, "engines": { - "node": ">=4" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/minimatch": { - "version": "3.1.2", + "node_modules/libnpmaccess/node_modules/minipass": { + "version": "3.3.6", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "yallist": "^4.0.0" }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/minimist": { - "version": "1.2.7", + "node_modules/libnpmaccess/node_modules/npm-package-arg": { + "version": "9.1.2", "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "license": "ISC", + "dependencies": { + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/minimist-options": { - "version": "4.1.0", + "node_modules/libnpmaccess/node_modules/npm-registry-fetch": { + "version": "13.3.1", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" }, "engines": { - "node": ">= 6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/minipass": { - "version": "4.2.5", + "node_modules/libnpmaccess/node_modules/proc-log": { + "version": "2.0.1", "dev": true, "license": "ISC", "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/minipass-collect": { - "version": "1.0.2", + "node_modules/libnpmpublish": { + "version": "6.0.4", "dev": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "normalize-package-data": "^4.0.0", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0", + "semver": "^7.3.7", + "ssri": "^9.0.0" }, "engines": { - "node": ">= 8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/minipass-collect/node_modules/minipass": { + "node_modules/libnpmpublish/node_modules/hosted-git-info": { + "version": "5.2.1", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/libnpmpublish/node_modules/minipass": { "version": "3.3.6", "dev": true, "license": "ISC", @@ -15839,196 +12201,294 @@ "node": ">=8" } }, - "node_modules/minipass-fetch": { - "version": "2.1.2", + "node_modules/libnpmpublish/node_modules/normalize-package-data": { + "version": "4.0.1", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" } }, - "node_modules/minipass-fetch/node_modules/minipass": { - "version": "3.3.6", + "node_modules/libnpmpublish/node_modules/npm-package-arg": { + "version": "9.1.2", "dev": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/minipass-flush": { - "version": "1.0.5", + "node_modules/libnpmpublish/node_modules/npm-registry-fetch": { + "version": "13.3.1", "dev": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" }, "engines": { - "node": ">= 8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", + "node_modules/libnpmpublish/node_modules/proc-log": { + "version": "2.0.1", "dev": true, "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/lilconfig": { + "version": "2.0.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "dev": true, + "license": "MIT" + }, + "node_modules/lint-staged": { + "version": "13.1.2", + "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "cli-truncate": "^3.1.0", + "colorette": "^2.0.19", + "commander": "^9.4.1", + "debug": "^4.3.4", + "execa": "^6.1.0", + "lilconfig": "2.0.6", + "listr2": "^5.0.5", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-inspect": "^1.12.2", + "pidtree": "^0.6.0", + "string-argv": "^0.3.1", + "yaml": "^2.1.3" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" }, "engines": { - "node": ">=8" + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" } }, - "node_modules/minipass-json-stream": { - "version": "1.0.1", + "node_modules/lint-staged/node_modules/execa": { + "version": "6.1.0", "dev": true, "license": "MIT", "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^3.0.1", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/minipass-json-stream/node_modules/minipass": { - "version": "3.3.6", + "node_modules/lint-staged/node_modules/human-signals": { + "version": "3.0.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/lint-staged/node_modules/is-stream": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/mimic-fn": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/npm-run-path": { + "version": "5.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "path-key": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", + "node_modules/lint-staged/node_modules/onetime": { + "version": "6.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "minipass": "^3.0.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", + "node_modules/lint-staged/node_modules/path-key": { + "version": "4.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minipass-sized": { - "version": "1.0.3", + "node_modules/lint-staged/node_modules/strip-final-newline": { + "version": "3.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", + "node_modules/lint-staged/node_modules/yaml": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 14" } }, - "node_modules/minizlib": { - "version": "2.1.2", + "node_modules/listr2": { + "version": "5.0.7", "dev": true, "license": "MIT", "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "cli-truncate": "^2.1.0", + "colorette": "^2.0.19", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.8.0", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">= 8" + "node": "^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } } }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", + "node_modules/listr2/node_modules/cli-truncate": { + "version": "2.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/listr2/node_modules/slice-ansi": { + "version": "3.0.0", "dev": true, "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/mkdirp-infer-owner": { - "version": "2.0.0", + "node_modules/load-json-file": { + "version": "6.2.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "chownr": "^2.0.0", - "infer-owner": "^1.0.4", - "mkdirp": "^1.0.3" + "graceful-fs": "^4.1.15", + "parse-json": "^5.0.0", + "strip-bom": "^4.0.0", + "type-fest": "^0.6.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/mnemonist": { - "version": "0.38.3", - "license": "MIT", - "dependencies": { - "obliterator": "^1.6.1" + "node": ">=8" } }, - "node_modules/modify-values": { - "version": "1.0.1", + "node_modules/load-json-file/node_modules/type-fest": { + "version": "0.6.0", "dev": true, - "license": "MIT", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/multimatch": { - "version": "5.0.0", + "node_modules/locate-path": { + "version": "6.0.0", "dev": true, "license": "MIT", "dependencies": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" + "p-locate": "^5.0.0" }, "engines": { "node": ">=10" @@ -16037,1281 +12497,1161 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/multimatch/node_modules/arrify": { - "version": "2.0.1", + "node_modules/lodash": { + "version": "4.17.21", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/mute-stream": { - "version": "0.0.8", + "node_modules/lodash.defaults": { + "version": "4.2.0", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/natural-compare": { - "version": "1.4.0", + "node_modules/lodash.difference": { + "version": "4.5.0", "dev": true, "license": "MIT" }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", + "node_modules/lodash.flatten": { + "version": "4.4.0", "dev": true, "license": "MIT" }, - "node_modules/negotiator": { - "version": "0.6.3", + "node_modules/lodash.get": { + "version": "4.4.2", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } + "license": "MIT" }, - "node_modules/neo-async": { - "version": "2.6.2", + "node_modules/lodash.ismatch": { + "version": "4.4.0", "dev": true, "license": "MIT" }, - "node_modules/netmask": { - "version": "2.0.2", + "node_modules/lodash.isplainobject": { + "version": "4.0.6", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } + "license": "MIT" }, - "node_modules/nise": { - "version": "5.1.4", + "node_modules/lodash.memoize": { + "version": "4.1.2", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" - } + "license": "MIT" }, - "node_modules/nise/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } + "node_modules/lodash.merge": { + "version": "4.6.2", + "license": "MIT" }, - "node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "10.0.2", + "node_modules/lodash.truncate": { + "version": "4.4.2", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^2.0.0" - } + "license": "MIT" }, - "node_modules/node-addon-api": { - "version": "3.2.1", + "node_modules/lodash.union": { + "version": "4.6.0", "dev": true, "license": "MIT" }, - "node_modules/node-fetch": { - "version": "2.6.7", + "node_modules/log-symbols": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", "dev": true, "license": "MIT", "dependencies": { - "whatwg-url": "^5.0.0" + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" + "node": ">=10" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-gyp": { - "version": "9.3.1", + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", "dev": true, "license": "MIT", "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", - "nopt": "^6.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^12.13 || ^14.13 || >=16" + "node": ">=8" } }, - "node_modules/node-gyp-build": { - "version": "4.6.0", + "node_modules/lru-cache": { + "version": "7.14.1", "dev": true, - "license": "MIT", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "license": "ISC", + "engines": { + "node": ">=12" } }, - "node_modules/node-gyp/node_modules/abbrev": { - "version": "1.1.1", + "node_modules/lunr": { + "version": "2.3.9", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/node-gyp/node_modules/nopt": { - "version": "6.0.0", + "node_modules/make-dir": { + "version": "3.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "abbrev": "^1.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" + "semver": "^6.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-int64": { - "version": "0.4.0", + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", "dev": true, - "license": "MIT" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/node-releases": { - "version": "2.0.8", + "node_modules/make-error": { + "version": "1.3.6", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/nopt": { - "version": "7.1.0", + "node_modules/make-fetch-happen": { + "version": "10.2.1", "dev": true, "license": "ISC", "dependencies": { - "abbrev": "^2.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/normalize-package-data": { - "version": "3.0.3", + "node_modules/make-fetch-happen/node_modules/@npmcli/fs": { + "version": "2.1.2", "dev": true, - "license": "BSD-2-Clause", + "license": "ISC", "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/normalize-package-data/node_modules/hosted-git-info": { - "version": "4.1.0", + "node_modules/make-fetch-happen/node_modules/@tootallnate/once": { + "version": "2.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 10" } }, - "node_modules/normalize-package-data/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/make-fetch-happen/node_modules/brace-expansion": { + "version": "2.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "balanced-match": "^1.0.0" } }, - "node_modules/normalize-path": { - "version": "3.0.0", + "node_modules/make-fetch-happen/node_modules/cacache": { + "version": "16.1.3", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/npm-bundled": { - "version": "3.0.0", + "node_modules/make-fetch-happen/node_modules/fs-minipass": { + "version": "2.1.0", "dev": true, "license": "ISC", "dependencies": { - "npm-normalize-package-bin": "^3.0.0" + "minipass": "^3.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/npm-install-checks": { - "version": "6.1.0", + "node_modules/make-fetch-happen/node_modules/glob": { + "version": "8.1.0", "dev": true, - "license": "BSD-2-Clause", + "license": "ISC", "dependencies": { - "semver": "^7.1.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm-normalize-package-bin": { - "version": "3.0.0", + "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { + "version": "5.0.0", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 6" } }, - "node_modules/npm-package-arg": { - "version": "8.1.1", + "node_modules/make-fetch-happen/node_modules/minimatch": { + "version": "5.1.6", "dev": true, "license": "ISC", "dependencies": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" + "brace-expansion": "^2.0.1" }, "engines": { "node": ">=10" } }, - "node_modules/npm-package-arg/node_modules/builtins": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/npm-package-arg/node_modules/hosted-git-info": { - "version": "3.0.8", + "node_modules/make-fetch-happen/node_modules/minipass": { + "version": "3.3.6", "dev": true, "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/npm-package-arg/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/make-fetch-happen/node_modules/socks-proxy-agent": { + "version": "7.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" }, "engines": { - "node": ">=10" + "node": ">= 10" } }, - "node_modules/npm-package-arg/node_modules/validate-npm-package-name": { - "version": "3.0.0", + "node_modules/make-fetch-happen/node_modules/unique-filename": { + "version": "2.0.1", "dev": true, "license": "ISC", "dependencies": { - "builtins": "^1.0.3" + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/npm-packlist": { - "version": "5.1.1", + "node_modules/make-fetch-happen/node_modules/unique-slug": { + "version": "3.0.0", "dev": true, "license": "ISC", "dependencies": { - "glob": "^8.0.1", - "ignore-walk": "^5.0.1", - "npm-bundled": "^1.1.2", - "npm-normalize-package-bin": "^1.0.1" - }, - "bin": { - "npm-packlist": "bin/index.js" + "imurmurhash": "^0.1.4" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/npm-packlist/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/makeerror": { + "version": "1.0.12", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "balanced-match": "^1.0.0" + "tmpl": "1.0.5" } }, - "node_modules/npm-packlist/node_modules/glob": { - "version": "8.1.0", + "node_modules/map-obj": { + "version": "4.3.0", "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm-packlist/node_modules/minimatch": { - "version": "5.1.6", + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" + "bin": { + "marked": "bin/marked.js" }, "engines": { - "node": ">=10" + "node": ">= 12" } }, - "node_modules/npm-packlist/node_modules/npm-bundled": { - "version": "1.1.2", + "node_modules/md5": { + "version": "2.3.0", "dev": true, - "license": "ISC", + "license": "BSD-3-Clause", "dependencies": { - "npm-normalize-package-bin": "^1.0.1" + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" } }, - "node_modules/npm-packlist/node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/npm-pick-manifest": { - "version": "8.0.1", + "node_modules/meow": { + "version": "8.1.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^10.0.0", - "semver": "^7.3.5" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { - "version": "10.1.0", + "node_modules/meow/node_modules/find-up": { + "version": "4.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "hosted-git-info": "^6.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/npm-pick-manifest/node_modules/validate-npm-package-name": { + "node_modules/meow/node_modules/hosted-git-info": { + "version": "2.8.9", + "dev": true, + "license": "ISC" + }, + "node_modules/meow/node_modules/locate-path": { "version": "5.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "builtins": "^5.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/npm-registry-fetch": { - "version": "14.0.3", + "node_modules/meow/node_modules/p-limit": { + "version": "2.3.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "make-fetch-happen": "^11.0.0", - "minipass": "^4.0.0", - "minipass-fetch": "^3.0.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^10.0.0", - "proc-log": "^3.0.0" + "p-try": "^2.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm-registry-fetch/node_modules/@tootallnate/once": { - "version": "2.0.0", + "node_modules/meow/node_modules/p-locate": { + "version": "4.1.0", "dev": true, "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, "engines": { - "node": ">= 10" + "node": ">=8" } }, - "node_modules/npm-registry-fetch/node_modules/http-proxy-agent": { - "version": "5.0.0", + "node_modules/meow/node_modules/read-pkg": { + "version": "5.2.0", "dev": true, "license": "MIT", "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { - "version": "11.0.3", + "node_modules/meow/node_modules/read-pkg-up": { + "version": "7.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^17.0.0", - "http-cache-semantics": "^4.1.1", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^10.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { - "version": "3.0.1", + "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", "dev": true, - "license": "MIT", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "minipass": "^4.0.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" + "node": ">=8" } }, - "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { - "version": "10.1.0", + "node_modules/meow/node_modules/semver": { + "version": "5.7.1", "dev": true, "license": "ISC", - "dependencies": { - "hosted-git-info": "^6.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/npm-registry-fetch/node_modules/socks-proxy-agent": { - "version": "7.0.0", + "node_modules/micromatch": { + "version": "4.0.5", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">= 10" + "node": ">=8.6" } }, - "node_modules/npm-registry-fetch/node_modules/ssri": { - "version": "10.0.1", + "node_modules/mime-db": { + "version": "1.52.0", "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^4.0.0" - }, + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 0.6" } }, - "node_modules/npm-registry-fetch/node_modules/validate-npm-package-name": { - "version": "5.0.0", + "node_modules/mime-types": { + "version": "2.1.35", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "builtins": "^5.0.0" + "mime-db": "1.52.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 0.6" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", + "node_modules/mimic-fn": { + "version": "2.1.0", "dev": true, "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/npmlog": { - "version": "6.0.2", + "node_modules/min-indent": { + "version": "1.0.1", "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, + "license": "MIT", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=4" } }, - "node_modules/nx": { - "version": "15.9.2", + "node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "hasInstallScript": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@nrwl/cli": "15.9.2", - "@nrwl/tao": "15.9.2", - "@parcel/watcher": "2.0.4", - "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "^3.0.0-rc.18", - "@zkochan/js-yaml": "0.0.6", - "axios": "^1.0.0", - "chalk": "^4.1.0", - "cli-cursor": "3.1.0", - "cli-spinners": "2.6.1", - "cliui": "^7.0.2", - "dotenv": "~10.0.0", - "enquirer": "~2.3.6", - "fast-glob": "3.2.7", - "figures": "3.2.0", - "flat": "^5.0.2", - "fs-extra": "^11.1.0", - "glob": "7.1.4", - "ignore": "^5.0.4", - "js-yaml": "4.1.0", - "jsonc-parser": "3.2.0", - "lines-and-columns": "~2.0.3", - "minimatch": "3.0.5", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "semver": "7.3.4", - "string-width": "^4.2.3", - "strong-log-transformer": "^2.1.0", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "v8-compile-cache": "2.3.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js" - }, - "optionalDependencies": { - "@nrwl/nx-darwin-arm64": "15.9.2", - "@nrwl/nx-darwin-x64": "15.9.2", - "@nrwl/nx-linux-arm-gnueabihf": "15.9.2", - "@nrwl/nx-linux-arm64-gnu": "15.9.2", - "@nrwl/nx-linux-arm64-musl": "15.9.2", - "@nrwl/nx-linux-x64-gnu": "15.9.2", - "@nrwl/nx-linux-x64-musl": "15.9.2", - "@nrwl/nx-win32-arm64-msvc": "15.9.2", - "@nrwl/nx-win32-x64-msvc": "15.9.2" - }, - "peerDependencies": { - "@swc-node/register": "^1.4.2", - "@swc/core": "^1.2.173" + "brace-expansion": "^1.1.7" }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { - "optional": true - } + "engines": { + "node": "*" } }, - "node_modules/nx/node_modules/@nrwl/nx-darwin-arm64": { - "version": "15.9.2", - "resolved": "https://registry.npmjs.org/@nrwl/nx-darwin-arm64/-/nx-darwin-arm64-15.9.2.tgz", - "integrity": "sha512-Yv+OVsQt3C/hmWOC+YhJZQlsyph5w1BHfbp4jyCvV1ZXBbb8NdvwxgDHPWXxKPTc1EXuB7aEX3qzxM3/OWEUJg==", - "cpu": [ - "arm64" - ], + "node_modules/minimist": { + "version": "1.2.7", "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/nx/node_modules/@nrwl/nx-darwin-x64": { - "version": "15.9.2", - "resolved": "https://registry.npmjs.org/@nrwl/nx-darwin-x64/-/nx-darwin-x64-15.9.2.tgz", - "integrity": "sha512-qHfdluHlPzV0UHOwj1ZJ+qNEhzfLGiBuy1cOth4BSzDlvMnkuqBWoprfaXoztzYcus2NSILY1/7b3Jw4DAWmMw==", - "cpu": [ - "x64" - ], + "node_modules/minimist-options": { + "version": "4.1.0", "dev": true, - "optional": true, - "os": [ - "darwin" - ], + "license": "MIT", + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, "engines": { - "node": ">= 10" + "node": ">= 6" } }, - "node_modules/nx/node_modules/@nrwl/nx-linux-arm-gnueabihf": { - "version": "15.9.2", - "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-15.9.2.tgz", - "integrity": "sha512-0GzwbablosnYnnJDCJvAeZv8LlelSrNwUnGhe43saeoZdAew35Ay1E34zBrg/GCGTASuz+knEEYFM+gDD9Mc6A==", - "cpu": [ - "arm" - ], + "node_modules/minipass": { + "version": "4.2.5", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "ISC", "engines": { - "node": ">= 10" + "node": ">=8" } }, - "node_modules/nx/node_modules/@nrwl/nx-linux-x64-gnu": { - "version": "15.9.2", - "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-x64-gnu/-/nx-linux-x64-gnu-15.9.2.tgz", - "integrity": "sha512-gHWsP5lbe4FNQCa1Q/VLxIuik+BqAOcSzyPjdUa4gCDcbxPa8xiE57PgXB5E1XUzOWNnDTlXa/Ll07/TIuKuog==", - "cpu": [ - "x64" - ], + "node_modules/minipass-collect": { + "version": "1.0.2", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, "engines": { - "node": ">= 10" + "node": ">= 8" } }, - "node_modules/nx/node_modules/@nrwl/nx-linux-x64-musl": { - "version": "15.9.2", - "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-x64-musl/-/nx-linux-x64-musl-15.9.2.tgz", - "integrity": "sha512-EaFUukCbmoHsYECX2AS4pxXH933yesBFVvBgD38DkoFDxDoJMVt6JqYwm+d5R7S4R2P9U3l++aurljQTRq567Q==", - "cpu": [ - "x64" - ], + "node_modules/minipass-collect/node_modules/minipass": { + "version": "3.3.6", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">= 10" + "node": ">=8" } }, - "node_modules/nx/node_modules/@nrwl/nx-win32-arm64-msvc": { - "version": "15.9.2", - "resolved": "https://registry.npmjs.org/@nrwl/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-15.9.2.tgz", - "integrity": "sha512-PGAe7QMr51ivx1X3avvs8daNlvv1wGo3OFrobjlu5rSyjC1Y3qHwT9+wdlwzNZ93FIqWOq09s+rE5gfZRfpdAg==", - "cpu": [ - "arm64" - ], + "node_modules/minipass-fetch": { + "version": "2.1.2", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "MIT", + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, "engines": { - "node": ">= 10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/nx/node_modules/@nrwl/nx-win32-x64-msvc": { - "version": "15.9.2", - "resolved": "https://registry.npmjs.org/@nrwl/nx-win32-x64-msvc/-/nx-win32-x64-msvc-15.9.2.tgz", - "integrity": "sha512-Q8onNzhuAZ0l9DNkm8D4Z1AEIzJr8JiT4L2fVBLYrV/R75C2HS3q7lzvfo6oqMY6mXge1cFPcrTtg3YXBQaSWA==", - "cpu": [ - "x64" - ], + "node_modules/minipass-fetch/node_modules/minipass": { + "version": "3.3.6", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">= 10" + "node": ">=8" } }, - "node_modules/nx/node_modules/cliui": { - "version": "7.0.4", + "node_modules/minipass-flush": { + "version": "1.0.5", "dev": true, "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/nx/node_modules/fast-glob": { - "version": "3.2.7", + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "yallist": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/nx/node_modules/fs-extra": { - "version": "11.1.1", + "node_modules/minipass-json-stream": { + "version": "1.0.1", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" } }, - "node_modules/nx/node_modules/glob": { - "version": "7.1.4", + "node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", "dev": true, "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/nx/node_modules/glob-parent": { - "version": "5.1.2", + "node_modules/minipass-pipeline": { + "version": "1.2.4", "dev": true, "license": "ISC", "dependencies": { - "is-glob": "^4.0.1" + "minipass": "^3.0.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/nx/node_modules/lines-and-columns": { - "version": "2.0.3", + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=8" } }, - "node_modules/nx/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/minipass-sized": { + "version": "1.0.3", "dev": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "minipass": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/nx/node_modules/minimatch": { - "version": "3.0.5", + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "yallist": "^4.0.0" }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/nx/node_modules/semver": { - "version": "7.3.4", + "node_modules/minizlib": { + "version": "2.1.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">= 8" } }, - "node_modules/nx/node_modules/strip-bom": { - "version": "3.0.0", + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/nx/node_modules/tsconfig-paths": { - "version": "4.2.0", + "node_modules/mkdirp": { + "version": "1.0.4", "dev": true, "license": "MIT", - "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/nx/node_modules/yargs-parser": { - "version": "21.1.1", + "node_modules/mkdirp-infer-owner": { + "version": "2.0.0", "dev": true, "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "infer-owner": "^1.0.4", + "mkdirp": "^1.0.3" + }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/object-inspect": { - "version": "1.12.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/mnemonist": { + "version": "0.38.3", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.3.tgz", + "integrity": "sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==", + "dependencies": { + "obliterator": "^1.6.1" } }, - "node_modules/object-keys": { - "version": "1.1.1", + "node_modules/modify-values": { + "version": "1.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" } }, - "node_modules/object.assign": { - "version": "4.1.4", + "node_modules/ms": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/multimatch": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/object.values": { - "version": "1.1.6", + "node_modules/multimatch/node_modules/arrify": { + "version": "2.0.1", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/obliterator": { - "version": "1.6.1", + "node_modules/mute-stream": { + "version": "0.0.8", + "dev": true, + "license": "ISC" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, "license": "MIT" }, - "node_modules/once": { + "node_modules/natural-compare-lite": { "version": "1.4.0", "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } + "license": "MIT" }, - "node_modules/onetime": { - "version": "5.1.2", + "node_modules/negotiator": { + "version": "0.6.3", "dev": true, "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/open": { - "version": "8.4.0", + "node_modules/neo-async": { + "version": "2.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/netmask": { + "version": "2.0.2", "dev": true, "license": "MIT", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.4.0" } }, - "node_modules/optionator": { - "version": "0.9.1", + "node_modules/nise": { + "version": "5.1.4", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" + "@sinonjs/commons": "^2.0.0", + "@sinonjs/fake-timers": "^10.0.2", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "path-to-regexp": "^1.7.0" } }, - "node_modules/ora": { - "version": "5.4.1", + "node_modules/nise/node_modules/@sinonjs/commons": { + "version": "2.0.0", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type-detect": "4.0.8" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "10.0.2", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^2.0.0" } }, - "node_modules/p-finally": { - "version": "1.0.0", + "node_modules/node-addon-api": { + "version": "3.2.1", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/p-limit": { - "version": "3.1.0", + "node_modules/node-fetch": { + "version": "2.6.7", "dev": true, "license": "MIT", "dependencies": { - "yocto-queue": "^0.1.0" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">=10" + "node": "4.x || >=6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/p-locate": { - "version": "5.0.0", + "node_modules/node-gyp": { + "version": "9.3.1", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^3.0.2" + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" }, - "engines": { - "node": ">=10" + "bin": { + "node-gyp": "bin/node-gyp.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^12.13 || ^14.13 || >=16" } }, - "node_modules/p-map": { - "version": "4.0.0", + "node_modules/node-gyp-build": { + "version": "4.6.0", "dev": true, "license": "MIT", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/abbrev": { + "version": "1.1.1", + "dev": true, + "license": "ISC" + }, + "node_modules/node-gyp/node_modules/nopt": { + "version": "6.0.0", + "dev": true, + "license": "ISC", "dependencies": { - "aggregate-error": "^3.0.0" + "abbrev": "^1.0.0" }, - "engines": { - "node": ">=10" + "bin": { + "nopt": "bin/nopt.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/p-map-series": { - "version": "2.1.0", + "node_modules/node-int64": { + "version": "0.4.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/p-pipe": { - "version": "3.1.0", + "node_modules/node-releases": { + "version": "2.0.8", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT" }, - "node_modules/p-queue": { - "version": "6.6.2", + "node_modules/nopt": { + "version": "7.1.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" + "abbrev": "^2.0.0" }, - "engines": { - "node": ">=8" + "bin": { + "nopt": "bin/nopt.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/p-reduce": { - "version": "2.1.0", + "node_modules/normalize-package-data": { + "version": "3.0.3", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/p-timeout": { - "version": "3.2.0", + "node_modules/normalize-package-data/node_modules/hosted-git-info": { + "version": "4.1.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "p-finally": "^1.0.0" + "lru-cache": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/p-try": { - "version": "2.2.0", + "node_modules/normalize-package-data/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/p-waterfall": { - "version": "2.1.1", + "node_modules/normalize-path": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "p-reduce": "^2.0.0" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/pac-proxy-agent": { - "version": "5.0.0", + "node_modules/npm-bundled": { + "version": "3.0.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4", - "get-uri": "3", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "5", - "pac-resolver": "^5.0.0", - "raw-body": "^2.2.0", - "socks-proxy-agent": "5" + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": ">= 8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pac-resolver": { - "version": "5.0.1", + "node_modules/npm-install-checks": { + "version": "6.1.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "degenerator": "^3.0.2", - "ip": "^1.1.5", - "netmask": "^2.0.2" + "semver": "^7.1.1" }, "engines": { - "node": ">= 8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote": { - "version": "13.6.2", + "node_modules/npm-normalize-package-bin": { + "version": "3.0.0", "dev": true, "license": "ISC", - "dependencies": { - "@npmcli/git": "^3.0.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/run-script": "^4.1.0", - "cacache": "^16.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.6", - "mkdirp": "^1.0.4", - "npm-package-arg": "^9.0.0", - "npm-packlist": "^5.1.0", - "npm-pick-manifest": "^7.0.0", - "npm-registry-fetch": "^13.0.1", - "proc-log": "^2.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^5.0.0", - "read-package-json-fast": "^2.0.3", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "lib/bin.js" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg": { + "version": "8.1.1", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^3.0.6", + "semver": "^7.0.0", + "validate-npm-package-name": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/pacote/node_modules/@npmcli/fs": { - "version": "2.1.2", + "node_modules/npm-package-arg/node_modules/builtins": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/npm-package-arg/node_modules/hosted-git-info": { + "version": "3.0.8", "dev": true, "license": "ISC", "dependencies": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" + "lru-cache": "^6.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/pacote/node_modules/@npmcli/installed-package-contents": { - "version": "1.0.7", + "node_modules/npm-package-arg/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, "license": "ISC", "dependencies": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - }, - "bin": { - "installed-package-contents": "index.js" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/pacote/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/npm-package-arg/node_modules/validate-npm-package-name": { + "version": "3.0.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "balanced-match": "^1.0.0" + "builtins": "^1.0.3" } }, - "node_modules/pacote/node_modules/cacache": { - "version": "16.1.3", + "node_modules/npm-packlist": { + "version": "5.1.1", "dev": true, "license": "ISC", "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" + "ignore-walk": "^5.0.1", + "npm-bundled": "^1.1.2", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "npm-packlist": "bin/index.js" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/pacote/node_modules/fs-minipass": { - "version": "2.1.0", + "node_modules/npm-packlist/node_modules/brace-expansion": { + "version": "2.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" + "balanced-match": "^1.0.0" } }, - "node_modules/pacote/node_modules/glob": { + "node_modules/npm-packlist/node_modules/glob": { "version": "8.1.0", "dev": true, "license": "ISC", @@ -17329,18 +13669,7 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/pacote/node_modules/hosted-git-info": { - "version": "5.2.1", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^7.5.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/pacote/node_modules/minimatch": { + "node_modules/npm-packlist/node_modules/minimatch": { "version": "5.1.6", "dev": true, "license": "ISC", @@ -17351,18 +13680,7 @@ "node": ">=10" } }, - "node_modules/pacote/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pacote/node_modules/npm-bundled": { + "node_modules/npm-packlist/node_modules/npm-bundled": { "version": "1.1.2", "dev": true, "license": "ISC", @@ -17370,694 +13688,926 @@ "npm-normalize-package-bin": "^1.0.1" } }, - "node_modules/pacote/node_modules/npm-install-checks": { - "version": "5.0.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/pacote/node_modules/npm-normalize-package-bin": { + "node_modules/npm-packlist/node_modules/npm-normalize-package-bin": { "version": "1.0.1", "dev": true, "license": "ISC" }, - "node_modules/pacote/node_modules/npm-package-arg": { - "version": "9.1.2", + "node_modules/npm-pick-manifest": { + "version": "8.0.1", "dev": true, "license": "ISC", "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^10.0.0", + "semver": "^7.3.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/npm-pick-manifest": { - "version": "7.0.2", + "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { + "version": "10.1.0", "dev": true, "license": "ISC", "dependencies": { - "npm-install-checks": "^5.0.0", - "npm-normalize-package-bin": "^2.0.0", - "npm-package-arg": "^9.0.0", - "semver": "^7.3.5" + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", + "node_modules/npm-pick-manifest/node_modules/validate-npm-package-name": { + "version": "5.0.0", "dev": true, "license": "ISC", + "dependencies": { + "builtins": "^5.0.0" + }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/npm-registry-fetch": { - "version": "13.3.1", + "node_modules/npm-registry-fetch": { + "version": "14.0.3", "dev": true, "license": "ISC", "dependencies": { - "make-fetch-happen": "^10.0.6", - "minipass": "^3.1.6", - "minipass-fetch": "^2.0.3", + "make-fetch-happen": "^11.0.0", + "minipass": "^4.0.0", + "minipass-fetch": "^3.0.0", "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", - "npm-package-arg": "^9.0.1", - "proc-log": "^2.0.0" + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/proc-log": { - "version": "2.0.1", + "node_modules/npm-registry-fetch/node_modules/@tootallnate/once": { + "version": "2.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 10" } }, - "node_modules/pacote/node_modules/read-package-json-fast": { - "version": "2.0.3", + "node_modules/npm-registry-fetch/node_modules/http-proxy-agent": { + "version": "5.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/pacote/node_modules/unique-filename": { - "version": "2.0.1", + "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { + "version": "11.0.3", "dev": true, "license": "ISC", "dependencies": { - "unique-slug": "^3.0.0" + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^4.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/unique-slug": { - "version": "3.0.0", + "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^4.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { + "version": "10.1.0", "dev": true, "license": "ISC", "dependencies": { - "imurmurhash": "^0.1.4" + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/parent-module": { - "version": "1.0.1", + "node_modules/npm-registry-fetch/node_modules/socks-proxy-agent": { + "version": "7.0.0", "dev": true, "license": "MIT", "dependencies": { - "callsites": "^3.0.0" + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" }, "engines": { - "node": ">=6" + "node": ">= 10" } }, - "node_modules/parse-conflict-json": { - "version": "3.0.1", + "node_modules/npm-registry-fetch/node_modules/ssri": { + "version": "10.0.1", "dev": true, "license": "ISC", "dependencies": { - "json-parse-even-better-errors": "^3.0.0", - "just-diff": "^6.0.0", - "just-diff-apply": "^5.2.0" + "minipass": "^4.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/parse-conflict-json/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", + "node_modules/npm-registry-fetch/node_modules/validate-npm-package-name": { + "version": "5.0.0", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "builtins": "^5.0.0" + }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/parse-json": { - "version": "5.2.0", + "node_modules/npm-run-path": { + "version": "4.0.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "path-key": "^3.0.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-path": { - "version": "7.0.0", + "node_modules/npmlog": { + "version": "6.0.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "protocols": "^2.0.0" + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/parse-url": { - "version": "8.1.0", + "node_modules/nx": { + "version": "15.9.2", "dev": true, + "hasInstallScript": true, "license": "MIT", "dependencies": { - "parse-path": "^7.0.0" + "@nrwl/cli": "15.9.2", + "@nrwl/tao": "15.9.2", + "@parcel/watcher": "2.0.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "^3.0.0-rc.18", + "@zkochan/js-yaml": "0.0.6", + "axios": "^1.0.0", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^7.0.2", + "dotenv": "~10.0.0", + "enquirer": "~2.3.6", + "fast-glob": "3.2.7", + "figures": "3.2.0", + "flat": "^5.0.2", + "fs-extra": "^11.1.0", + "glob": "7.1.4", + "ignore": "^5.0.4", + "js-yaml": "4.1.0", + "jsonc-parser": "3.2.0", + "lines-and-columns": "~2.0.3", + "minimatch": "3.0.5", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "semver": "7.3.4", + "string-width": "^4.2.3", + "strong-log-transformer": "^2.1.0", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "v8-compile-cache": "2.3.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js" + }, + "optionalDependencies": { + "@nrwl/nx-darwin-arm64": "15.9.2", + "@nrwl/nx-darwin-x64": "15.9.2", + "@nrwl/nx-linux-arm-gnueabihf": "15.9.2", + "@nrwl/nx-linux-arm64-gnu": "15.9.2", + "@nrwl/nx-linux-arm64-musl": "15.9.2", + "@nrwl/nx-linux-x64-gnu": "15.9.2", + "@nrwl/nx-linux-x64-musl": "15.9.2", + "@nrwl/nx-win32-arm64-msvc": "15.9.2", + "@nrwl/nx-win32-x64-msvc": "15.9.2" + }, + "peerDependencies": { + "@swc-node/register": "^1.4.2", + "@swc/core": "^1.2.173" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } } }, - "node_modules/path-exists": { - "version": "4.0.0", + "node_modules/nx/node_modules/@nrwl/nx-darwin-arm64": { + "version": "15.9.2", + "resolved": "https://registry.npmjs.org/@nrwl/nx-darwin-arm64/-/nx-darwin-arm64-15.9.2.tgz", + "integrity": "sha512-Yv+OVsQt3C/hmWOC+YhJZQlsyph5w1BHfbp4jyCvV1ZXBbb8NdvwxgDHPWXxKPTc1EXuB7aEX3qzxM3/OWEUJg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", + "node_modules/nx/node_modules/@nrwl/nx-darwin-x64": { + "version": "15.9.2", + "resolved": "https://registry.npmjs.org/@nrwl/nx-darwin-x64/-/nx-darwin-x64-15.9.2.tgz", + "integrity": "sha512-qHfdluHlPzV0UHOwj1ZJ+qNEhzfLGiBuy1cOth4BSzDlvMnkuqBWoprfaXoztzYcus2NSILY1/7b3Jw4DAWmMw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=0.10.0" + "node": ">= 10" } }, - "node_modules/path-key": { - "version": "3.1.1", + "node_modules/nx/node_modules/@nrwl/nx-linux-arm-gnueabihf": { + "version": "15.9.2", + "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-15.9.2.tgz", + "integrity": "sha512-0GzwbablosnYnnJDCJvAeZv8LlelSrNwUnGhe43saeoZdAew35Ay1E34zBrg/GCGTASuz+knEEYFM+gDD9Mc6A==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">= 10" } }, - "node_modules/path-parse": { - "version": "1.0.7", + "node_modules/nx/node_modules/@nrwl/nx-linux-x64-gnu": { + "version": "15.9.2", + "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-x64-gnu/-/nx-linux-x64-gnu-15.9.2.tgz", + "integrity": "sha512-gHWsP5lbe4FNQCa1Q/VLxIuik+BqAOcSzyPjdUa4gCDcbxPa8xiE57PgXB5E1XUzOWNnDTlXa/Ll07/TIuKuog==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } }, - "node_modules/path-scurry": { - "version": "1.6.3", + "node_modules/nx/node_modules/@nrwl/nx-linux-x64-musl": { + "version": "15.9.2", + "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-x64-musl/-/nx-linux-x64-musl-15.9.2.tgz", + "integrity": "sha512-EaFUukCbmoHsYECX2AS4pxXH933yesBFVvBgD38DkoFDxDoJMVt6JqYwm+d5R7S4R2P9U3l++aurljQTRq567Q==", + "cpu": [ + "x64" + ], "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^7.14.1", - "minipass": "^4.0.2" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 10" } }, - "node_modules/path-to-regexp": { - "version": "1.8.0", + "node_modules/nx/node_modules/@nrwl/nx-win32-arm64-msvc": { + "version": "15.9.2", + "resolved": "https://registry.npmjs.org/@nrwl/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-15.9.2.tgz", + "integrity": "sha512-PGAe7QMr51ivx1X3avvs8daNlvv1wGo3OFrobjlu5rSyjC1Y3qHwT9+wdlwzNZ93FIqWOq09s+rE5gfZRfpdAg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "0.0.1" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/path-to-regexp/node_modules/isarray": { - "version": "0.0.1", + "node_modules/nx/node_modules/@nrwl/nx-win32-x64-msvc": { + "version": "15.9.2", + "resolved": "https://registry.npmjs.org/@nrwl/nx-win32-x64-msvc/-/nx-win32-x64-msvc-15.9.2.tgz", + "integrity": "sha512-Q8onNzhuAZ0l9DNkm8D4Z1AEIzJr8JiT4L2fVBLYrV/R75C2HS3q7lzvfo6oqMY6mXge1cFPcrTtg3YXBQaSWA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } }, - "node_modules/path-type": { - "version": "4.0.0", + "node_modules/nx/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/nx/node_modules/fast-glob": { + "version": "3.2.7", "dev": true, "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, "engines": { "node": ">=8" } }, - "node_modules/phin": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/phin/-/phin-3.7.0.tgz", - "integrity": "sha512-DqnVNrpYhKGBZppNKprD+UJylMeEKOZxHgPB+ZP6mGzf3uA2uox4Ep9tUm+rUc8WLIdHT3HcAE4X8fhwQA9JKg==", + "node_modules/nx/node_modules/fs-extra": { + "version": "11.1.1", + "dev": true, + "license": "MIT", "dependencies": { - "centra": "^2.6.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 8" + "node": ">=14.14" } }, - "node_modules/picocolors": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", + "node_modules/nx/node_modules/glob": { + "version": "7.1.4", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "engines": { + "node": "*" } }, - "node_modules/pidtree": { - "version": "0.6.0", + "node_modules/nx/node_modules/glob-parent": { + "version": "5.1.2", "dev": true, - "license": "MIT", - "bin": { - "pidtree": "bin/pidtree.js" + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" }, "engines": { - "node": ">=0.10" + "node": ">= 6" } }, - "node_modules/pify": { - "version": "5.0.0", + "node_modules/nx/node_modules/lines-and-columns": { + "version": "2.0.3", "dev": true, "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/pirates": { - "version": "4.0.5", + "node_modules/nx/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">= 6" + "node": ">=10" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", + "node_modules/nx/node_modules/minimatch": { + "version": "3.0.5", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "find-up": "^4.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", + "node_modules/nx/node_modules/semver": { + "version": "7.3.4", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/nx/node_modules/strip-bom": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/nx/node_modules/tsconfig-paths": { + "version": "4.2.0", "dev": true, "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" }, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/nx/node_modules/yargs-parser": { + "version": "21.1.1", "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, + "license": "ISC", "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/postcss-selector-parser": { - "version": "6.0.11", + "node_modules/object-inspect": { + "version": "1.12.2", "dev": true, "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", + "node_modules/object-keys": { + "version": "1.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8.0" + "node": ">= 0.4" } }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "node_modules/object.assign": { + "version": "4.1.4", "dev": true, - "bin": { - "prettier": "bin-prettier.js" + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=10.13.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "node_modules/object.values": { + "version": "1.1.6", "dev": true, + "license": "MIT", "dependencies": { - "fast-diff": "^1.1.2" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pretty-format": { - "version": "29.4.3", + "node_modules/obliterator": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-1.6.1.tgz", + "integrity": "sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig==" + }, + "node_modules/once": { + "version": "1.4.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@jest/schemas": "^29.4.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "wrappy": "1" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", + "node_modules/onetime": { + "version": "5.1.2", "dev": true, "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/proc-log": { - "version": "3.0.0", + "node_modules/open": { + "version": "8.4.0", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/process": { - "version": "0.11.10", + "node_modules/optionator": { + "version": "0.9.1", "dev": true, "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, "engines": { - "node": ">= 0.6.0" + "node": ">= 0.8.0" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/promise-all-reject-late": { - "version": "1.0.1", + "node_modules/ora": { + "version": "5.4.1", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/promise-call-limit": { + "node_modules/os-tmpdir": { "version": "1.0.2", "dev": true, - "license": "ISC", - "funding": { - "url": "https://github.com/sponsors/isaacs" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/promise-inflight": { - "version": "1.0.1", + "node_modules/p-finally": { + "version": "1.0.0", "dev": true, - "license": "ISC" + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "node_modules/promise-retry": { - "version": "2.0.1", + "node_modules/p-limit": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" + "yocto-queue": "^0.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/promptly": { - "version": "3.2.0", + "node_modules/p-locate": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "read": "^1.0.4" + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/prompts": { - "version": "2.4.2", + "node_modules/p-map": { + "version": "4.0.0", "dev": true, "license": "MIT", "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "aggregate-error": "^3.0.0" }, "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/promzard": { - "version": "0.3.0", + "node_modules/p-map-series": { + "version": "2.1.0", "dev": true, - "license": "ISC", - "dependencies": { - "read": "1" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/proto-list": { - "version": "1.2.4", - "dev": true, - "license": "ISC" - }, - "node_modules/protocols": { - "version": "2.0.1", + "node_modules/p-pipe": { + "version": "3.1.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/proxy-agent": { - "version": "5.0.0", + "node_modules/p-queue": { + "version": "6.6.2", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^6.0.0", - "debug": "4", - "http-proxy-agent": "^4.0.0", - "https-proxy-agent": "^5.0.0", - "lru-cache": "^5.1.1", - "pac-proxy-agent": "^5.0.0", - "proxy-from-env": "^1.0.0", - "socks-proxy-agent": "^5.0.0" + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" }, "engines": { - "node": ">= 8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/proxy-agent/node_modules/lru-cache": { - "version": "5.1.1", + "node_modules/p-reduce": { + "version": "2.1.0", "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/proxy-agent/node_modules/yallist": { - "version": "3.1.1", - "dev": true, - "license": "ISC" - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", + "node_modules/p-timeout": { + "version": "3.2.0", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/punycode": { - "version": "2.1.1", + "node_modules/p-try": { + "version": "2.2.0", "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/q": { - "version": "1.5.1", + "node_modules/p-waterfall": { + "version": "2.1.1", "dev": true, "license": "MIT", + "dependencies": { + "p-reduce": "^2.0.0" + }, "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/querystring": { - "version": "0.2.0", + "node_modules/pac-proxy-agent": { + "version": "5.0.0", "dev": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4", + "get-uri": "3", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "5", + "pac-resolver": "^5.0.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "5" + }, "engines": { - "node": ">=0.4.x" + "node": ">= 8" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/quick-lru": { - "version": "4.0.1", + "node_modules/pac-resolver": { + "version": "5.0.1", "dev": true, "license": "MIT", + "dependencies": { + "degenerator": "^3.0.2", + "ip": "^1.1.5", + "netmask": "^2.0.2" + }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/raw-body": { - "version": "2.5.1", + "node_modules/pacote": { + "version": "13.6.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "@npmcli/git": "^3.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/run-script": "^4.1.0", + "cacache": "^16.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.6", + "mkdirp": "^1.0.4", + "npm-package-arg": "^9.0.0", + "npm-packlist": "^5.1.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^5.0.0", + "read-package-json-fast": "^2.0.3", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" }, "engines": { - "node": ">= 0.8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/react-is": { - "version": "18.2.0", + "node_modules/pacote/node_modules/@npmcli/fs": { + "version": "2.1.2", "dev": true, - "license": "MIT" + "license": "ISC", + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, - "node_modules/read": { + "node_modules/pacote/node_modules/@npmcli/installed-package-contents": { "version": "1.0.7", "dev": true, "license": "ISC", "dependencies": { - "mute-stream": "~0.0.4" + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "installed-package-contents": "index.js" }, "engines": { - "node": ">=0.8" + "node": ">= 10" } }, - "node_modules/read-cmd-shim": { - "version": "3.0.0", + "node_modules/pacote/node_modules/brace-expansion": { + "version": "2.0.1", "dev": true, - "license": "ISC", - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/read-package-json": { - "version": "5.0.1", + "node_modules/pacote/node_modules/cacache": { + "version": "16.1.3", "dev": true, "license": "ISC", "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", "glob": "^8.0.1", - "json-parse-even-better-errors": "^2.3.1", - "normalize-package-data": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1" + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/read-package-json-fast": { - "version": "3.0.2", + "node_modules/pacote/node_modules/fs-minipass": { + "version": "2.1.0", "dev": true, "license": "ISC", "dependencies": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "minipass": "^3.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "node": ">= 8" } }, - "node_modules/read-package-json/node_modules/glob": { + "node_modules/pacote/node_modules/glob": { "version": "8.1.0", "dev": true, "license": "ISC", @@ -18075,7 +14625,7 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/read-package-json/node_modules/hosted-git-info": { + "node_modules/pacote/node_modules/hosted-git-info": { "version": "5.2.1", "dev": true, "license": "ISC", @@ -18086,7 +14636,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/read-package-json/node_modules/minimatch": { + "node_modules/pacote/node_modules/minimatch": { "version": "5.1.6", "dev": true, "license": "ISC", @@ -18097,1457 +14647,1320 @@ "node": ">=10" } }, - "node_modules/read-package-json/node_modules/normalize-package-data": { - "version": "4.0.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^5.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/read-package-json/node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/read-pkg": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "2.0.0", + "node_modules/pacote/node_modules/minipass": { + "version": "3.3.6", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "1.3.0", + "node_modules/pacote/node_modules/npm-bundled": { + "version": "1.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" + "npm-normalize-package-bin": "^1.0.1" } }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "2.0.0", + "node_modules/pacote/node_modules/npm-install-checks": { + "version": "5.0.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "p-limit": "^1.1.0" + "semver": "^7.1.1" }, "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/p-try": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", + "node_modules/pacote/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", "dev": true, "license": "ISC" }, - "node_modules/read-pkg/node_modules/load-json-file": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/parse-json": { - "version": "4.0.0", + "node_modules/pacote/node_modules/npm-package-arg": { + "version": "9.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": ">=4" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "3.0.0", + "node_modules/pacote/node_modules/npm-pick-manifest": { + "version": "7.0.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "pify": "^3.0.0" + "npm-install-checks": "^5.0.0", + "npm-normalize-package-bin": "^2.0.0", + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" }, "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/pify": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/read-pkg/node_modules/strip-bom": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, + "node_modules/pacote/node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "dev": true, + "license": "ISC", "engines": { - "node": ">= 6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/readdir-glob": { - "version": "1.1.2", + "node_modules/pacote/node_modules/npm-registry-fetch": { + "version": "13.3.1", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "minimatch": "^5.1.0" + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/readdir-glob/node_modules/brace-expansion": { + "node_modules/pacote/node_modules/proc-log": { "version": "2.0.1", "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.2", + "node_modules/pacote/node_modules/read-package-json-fast": { + "version": "2.0.3", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" }, "engines": { "node": ">=10" } }, - "node_modules/redent": { - "version": "3.0.0", + "node_modules/pacote/node_modules/unique-filename": { + "version": "2.0.1", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" + "unique-slug": "^3.0.0" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", + "node_modules/pacote/node_modules/unique-slug": { + "version": "3.0.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" + "imurmurhash": "^0.1.4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/regexpp": { - "version": "3.2.0", + "node_modules/parent-module": { + "version": "1.0.1", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "callsites": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" + "engines": { + "node": ">=6" } }, - "node_modules/require-directory": { - "version": "2.1.1", + "node_modules/parse-conflict-json": { + "version": "3.0.1", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "just-diff": "^6.0.0", + "just-diff-apply": "^5.2.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/require-from-string": { - "version": "2.0.2", + "node_modules/parse-conflict-json/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/resolve": { - "version": "1.22.1", + "node_modules/parse-json": { + "version": "5.2.0", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/resolve-cwd": { - "version": "3.0.0", + "node_modules/parse-path": { + "version": "7.0.0", "dev": true, "license": "MIT", "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "protocols": "^2.0.0" } }, - "node_modules/resolve.exports": { - "version": "1.1.0", + "node_modules/parse-url": { + "version": "8.1.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "parse-path": "^7.0.0" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", + "node_modules/path-exists": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, "engines": { "node": ">=8" } }, - "node_modules/retry": { - "version": "0.12.0", + "node_modules/path-is-absolute": { + "version": "1.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/reusify": { - "version": "1.0.4", + "node_modules/path-key": { + "version": "3.1.1", "dev": true, "license": "MIT", "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/rfdc": { - "version": "1.3.0", + "node_modules/path-parse": { + "version": "1.0.7", "dev": true, "license": "MIT" }, - "node_modules/rimraf": { - "version": "3.0.2", + "node_modules/path-scurry": { + "version": "1.6.3", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "glob": "^7.1.3" + "lru-cache": "^7.14.1", + "minipass": "^4.0.2" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/run-async": { - "version": "2.4.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", + "node_modules/path-to-regexp": { + "version": "1.8.0", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT", "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" + "isarray": "0.0.1" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", + "node_modules/path-to-regexp/node_modules/isarray": { + "version": "0.0.1", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT" }, - "node_modules/safe-regex-test": { - "version": "1.0.0", + "node_modules/path-type": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/sam-example": { - "resolved": "examples/sam", - "link": true + "node_modules/phin": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/phin/-/phin-3.7.0.tgz", + "integrity": "sha512-DqnVNrpYhKGBZppNKprD+UJylMeEKOZxHgPB+ZP6mGzf3uA2uox4Ep9tUm+rUc8WLIdHT3HcAE4X8fhwQA9JKg==", + "dependencies": { + "centra": "^2.6.0" + }, + "engines": { + "node": ">= 8" + } }, - "node_modules/sax": { - "version": "1.2.1", + "node_modules/picocolors": { + "version": "1.0.0", "dev": true, "license": "ISC" }, - "node_modules/semver": { - "version": "7.3.7", + "node_modules/picomatch": { + "version": "2.3.1", "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" + "license": "MIT", + "engines": { + "node": ">=8.6" }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "dev": true, + "license": "MIT", "bin": { - "semver": "bin/semver.js" + "pidtree": "bin/pidtree.js" }, "engines": { - "node": ">=10" + "node": ">=0.10" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/pify": { + "version": "5.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", + "node_modules/pirates": { + "version": "4.0.5", "dev": true, - "license": "ISC" + "license": "MIT", + "engines": { + "node": ">= 6" + } }, - "node_modules/shallow-clone": { - "version": "3.0.1", + "node_modules/pkg-dir": { + "version": "4.2.0", "dev": true, "license": "MIT", "dependencies": { - "kind-of": "^6.0.2" + "find-up": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/shebang-command": { - "version": "2.0.0", + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "shebang-regex": "^3.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", "dev": true, "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, "engines": { "node": ">=8" } }, - "node_modules/shiki": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.2.tgz", - "integrity": "sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==", + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", "dev": true, + "license": "MIT", "dependencies": { - "ansi-sequence-parser": "^1.1.0", - "jsonc-parser": "^3.2.0", - "vscode-oniguruma": "^1.7.0", - "vscode-textmate": "^8.0.0" + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/shimmer": { - "version": "1.2.1", - "license": "BSD-2-Clause" - }, - "node_modules/side-channel": { - "version": "1.0.4", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "p-limit": "^2.2.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "dev": true, - "license": "ISC" - }, - "node_modules/sigstore": { - "version": "1.2.0", + "node_modules/postcss-selector-parser": { + "version": "6.0.11", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@sigstore/protobuf-specs": "^0.1.0", - "make-fetch-happen": "^11.0.1", - "tuf-js": "^1.0.0" - }, - "bin": { - "sigstore": "bin/sigstore.js" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/sigstore/node_modules/@tootallnate/once": { - "version": "2.0.0", + "node_modules/prelude-ls": { + "version": "1.2.1", "dev": true, "license": "MIT", "engines": { - "node": ">= 10" + "node": ">= 0.8.0" } }, - "node_modules/sigstore/node_modules/http-proxy-agent": { - "version": "5.0.0", + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, - "license": "MIT", - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "bin": { + "prettier": "bin-prettier.js" }, "engines": { - "node": ">= 6" + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/sigstore/node_modules/make-fetch-happen": { - "version": "11.0.3", + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, - "license": "ISC", "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^17.0.0", - "http-cache-semantics": "^4.1.1", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^10.0.0" + "fast-diff": "^1.1.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=6.0.0" } }, - "node_modules/sigstore/node_modules/minipass-fetch": { - "version": "3.0.1", + "node_modules/pretty-format": { + "version": "29.4.3", "dev": true, "license": "MIT", "dependencies": { - "minipass": "^4.0.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" + "@jest/schemas": "^29.4.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/sigstore/node_modules/socks-proxy-agent": { - "version": "7.0.0", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", "dev": true, "license": "MIT", - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, "engines": { - "node": ">= 10" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/sigstore/node_modules/ssri": { - "version": "10.0.1", + "node_modules/proc-log": { + "version": "3.0.0", "dev": true, "license": "ISC", - "dependencies": { - "minipass": "^4.0.0" - }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/sinon": { - "version": "14.0.2", + "node_modules/process": { + "version": "0.11.10", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^9.1.2", - "@sinonjs/samsam": "^7.0.1", - "diff": "^5.0.0", - "nise": "^5.1.2", - "supports-color": "^7.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" + "license": "MIT", + "engines": { + "node": ">= 0.6.0" } }, - "node_modules/sinon/node_modules/@sinonjs/commons": { - "version": "2.0.0", + "node_modules/process-nextick-args": { + "version": "2.0.1", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" + "license": "MIT" + }, + "node_modules/promise-all-reject-late": { + "version": "1.0.1", + "dev": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/sisteransi": { - "version": "1.0.5", + "node_modules/promise-call-limit": { + "version": "1.0.2", "dev": true, - "license": "MIT" + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "node_modules/slash": { - "version": "3.0.0", + "node_modules/promise-inflight": { + "version": "1.0.1", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "ISC" }, - "node_modules/slice-ansi": { - "version": "4.0.0", + "node_modules/promise-retry": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "err-code": "^2.0.2", + "retry": "^0.12.0" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", + "node_modules/promptly": { + "version": "3.2.0", "dev": true, "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "dependencies": { + "read": "^1.0.4" } }, - "node_modules/socks": { - "version": "2.7.1", + "node_modules/prompts": { + "version": "2.4.2", "dev": true, "license": "MIT", "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" + "node": ">= 6" } }, - "node_modules/socks-proxy-agent": { - "version": "5.0.1", + "node_modules/promzard": { + "version": "0.3.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "agent-base": "^6.0.2", - "debug": "4", - "socks": "^2.3.3" - }, - "engines": { - "node": ">= 6" + "read": "1" } }, - "node_modules/socks/node_modules/ip": { - "version": "2.0.0", + "node_modules/proto-list": { + "version": "1.2.4", + "dev": true, + "license": "ISC" + }, + "node_modules/protocols": { + "version": "2.0.1", "dev": true, "license": "MIT" }, - "node_modules/sort-keys": { - "version": "2.0.0", + "node_modules/proxy-agent": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "is-plain-obj": "^1.0.0" + "agent-base": "^6.0.0", + "debug": "4", + "http-proxy-agent": "^4.0.0", + "https-proxy-agent": "^5.0.0", + "lru-cache": "^5.1.1", + "pac-proxy-agent": "^5.0.0", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^5.0.0" }, "engines": { - "node": ">=4" + "node": ">= 8" } }, - "node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", + "node_modules/proxy-agent/node_modules/lru-cache": { + "version": "5.1.1", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/proxy-agent/node_modules/yallist": { + "version": "3.1.1", + "dev": true, + "license": "ISC" + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/punycode": { + "version": "2.1.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/source-map-support": { - "version": "0.5.13", + "node_modules/q": { + "version": "1.5.1", "dev": true, "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" } }, - "node_modules/spdx-correct": { - "version": "3.2.0", + "node_modules/querystring": { + "version": "0.2.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "engines": { + "node": ">=0.4.x" } }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", + "node_modules/queue-microtask": { + "version": "1.2.3", "dev": true, - "license": "CC-BY-3.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", + "node_modules/quick-lru": { + "version": "4.0.1", "dev": true, "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.13", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/split": { - "version": "1.0.1", + "node_modules/raw-body": { + "version": "2.5.1", "dev": true, "license": "MIT", "dependencies": { - "through": "2" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": "*" + "node": ">= 0.8" } }, - "node_modules/split2": { - "version": "3.2.2", + "node_modules/react-is": { + "version": "18.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/read": { + "version": "1.0.7", "dev": true, "license": "ISC", "dependencies": { - "readable-stream": "^3.0.0" + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/ssri": { - "version": "9.0.1", + "node_modules/read-cmd-shim": { + "version": "3.0.0", "dev": true, "license": "ISC", - "dependencies": { - "minipass": "^3.1.1" - }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/ssri/node_modules/minipass": { - "version": "3.3.6", + "node_modules/read-package-json": { + "version": "5.0.1", "dev": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "glob": "^8.0.1", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/stack-chain": { - "version": "1.3.7", - "license": "MIT" - }, - "node_modules/stack-utils": { - "version": "2.0.6", + "node_modules/read-package-json-fast": { + "version": "3.0.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "escape-string-regexp": "^2.0.0" + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", + "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/statuses": { + "node_modules/read-package-json/node_modules/brace-expansion": { "version": "2.0.1", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.8" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/string_decoder": { - "version": "1.3.0", + "node_modules/read-package-json/node_modules/glob": { + "version": "8.1.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "safe-buffer": "~5.2.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } - }, - "node_modules/string-argv": { - "version": "0.3.1", + }, + "node_modules/read-package-json/node_modules/hosted-git-info": { + "version": "5.2.1", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "lru-cache": "^7.5.1" + }, "engines": { - "node": ">=0.6.19" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/string-length": { - "version": "4.0.2", + "node_modules/read-package-json/node_modules/minimatch": { + "version": "5.1.6", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "brace-expansion": "^2.0.1" }, "engines": { "node": ">=10" } }, - "node_modules/string-width": { - "version": "4.2.3", + "node_modules/read-package-json/node_modules/normalize-package-data": { + "version": "4.0.1", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", + "node_modules/read-package-json/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "node_modules/read-pkg": { + "version": "3.0.0", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", + "node_modules/read-pkg-up": { + "version": "3.0.0", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "locate-path": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/strip-bom": { - "version": "4.0.0", + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", "dev": true, "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", "dev": true, "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/strip-indent": { - "version": "3.0.0", + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "min-indent": "^1.0.0" + "p-limit": "^1.1.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/strnum": { - "version": "1.0.5", - "license": "MIT" - }, - "node_modules/strong-log-transformer": { - "version": "2.1.0", + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "duplexer": "^0.1.1", - "minimist": "^1.2.0", - "through": "^2.3.4" - }, - "bin": { - "sl-log-transformer": "bin/sl-log-transformer.js" - }, + "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/supports-color": { - "version": "7.2.0", + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "dev": true, + "license": "ISC" + }, + "node_modules/read-pkg/node_modules/load-json-file": { + "version": "4.0.0", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/synckit": { - "version": "0.8.4", + "node_modules/read-pkg/node_modules/parse-json": { + "version": "4.0.0", "dev": true, "license": "MIT", "dependencies": { - "@pkgr/utils": "^2.3.1", - "tslib": "^2.4.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" + "node": ">=4" } }, - "node_modules/table": { - "version": "6.8.1", + "node_modules/read-pkg/node_modules/path-type": { + "version": "3.0.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" + "pify": "^3.0.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=4" } }, - "node_modules/tapable": { - "version": "2.2.1", + "node_modules/read-pkg/node_modules/pify": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/tar": { - "version": "6.1.11", + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.1", "dev": true, "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" + "bin": { + "semver": "bin/semver" } }, - "node_modules/tar-stream": { - "version": "2.2.0", + "node_modules/read-pkg/node_modules/strip-bom": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/tar/node_modules/fs-minipass": { - "version": "2.1.0", + "node_modules/readable-stream": { + "version": "3.6.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "minipass": "^3.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">= 8" + "node": ">= 6" } }, - "node_modules/tar/node_modules/minipass": { - "version": "3.3.6", + "node_modules/readdir-glob": { + "version": "1.1.2", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" + "minimatch": "^5.1.0" } }, - "node_modules/temp-dir": { - "version": "1.0.0", + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.1", "dev": true, "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/tempy": { - "version": "1.0.0", + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "del": "^6.0.0", - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" + "brace-expansion": "^2.0.1" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tempy/node_modules/temp-dir": { - "version": "2.0.0", + "node_modules/redent": { + "version": "3.0.0", "dev": true, "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/test-exclude": { - "version": "6.0.0", + "node_modules/regexpp": { + "version": "3.2.0", "dev": true, - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/text-extensions": { - "version": "1.9.0", + "node_modules/require-directory": { + "version": "2.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10" + "node": ">=0.10.0" } }, - "node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/through": { - "version": "2.3.8", - "dev": true, - "license": "MIT" - }, - "node_modules/through2": { - "version": "4.0.2", + "node_modules/require-from-string": { + "version": "2.0.2", "dev": true, "license": "MIT", - "dependencies": { - "readable-stream": "3" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/tiny-glob": { - "version": "0.2.9", + "node_modules/resolve": { + "version": "1.22.1", "dev": true, "license": "MIT", "dependencies": { - "globalyzer": "0.1.0", - "globrex": "^0.1.2" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tmp": { - "version": "0.2.1", + "node_modules/resolve-cwd": { + "version": "3.0.0", "dev": true, "license": "MIT", "dependencies": { - "rimraf": "^3.0.0" + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=8.17.0" + "node": ">=8" } }, - "node_modules/tmpl": { - "version": "1.0.5", + "node_modules/resolve-from": { + "version": "5.0.0", "dev": true, - "license": "BSD-3-Clause" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", + "node_modules/resolve.exports": { + "version": "1.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", + "node_modules/restore-cursor": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=8.0" + "node": ">=8" } }, - "node_modules/toidentifier": { - "version": "1.0.1", + "node_modules/retry": { + "version": "0.12.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.6" + "node": ">= 4" } }, - "node_modules/tr46": { - "version": "0.0.3", + "node_modules/reusify": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", "dev": true, "license": "MIT" }, - "node_modules/treeverse": { - "version": "3.0.0", + "node_modules/rimraf": { + "version": "3.0.2", "dev": true, "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/trim-newlines": { - "version": "3.0.1", + "node_modules/run-async": { + "version": "2.4.1", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.12.0" } }, - "node_modules/ts-jest": { - "version": "29.0.3", + "node_modules/run-parallel": { + "version": "1.2.0", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.1", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "7.x", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "babel-jest": { - "optional": true + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "esbuild": { - "optional": true + { + "type": "consulting", + "url": "https://feross.org/support" } + ], + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ts-jest/node_modules/yargs-parser": { - "version": "21.1.1", + "node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/sam-example": { + "resolved": "examples/sam", + "link": true + }, + "node_modules/sax": { + "version": "1.2.1", "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } + "license": "ISC" }, - "node_modules/ts-node": { - "version": "10.9.1", + "node_modules/semver": { + "version": "7.3.7", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" + "lru-cache": "^6.0.0" }, "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" + "semver": "bin/semver.js" }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } + "engines": { + "node": ">=10" } }, - "node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, - "license": "BSD-3-Clause", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=0.3.1" + "node": ">=10" } }, - "node_modules/tsconfig-paths": { - "version": "3.14.1", + "node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "dev": true, + "license": "ISC" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", "dev": true, "license": "MIT", "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" } }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", + "node_modules/shebang-command": { + "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "minimist": "^1.2.0" + "shebang-regex": "^3.0.0" }, - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": ">=8" } }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { + "node_modules/shebang-regex": { "version": "3.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/tslib": { - "version": "2.5.0", - "license": "0BSD" + "node_modules/shiki": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.2.tgz", + "integrity": "sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==", + "dev": true, + "dependencies": { + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } }, - "node_modules/tsutils": { - "version": "3.21.0", + "node_modules/shimmer": { + "version": "1.2.1", + "license": "BSD-2-Clause" + }, + "node_modules/side-channel": { + "version": "1.0.4", "dev": true, "license": "MIT", "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", + "node_modules/signal-exit": { + "version": "3.0.7", "dev": true, - "license": "0BSD" + "license": "ISC" }, - "node_modules/tuf-js": { - "version": "1.1.2", + "node_modules/sigstore": { + "version": "1.2.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@tufjs/models": "1.0.1", - "make-fetch-happen": "^11.0.1" + "@sigstore/protobuf-specs": "^0.1.0", + "make-fetch-happen": "^11.0.1", + "tuf-js": "^1.0.0" + }, + "bin": { + "sigstore": "bin/sigstore.js" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/tuf-js/node_modules/@tootallnate/once": { + "node_modules/sigstore/node_modules/@tootallnate/once": { "version": "2.0.0", "dev": true, "license": "MIT", @@ -19555,7 +15968,7 @@ "node": ">= 10" } }, - "node_modules/tuf-js/node_modules/http-proxy-agent": { + "node_modules/sigstore/node_modules/http-proxy-agent": { "version": "5.0.0", "dev": true, "license": "MIT", @@ -19568,7 +15981,7 @@ "node": ">= 6" } }, - "node_modules/tuf-js/node_modules/make-fetch-happen": { + "node_modules/sigstore/node_modules/make-fetch-happen": { "version": "11.0.3", "dev": true, "license": "ISC", @@ -19593,7 +16006,7 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/tuf-js/node_modules/minipass-fetch": { + "node_modules/sigstore/node_modules/minipass-fetch": { "version": "3.0.1", "dev": true, "license": "MIT", @@ -19609,7 +16022,7 @@ "encoding": "^0.1.13" } }, - "node_modules/tuf-js/node_modules/socks-proxy-agent": { + "node_modules/sigstore/node_modules/socks-proxy-agent": { "version": "7.0.0", "dev": true, "license": "MIT", @@ -19622,7 +16035,7 @@ "node": ">= 10" } }, - "node_modules/tuf-js/node_modules/ssri": { + "node_modules/sigstore/node_modules/ssri": { "version": "10.0.1", "dev": true, "license": "ISC", @@ -19633,1678 +16046,1666 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/type-check": { - "version": "0.4.0", + "node_modules/sinon": { + "version": "14.0.2", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "prelude-ls": "^1.2.1" + "@sinonjs/commons": "^2.0.0", + "@sinonjs/fake-timers": "^9.1.2", + "@sinonjs/samsam": "^7.0.1", + "diff": "^5.0.0", + "nise": "^5.1.2", + "supports-color": "^7.2.0" }, - "engines": { - "node": ">= 0.8.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" } }, - "node_modules/type-detect": { - "version": "4.0.8", + "node_modules/sinon/node_modules/@sinonjs/commons": { + "version": "2.0.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/type-fest": { - "version": "0.20.2", + "node_modules/slice-ansi": { + "version": "4.0.0", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/typedarray": { - "version": "0.0.6", + "node_modules/smart-buffer": { + "version": "4.2.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } }, - "node_modules/typedoc": { - "version": "0.24.7", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.24.7.tgz", - "integrity": "sha512-zzfKDFIZADA+XRIp2rMzLe9xZ6pt12yQOhCr7cD7/PBTjhPmMyMvGrkZ2lPNJitg3Hj1SeiYFNzCsSDrlpxpKw==", + "node_modules/socks": { + "version": "2.7.1", "dev": true, + "license": "MIT", "dependencies": { - "lunr": "^2.3.9", - "marked": "^4.3.0", - "minimatch": "^9.0.0", - "shiki": "^0.14.1" - }, - "bin": { - "typedoc": "bin/typedoc" + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" }, "engines": { - "node": ">= 14.14" + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "4", + "socks": "^2.3.3" }, - "peerDependencies": { - "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x" + "engines": { + "node": ">= 6" } }, - "node_modules/typedoc-plugin-missing-exports": { + "node_modules/socks/node_modules/ip": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-2.0.0.tgz", - "integrity": "sha512-t0QlKCm27/8DaheJkLo/gInSNjzBXgSciGhoLpL6sLyXZibm7SuwJtHvg4qXI2IjJfFBgW9mJvvszpoxMyB0TA==", "dev": true, - "peerDependencies": { - "typedoc": "0.24.x" - } + "license": "MIT" }, - "node_modules/typedoc/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/sort-keys": { + "version": "2.0.0", "dev": true, + "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/typedoc/node_modules/minimatch": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", - "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/typescript": { - "version": "4.9.4", + "node_modules/spdx-correct": { + "version": "3.2.0", "dev": true, "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/uglify-js": { - "version": "3.17.4", + "node_modules/spdx-exceptions": { + "version": "2.3.0", "dev": true, - "license": "BSD-2-Clause", - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/unbox-primitive": { - "version": "1.0.2", + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/split": { + "version": "1.0.1", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "through": "2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "*" } }, - "node_modules/unique-filename": { - "version": "3.0.0", + "node_modules/split2": { + "version": "3.2.2", "dev": true, "license": "ISC", "dependencies": { - "unique-slug": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "readable-stream": "^3.0.0" } }, - "node_modules/unique-slug": { - "version": "4.0.0", + "node_modules/sprintf-js": { + "version": "1.0.3", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/ssri": { + "version": "9.0.1", "dev": true, "license": "ISC", "dependencies": { - "imurmurhash": "^0.1.4" + "minipass": "^3.1.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/unique-string": { - "version": "2.0.0", + "node_modules/ssri/node_modules/minipass": { + "version": "3.3.6", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "crypto-random-string": "^2.0.0" + "yallist": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/universal-user-agent": { - "version": "6.0.0", - "dev": true, - "license": "ISC" + "node_modules/stack-chain": { + "version": "1.3.7", + "license": "MIT" }, - "node_modules/universalify": { - "version": "2.0.0", + "node_modules/stack-utils": { + "version": "2.0.6", "dev": true, "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=10" } }, - "node_modules/unpipe": { - "version": "1.0.0", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/upath": { + "node_modules/statuses": { "version": "2.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">=4", - "yarn": "*" + "node": ">= 0.8" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.10", + "node_modules/string_decoder": { + "version": "1.3.0", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "safe-buffer": "~5.2.0" } }, - "node_modules/uri-js": { - "version": "4.4.1", + "node_modules/string-argv": { + "version": "0.3.1", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" + "license": "MIT", + "engines": { + "node": ">=0.6.19" } }, - "node_modules/url": { - "version": "0.10.3", + "node_modules/string-length": { + "version": "4.0.2", "dev": true, "license": "MIT", "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "dev": true, - "license": "MIT" - }, - "node_modules/util": { - "version": "0.12.5", + "node_modules/string-width": { + "version": "4.2.3", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/uuid": { - "version": "9.0.0", + "node_modules/string.prototype.trimend": { + "version": "1.0.6", "dev": true, "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/v8-to-istanbul": { - "version": "9.0.1", + "node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=10.12.0" + "node": ">=8" } }, - "node_modules/v8-to-istanbul/node_modules/convert-source-map": { - "version": "1.9.0", + "node_modules/strip-bom": { + "version": "4.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", + "node_modules/strip-final-newline": { + "version": "2.0.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/validate-npm-package-name": { - "version": "4.0.0", + "node_modules/strip-indent": { + "version": "3.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "builtins": "^5.0.0" + "min-indent": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/vm2": { - "version": "3.9.18", - "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.18.tgz", - "integrity": "sha512-iM7PchOElv6Uv6Q+0Hq7dcgDtWWT6SizYqVcvol+1WQc+E9HlgTCnPozbQNSP3yDV9oXHQOEQu530w2q/BCVZg==", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "node_modules/strong-log-transformer": { + "version": "2.1.0", "dev": true, + "license": "Apache-2.0", "dependencies": { - "acorn": "^8.7.0", - "acorn-walk": "^8.2.0" + "duplexer": "^0.1.1", + "minimist": "^1.2.0", + "through": "^2.3.4" }, "bin": { - "vm2": "bin/vm2" + "sl-log-transformer": "bin/sl-log-transformer.js" }, "engines": { - "node": ">=6.0" + "node": ">=4" } }, - "node_modules/vscode-oniguruma": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", - "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", - "dev": true - }, - "node_modules/vscode-textmate": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", - "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", - "dev": true - }, - "node_modules/walk-up-path": { - "version": "1.0.0", + "node_modules/supports-color": { + "version": "7.2.0", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/walker": { - "version": "1.0.8", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "makeerror": "1.0.12" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wcwidth": { - "version": "1.0.1", + "node_modules/synckit": { + "version": "0.8.4", "dev": true, "license": "MIT", "dependencies": { - "defaults": "^1.0.3" + "@pkgr/utils": "^2.3.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" } }, - "node_modules/webidl-conversions": { - "version": "3.0.1", + "node_modules/table": { + "version": "6.8.1", "dev": true, - "license": "BSD-2-Clause" + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } }, - "node_modules/whatwg-url": { - "version": "5.0.0", + "node_modules/tapable": { + "version": "2.2.1", "dev": true, "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/which": { - "version": "2.0.2", + "node_modules/tar": { + "version": "6.1.11", "dev": true, "license": "ISC", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" }, "engines": { - "node": ">= 8" + "node": ">= 10" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", + "node_modules/tar-stream": { + "version": "2.2.0", "dev": true, "license": "MIT", "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6" } }, - "node_modules/which-typed-array": { - "version": "1.1.9", + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "minipass": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8" } }, - "node_modules/wide-align": { - "version": "1.1.5", + "node_modules/tar/node_modules/minipass": { + "version": "3.3.6", "dev": true, "license": "ISC", "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/word-wrap": { - "version": "1.2.3", + "node_modules/temp-dir": { + "version": "1.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/wordwrap": { + "node_modules/tempy": { "version": "1.0.0", "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "del": "^6.0.0", + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "dev": true, - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", + "node_modules/tempy/node_modules/temp-dir": { + "version": "2.0.0", "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, + "license": "MIT", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/write-json-file": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-indent": "^5.0.0", - "graceful-fs": "^4.1.15", - "make-dir": "^2.1.0", - "pify": "^4.0.1", - "sort-keys": "^2.0.0", - "write-file-atomic": "^2.4.2" - }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/write-json-file/node_modules/make-dir": { - "version": "2.1.0", + "node_modules/test-exclude": { + "version": "6.0.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/write-json-file/node_modules/pify": { - "version": "4.0.1", + "node_modules/text-extensions": { + "version": "1.9.0", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.10" } }, - "node_modules/write-json-file/node_modules/semver": { - "version": "5.7.1", + "node_modules/text-table": { + "version": "0.2.0", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" + "license": "MIT" + }, + "node_modules/through": { + "version": "2.3.8", + "dev": true, + "license": "MIT" + }, + "node_modules/through2": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "3" } }, - "node_modules/write-json-file/node_modules/write-file-atomic": { - "version": "2.4.3", + "node_modules/tiny-glob": { + "version": "0.2.9", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "globalyzer": "0.1.0", + "globrex": "^0.1.2" } }, - "node_modules/write-pkg": { - "version": "4.0.0", + "node_modules/tmp": { + "version": "0.2.1", "dev": true, "license": "MIT", "dependencies": { - "sort-keys": "^2.0.0", - "type-fest": "^0.4.1", - "write-json-file": "^3.2.0" + "rimraf": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=8.17.0" } }, - "node_modules/write-pkg/node_modules/type-fest": { - "version": "0.4.1", + "node_modules/tmpl": { + "version": "1.0.5", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "BSD-3-Clause" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/xml2js": { - "version": "0.5.0", + "node_modules/to-regex-range": { + "version": "5.0.1", "dev": true, "license": "MIT", "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=8.0" } }, - "node_modules/xmlbuilder": { - "version": "11.0.1", + "node_modules/toidentifier": { + "version": "1.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">=0.6" } }, - "node_modules/xregexp": { - "version": "2.0.0", + "node_modules/tr46": { + "version": "0.0.3", "dev": true, "license": "MIT" }, - "node_modules/xtend": { - "version": "4.0.2", + "node_modules/treeverse": { + "version": "3.0.0", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=0.4" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/y18n": { - "version": "5.0.8", + "node_modules/trim-newlines": { + "version": "3.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/yallist": { - "version": "4.0.0", + "node_modules/ts-jest": { + "version": "29.0.3", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.1", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } }, - "node_modules/yaml": { - "version": "1.10.2", + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "21.1.1", "dev": true, "license": "ISC", "engines": { - "node": ">= 6" + "node": ">=12" } }, - "node_modules/yargs": { - "version": "17.6.2", + "node_modules/ts-node": { + "version": "10.9.1", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" }, - "engines": { - "node": ">=12" + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "node_modules/yargs-parser": { - "version": "20.2.4", + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", "dev": true, - "license": "ISC", + "license": "BSD-3-Clause", "engines": { - "node": ">=10" + "node": ">=0.3.1" } }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "21.1.1", + "node_modules/tsconfig-paths": { + "version": "3.14.1", "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "node_modules/yn": { - "version": "3.1.1", + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/zip-stream": { - "version": "4.1.0", + "node_modules/tslib": { + "version": "2.5.0", + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", "dev": true, "license": "MIT", "dependencies": { - "archiver-utils": "^2.1.0", - "compress-commons": "^4.1.0", - "readable-stream": "^3.6.0" + "tslib": "^1.8.1" }, "engines": { - "node": ">= 10" + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "packages/commons": { - "name": "@aws-lambda-powertools/commons", - "version": "1.9.0", - "license": "MIT-0", - "devDependencies": { - "@aws-sdk/client-lambda": "^3.310.0", - "@aws-sdk/util-utf8-node": "^3.259.0" - } + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "dev": true, + "license": "0BSD" }, - "packages/commons/node_modules/@aws-sdk/util-utf8-node": { - "version": "3.259.0", + "node_modules/tuf-js": { + "version": "1.1.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/util-buffer-from": "3.208.0", - "tslib": "^2.3.1" + "@tufjs/models": "1.0.1", + "make-fetch-happen": "^11.0.1" }, "engines": { - "node": ">=14.0.0" - } - }, - "packages/idempotency": { - "name": "@aws-lambda-powertools/idempotency", - "version": "1.8.0-alpha.1", - "license": "MIT-0", - "dependencies": { - "@aws-lambda-powertools/commons": "^1.5.0", - "@aws-sdk/lib-dynamodb": "^3.231.0", - "jmespath": "^0.16.0" - }, - "devDependencies": { - "@aws-sdk/client-dynamodb": "^3.231.0", - "@types/jmespath": "^0.15.0", - "aws-sdk-client-mock": "^2.0.1", - "aws-sdk-client-mock-jest": "^2.0.1" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "packages/logger": { - "name": "@aws-lambda-powertools/logger", - "version": "1.9.0", + "node_modules/tuf-js/node_modules/@tootallnate/once": { + "version": "2.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "@aws-lambda-powertools/commons": "^1.9.0", - "lodash.merge": "^4.6.2" - }, - "devDependencies": { - "@types/lodash.merge": "^4.6.7" + "engines": { + "node": ">= 10" } }, - "packages/metrics": { - "name": "@aws-lambda-powertools/metrics", - "version": "1.9.0", - "license": "MIT-0", + "node_modules/tuf-js/node_modules/http-proxy-agent": { + "version": "5.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-lambda-powertools/commons": "^1.9.0" + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" }, - "devDependencies": { - "@aws-sdk/client-cloudwatch": "^3.316.0", - "@types/promise-retry": "^1.1.3", - "promise-retry": "^2.0.1" + "engines": { + "node": ">= 6" } }, - "packages/parameters": { - "name": "@aws-lambda-powertools/parameters", - "version": "1.9.0", - "license": "MIT-0", + "node_modules/tuf-js/node_modules/make-fetch-happen": { + "version": "11.0.3", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-lambda-powertools/commons": "^1.9.0", - "@aws-sdk/util-base64-node": "^3.209.0" + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^4.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" }, - "devDependencies": { - "@aws-sdk/client-appconfigdata": "^3.241.0", - "@aws-sdk/client-dynamodb": "^3.245.0", - "@aws-sdk/client-secrets-manager": "^3.238.0", - "@aws-sdk/client-ssm": "^3.244.0", - "@aws-sdk/util-dynamodb": "^3.245.0", - "aws-sdk-client-mock": "^2.0.1", - "aws-sdk-client-mock-jest": "^2.0.1" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "packages/parameters/node_modules/@aws-sdk/util-dynamodb": { - "version": "3.245.0", + "node_modules/tuf-js/node_modules/minipass-fetch": { + "version": "3.0.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.3.1" + "minipass": "^4.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, "engines": { - "node": ">=14.0.0" - } - }, - "packages/tracer": { - "name": "@aws-lambda-powertools/tracer", - "version": "1.9.0", - "license": "MIT-0", - "dependencies": { - "@aws-lambda-powertools/commons": "^1.9.0", - "aws-xray-sdk-core": "^3.4.1" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" }, - "devDependencies": { - "@aws-sdk/client-dynamodb": "^3.231.0", - "@aws-sdk/client-sts": "^3.310.0", - "@aws-sdk/client-xray": "^3.310.0", - "@types/promise-retry": "^1.1.3", - "aws-sdk": "^2.1354.0", - "axios": "^1.2.1", - "promise-retry": "^2.0.1" + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "packages/tracer/node_modules/@aws-crypto/ie11-detection": { - "version": "3.0.0", + "node_modules/tuf-js/node_modules/socks-proxy-agent": { + "version": "7.0.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^1.11.1" + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" } }, - "packages/tracer/node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "packages/tracer/node_modules/@aws-crypto/sha256-browser": { - "version": "3.0.0", + "node_modules/tuf-js/node_modules/ssri": { + "version": "10.0.1", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/sha256-js": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "minipass": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "packages/tracer/node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "packages/tracer/node_modules/@aws-crypto/sha256-js": { - "version": "3.0.0", + "node_modules/type-check": { + "version": "0.4.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "packages/tracer/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { - "version": "1.14.1", + "node_modules/type-detect": { + "version": "4.0.8", "dev": true, - "license": "0BSD" + "license": "MIT", + "engines": { + "node": ">=4" + } }, - "packages/tracer/node_modules/@aws-crypto/supports-web-crypto": { - "version": "3.0.0", + "node_modules/type-fest": { + "version": "0.20.2", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^1.11.1" + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/tracer/node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { - "version": "1.14.1", + "node_modules/typedarray": { + "version": "0.0.6", "dev": true, - "license": "0BSD" + "license": "MIT" }, - "packages/tracer/node_modules/@aws-crypto/util": { - "version": "3.0.0", + "node_modules/typedoc": { + "version": "0.24.7", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.24.7.tgz", + "integrity": "sha512-zzfKDFIZADA+XRIp2rMzLe9xZ6pt12yQOhCr7cD7/PBTjhPmMyMvGrkZ2lPNJitg3Hj1SeiYFNzCsSDrlpxpKw==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "lunr": "^2.3.9", + "marked": "^4.3.0", + "minimatch": "^9.0.0", + "shiki": "^0.14.1" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 14.14" + }, + "peerDependencies": { + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x" } }, - "packages/tracer/node_modules/@aws-crypto/util/node_modules/tslib": { - "version": "1.14.1", + "node_modules/typedoc-plugin-missing-exports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-2.0.0.tgz", + "integrity": "sha512-t0QlKCm27/8DaheJkLo/gInSNjzBXgSciGhoLpL6sLyXZibm7SuwJtHvg4qXI2IjJfFBgW9mJvvszpoxMyB0TA==", "dev": true, - "license": "0BSD" + "peerDependencies": { + "typedoc": "0.24.x" + } }, - "packages/tracer/node_modules/@aws-sdk/abort-controller": { - "version": "3.310.0", + "node_modules/typedoc/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "balanced-match": "^1.0.0" } }, - "packages/tracer/node_modules/@aws-sdk/client-sso": { - "version": "3.310.0", + "node_modules/typedoc/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/fetch-http-handler": "3.310.0", - "@aws-sdk/hash-node": "3.310.0", - "@aws-sdk/invalid-dependency": "3.310.0", - "@aws-sdk/middleware-content-length": "3.310.0", - "@aws-sdk/middleware-endpoint": "3.310.0", - "@aws-sdk/middleware-host-header": "3.310.0", - "@aws-sdk/middleware-logger": "3.310.0", - "@aws-sdk/middleware-recursion-detection": "3.310.0", - "@aws-sdk/middleware-retry": "3.310.0", - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/middleware-user-agent": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/node-http-handler": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/smithy-client": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.310.0", - "@aws-sdk/util-defaults-mode-node": "3.310.0", - "@aws-sdk/util-endpoints": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "@aws-sdk/util-user-agent-browser": "3.310.0", - "@aws-sdk/util-user-agent-node": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "packages/tracer/node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.310.0", + "node_modules/typescript": { + "version": "4.9.4", "dev": true, "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/fetch-http-handler": "3.310.0", - "@aws-sdk/hash-node": "3.310.0", - "@aws-sdk/invalid-dependency": "3.310.0", - "@aws-sdk/middleware-content-length": "3.310.0", - "@aws-sdk/middleware-endpoint": "3.310.0", - "@aws-sdk/middleware-host-header": "3.310.0", - "@aws-sdk/middleware-logger": "3.310.0", - "@aws-sdk/middleware-recursion-detection": "3.310.0", - "@aws-sdk/middleware-retry": "3.310.0", - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/middleware-user-agent": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/node-http-handler": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/smithy-client": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.310.0", - "@aws-sdk/util-defaults-mode-node": "3.310.0", - "@aws-sdk/util-endpoints": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "@aws-sdk/util-user-agent-browser": "3.310.0", - "@aws-sdk/util-user-agent-node": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=14.0.0" + "node": ">=4.2.0" } }, - "packages/tracer/node_modules/@aws-sdk/client-sts": { - "version": "3.310.0", + "node_modules/uglify-js": { + "version": "3.17.4", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/credential-provider-node": "3.310.0", - "@aws-sdk/fetch-http-handler": "3.310.0", - "@aws-sdk/hash-node": "3.310.0", - "@aws-sdk/invalid-dependency": "3.310.0", - "@aws-sdk/middleware-content-length": "3.310.0", - "@aws-sdk/middleware-endpoint": "3.310.0", - "@aws-sdk/middleware-host-header": "3.310.0", - "@aws-sdk/middleware-logger": "3.310.0", - "@aws-sdk/middleware-recursion-detection": "3.310.0", - "@aws-sdk/middleware-retry": "3.310.0", - "@aws-sdk/middleware-sdk-sts": "3.310.0", - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/middleware-signing": "3.310.0", - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/middleware-user-agent": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/node-http-handler": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/smithy-client": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.310.0", - "@aws-sdk/util-defaults-mode-node": "3.310.0", - "@aws-sdk/util-endpoints": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "@aws-sdk/util-user-agent-browser": "3.310.0", - "@aws-sdk/util-user-agent-node": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "fast-xml-parser": "4.1.2", - "tslib": "^2.5.0" + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" }, "engines": { - "node": ">=14.0.0" + "node": ">=0.8.0" } }, - "packages/tracer/node_modules/@aws-sdk/config-resolver": { - "version": "3.310.0", + "node_modules/unbox-primitive": { + "version": "1.0.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-config-provider": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "tslib": "^2.5.0" + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" }, - "engines": { - "node": ">=14.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/tracer/node_modules/@aws-sdk/credential-provider-env": { - "version": "3.310.0", + "node_modules/unique-filename": { + "version": "3.0.0", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "unique-slug": "^4.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "packages/tracer/node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.310.0", + "node_modules/unique-slug": { + "version": "4.0.0", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "tslib": "^2.5.0" + "imurmurhash": "^0.1.4" }, "engines": { - "node": ">=14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "packages/tracer/node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.310.0", + "node_modules/unique-string": { + "version": "2.0.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/credential-provider-env": "3.310.0", - "@aws-sdk/credential-provider-imds": "3.310.0", - "@aws-sdk/credential-provider-process": "3.310.0", - "@aws-sdk/credential-provider-sso": "3.310.0", - "@aws-sdk/credential-provider-web-identity": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "crypto-random-string": "^2.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "packages/tracer/node_modules/@aws-sdk/credential-provider-node": { - "version": "3.310.0", + "node_modules/universal-user-agent": { + "version": "6.0.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.310.0", - "@aws-sdk/credential-provider-imds": "3.310.0", - "@aws-sdk/credential-provider-ini": "3.310.0", - "@aws-sdk/credential-provider-process": "3.310.0", - "@aws-sdk/credential-provider-sso": "3.310.0", - "@aws-sdk/credential-provider-web-identity": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "ISC" + }, + "node_modules/universalify": { + "version": "2.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">= 10.0.0" } }, - "packages/tracer/node_modules/@aws-sdk/credential-provider-process": { - "version": "3.310.0", + "node_modules/unpipe": { + "version": "1.0.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">= 0.8" } }, - "packages/tracer/node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.310.0", + "node_modules/upath": { + "version": "2.0.1", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/client-sso": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/token-providers": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=4", + "yarn": "*" } }, - "packages/tracer/node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.310.0", + "node_modules/update-browserslist-db": { + "version": "1.0.10", "dev": true, - "license": "Apache-2.0", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "license": "MIT", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" }, - "engines": { - "node": ">=14.0.0" + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "packages/tracer/node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.310.0", + "node_modules/uri-js": { + "version": "4.4.1", "dev": true, - "license": "Apache-2.0", + "license": "BSD-2-Clause", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/querystring-builder": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-base64": "3.310.0", - "tslib": "^2.5.0" + "punycode": "^2.1.0" } }, - "packages/tracer/node_modules/@aws-sdk/hash-node": { - "version": "3.310.0", + "node_modules/url": { + "version": "0.10.3", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-buffer-from": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "punycode": "1.3.2", + "querystring": "0.2.0" } }, - "packages/tracer/node_modules/@aws-sdk/invalid-dependency": { - "version": "3.310.0", + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - } + "license": "MIT" }, - "packages/tracer/node_modules/@aws-sdk/is-array-buffer": { - "version": "3.310.0", + "node_modules/util": { + "version": "0.12.5", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" } }, - "packages/tracer/node_modules/@aws-sdk/middleware-content-length": { - "version": "3.310.0", + "node_modules/util-deprecate": { + "version": "1.0.2", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "license": "MIT" + }, + "node_modules/uuid": { + "version": "9.0.0", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, - "packages/tracer/node_modules/@aws-sdk/middleware-endpoint": { - "version": "3.310.0", + "node_modules/v8-compile-cache": { + "version": "2.3.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT" + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "9.0.1", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/middleware-serde": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/url-parser": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "tslib": "^2.5.0" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=10.12.0" } }, - "packages/tracer/node_modules/@aws-sdk/middleware-host-header": { - "version": "3.310.0", + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", "dev": true, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "packages/tracer/node_modules/@aws-sdk/middleware-logger": { - "version": "3.310.0", + "node_modules/validate-npm-package-name": { + "version": "4.0.0", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "builtins": "^5.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "packages/tracer/node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.310.0", + "node_modules/vm2": { + "version": "3.9.18", + "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.18.tgz", + "integrity": "sha512-iM7PchOElv6Uv6Q+0Hq7dcgDtWWT6SizYqVcvol+1WQc+E9HlgTCnPozbQNSP3yDV9oXHQOEQu530w2q/BCVZg==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + }, + "bin": { + "vm2": "bin/vm2" }, "engines": { - "node": ">=14.0.0" + "node": ">=6.0" } }, - "packages/tracer/node_modules/@aws-sdk/middleware-retry": { - "version": "3.310.0", + "node_modules/vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", + "dev": true + }, + "node_modules/vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", + "dev": true + }, + "node_modules/walk-up-path": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/walker": { + "version": "1.0.8", "dev": true, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/service-error-classification": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "@aws-sdk/util-retry": "3.310.0", - "tslib": "^2.5.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">=14.0.0" + "makeerror": "1.0.12" } }, - "packages/tracer/node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.310.0", + "node_modules/wcwidth": { + "version": "1.0.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/middleware-signing": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "defaults": "^1.0.3" } }, - "packages/tracer/node_modules/@aws-sdk/middleware-serde": { - "version": "3.310.0", + "node_modules/webidl-conversions": { + "version": "3.0.1", "dev": true, - "license": "Apache-2.0", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "packages/tracer/node_modules/@aws-sdk/middleware-signing": { - "version": "3.310.0", + "node_modules/which": { + "version": "2.0.2", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/signature-v4": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "tslib": "^2.5.0" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": ">=14.0.0" + "node": ">= 8" } }, - "packages/tracer/node_modules/@aws-sdk/middleware-stack": { - "version": "3.310.0", + "node_modules/which-boxed-primitive": { + "version": "1.0.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" }, - "engines": { - "node": ">=14.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/tracer/node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.310.0", + "node_modules/which-typed-array": { + "version": "1.1.9", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-endpoints": "3.310.0", - "tslib": "^2.5.0" + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" }, "engines": { - "node": ">=14.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "packages/tracer/node_modules/@aws-sdk/node-config-provider": { - "version": "3.310.0", + "node_modules/wide-align": { + "version": "1.1.5", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "string-width": "^1.0.2 || 2 || 3 || 4" } }, - "packages/tracer/node_modules/@aws-sdk/node-http-handler": { - "version": "3.310.0", + "node_modules/word-wrap": { + "version": "1.2.3", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/abort-controller": "3.310.0", - "@aws-sdk/protocol-http": "3.310.0", - "@aws-sdk/querystring-builder": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=0.10.0" } }, - "packages/tracer/node_modules/@aws-sdk/property-provider": { - "version": "3.310.0", + "node_modules/wordwrap": { + "version": "1.0.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "packages/tracer/node_modules/@aws-sdk/protocol-http": { - "version": "3.310.0", + "node_modules/wrappy": { + "version": "1.0.2", "dev": true, - "license": "Apache-2.0", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": ">=14.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "packages/tracer/node_modules/@aws-sdk/querystring-builder": { - "version": "3.310.0", + "node_modules/write-json-file": { + "version": "3.2.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "tslib": "^2.5.0" + "detect-indent": "^5.0.0", + "graceful-fs": "^4.1.15", + "make-dir": "^2.1.0", + "pify": "^4.0.1", + "sort-keys": "^2.0.0", + "write-file-atomic": "^2.4.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=6" } }, - "packages/tracer/node_modules/@aws-sdk/querystring-parser": { - "version": "3.310.0", + "node_modules/write-json-file/node_modules/make-dir": { + "version": "2.1.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=6" } }, - "packages/tracer/node_modules/@aws-sdk/service-error-classification": { - "version": "3.310.0", + "node_modules/write-json-file/node_modules/pify": { + "version": "4.0.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=6" } }, - "packages/tracer/node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.310.0", + "node_modules/write-json-file/node_modules/semver": { + "version": "5.7.1", "dev": true, - "license": "Apache-2.0", + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/write-json-file/node_modules/write-file-atomic": { + "version": "2.4.3", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, - "packages/tracer/node_modules/@aws-sdk/signature-v4": { - "version": "3.310.0", + "node_modules/write-pkg": { + "version": "4.0.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/is-array-buffer": "3.310.0", - "@aws-sdk/types": "3.310.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-middleware": "3.310.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" + "sort-keys": "^2.0.0", + "type-fest": "^0.4.1", + "write-json-file": "^3.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" } }, - "packages/tracer/node_modules/@aws-sdk/smithy-client": { - "version": "3.310.0", + "node_modules/write-pkg/node_modules/type-fest": { + "version": "0.4.1", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/middleware-stack": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=14.0.0" + "node": ">=6" } }, - "packages/tracer/node_modules/@aws-sdk/token-providers": { - "version": "3.310.0", + "node_modules/xml2js": { + "version": "0.5.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/client-sso-oidc": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/shared-ini-file-loader": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=4.0.0" } }, - "packages/tracer/node_modules/@aws-sdk/types": { - "version": "3.310.0", + "node_modules/xmlbuilder": { + "version": "11.0.1", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">=14.0.0" + "node": ">=4.0" } }, - "packages/tracer/node_modules/@aws-sdk/url-parser": { - "version": "3.310.0", + "node_modules/xregexp": { + "version": "2.0.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/querystring-parser": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "license": "MIT" + }, + "node_modules/xtend": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" } }, - "packages/tracer/node_modules/@aws-sdk/util-base64": { - "version": "3.310.0", + "node_modules/y18n": { + "version": "5.0.8", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/util-buffer-from": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "ISC", "engines": { - "node": ">=14.0.0" + "node": ">=10" } }, - "packages/tracer/node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.310.0", + "node_modules/yallist": { + "version": "4.0.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" } }, - "packages/tracer/node_modules/@aws-sdk/util-body-length-node": { - "version": "3.310.0", + "node_modules/yargs": { + "version": "17.6.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "^2.5.0" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=12" } }, - "packages/tracer/node_modules/@aws-sdk/util-buffer-from": { - "version": "3.310.0", + "node_modules/yargs-parser": { + "version": "20.2.4", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/is-array-buffer": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "ISC", "engines": { - "node": ">=14.0.0" + "node": ">=10" } }, - "packages/tracer/node_modules/@aws-sdk/util-config-provider": { - "version": "3.310.0", + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.5.0" - }, + "license": "ISC", "engines": { - "node": ">=14.0.0" + "node": ">=12" } }, - "packages/tracer/node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.310.0", + "node_modules/yn": { + "version": "3.1.1", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">= 10.0.0" + "node": ">=6" } }, - "packages/tracer/node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.310.0", + "node_modules/yocto-queue": { + "version": "0.1.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/config-resolver": "3.310.0", - "@aws-sdk/credential-provider-imds": "3.310.0", - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/property-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" - }, + "license": "MIT", "engines": { - "node": ">= 10.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/tracer/node_modules/@aws-sdk/util-endpoints": { - "version": "3.310.0", + "node_modules/zip-stream": { + "version": "4.1.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "archiver-utils": "^2.1.0", + "compress-commons": "^4.1.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 10" } }, - "packages/tracer/node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.310.0", + "packages/commons": { + "name": "@aws-lambda-powertools/commons", + "version": "1.9.0", + "license": "MIT-0", + "devDependencies": { + "@aws-sdk/client-lambda": "^3.310.0", + "@aws-sdk/util-utf8-node": "^3.259.0" + } + }, + "packages/commons/node_modules/@aws-sdk/util-utf8-node": { + "version": "3.259.0", "dev": true, "license": "Apache-2.0", "dependencies": { - "tslib": "^2.5.0" + "@aws-sdk/util-buffer-from": "3.208.0", + "tslib": "^2.3.1" }, "engines": { "node": ">=14.0.0" } }, - "packages/tracer/node_modules/@aws-sdk/util-middleware": { - "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", + "packages/idempotency": { + "name": "@aws-lambda-powertools/idempotency", + "version": "1.8.0-alpha.1", + "license": "MIT-0", "dependencies": { - "tslib": "^2.5.0" + "@aws-lambda-powertools/commons": "^1.5.0", + "@aws-sdk/lib-dynamodb": "^3.231.0", + "jmespath": "^0.16.0" }, - "engines": { - "node": ">=14.0.0" + "devDependencies": { + "@aws-sdk/client-dynamodb": "^3.231.0", + "@types/jmespath": "^0.15.0", + "aws-sdk-client-mock": "^2.0.1", + "aws-sdk-client-mock-jest": "^2.0.1" } }, - "packages/tracer/node_modules/@aws-sdk/util-retry": { - "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", + "packages/logger": { + "name": "@aws-lambda-powertools/logger", + "version": "1.9.0", + "license": "MIT", "dependencies": { - "@aws-sdk/service-error-classification": "3.310.0", - "tslib": "^2.5.0" + "@aws-lambda-powertools/commons": "^1.9.0", + "lodash.merge": "^4.6.2" }, - "engines": { - "node": ">= 14.0.0" + "devDependencies": { + "@types/lodash.merge": "^4.6.7" } }, - "packages/tracer/node_modules/@aws-sdk/util-uri-escape": { - "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", + "packages/metrics": { + "name": "@aws-lambda-powertools/metrics", + "version": "1.9.0", + "license": "MIT-0", "dependencies": { - "tslib": "^2.5.0" + "@aws-lambda-powertools/commons": "^1.9.0" }, - "engines": { - "node": ">=14.0.0" + "devDependencies": { + "@aws-sdk/client-cloudwatch": "^3.316.0", + "@types/promise-retry": "^1.1.3", + "promise-retry": "^2.0.1" } }, - "packages/tracer/node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.310.0", - "dev": true, - "license": "Apache-2.0", + "packages/parameters": { + "name": "@aws-lambda-powertools/parameters", + "version": "1.9.0", + "license": "MIT-0", "dependencies": { - "@aws-sdk/types": "3.310.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" + "@aws-lambda-powertools/commons": "^1.9.0", + "@aws-sdk/util-base64-node": "^3.209.0" + }, + "devDependencies": { + "@aws-sdk/client-appconfigdata": "^3.241.0", + "@aws-sdk/client-dynamodb": "^3.245.0", + "@aws-sdk/client-secrets-manager": "^3.238.0", + "@aws-sdk/client-ssm": "^3.244.0", + "@aws-sdk/util-dynamodb": "^3.245.0", + "aws-sdk-client-mock": "^2.0.1", + "aws-sdk-client-mock-jest": "^2.0.1" } }, - "packages/tracer/node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.310.0", + "packages/parameters/node_modules/@aws-sdk/util-dynamodb": { + "version": "3.245.0", "dev": true, "license": "Apache-2.0", "dependencies": { - "@aws-sdk/node-config-provider": "3.310.0", - "@aws-sdk/types": "3.310.0", - "tslib": "^2.5.0" + "tslib": "^2.3.1" }, "engines": { "node": ">=14.0.0" - }, - "peerDependencies": { - "aws-crt": ">=1.0.0" - }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } } }, - "packages/tracer/node_modules/fast-xml-parser": { - "version": "4.1.2", - "dev": true, - "license": "MIT", + "packages/tracer": { + "name": "@aws-lambda-powertools/tracer", + "version": "1.9.0", + "license": "MIT-0", "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" + "@aws-lambda-powertools/commons": "^1.9.0", + "aws-xray-sdk-core": "^3.4.1" }, - "funding": { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - } - }, - "packages/tracer/node_modules/uuid": { - "version": "8.3.2", - "dev": true, - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "devDependencies": { + "@aws-sdk/client-dynamodb": "^3.231.0", + "@aws-sdk/client-sts": "^3.310.0", + "@aws-sdk/client-xray": "^3.310.0", + "@types/promise-retry": "^1.1.3", + "aws-sdk": "^2.1354.0", + "axios": "^1.2.1", + "promise-retry": "^2.0.1" } } } From fb932beb4a0bec961bc4539e5104e105e6786f1f Mon Sep 17 00:00:00 2001 From: Kit Sunde Date: Wed, 14 Jun 2023 00:23:47 +0800 Subject: [PATCH 06/35] chore(logger): correct homepage link in package.json (#1495) --- packages/logger/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/logger/package.json b/packages/logger/package.json index b4dfa96882..df95f61725 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -29,7 +29,7 @@ "*.ts": "npm run lint-fix", "*.js": "npm run lint-fix" }, - "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logging#readme", + "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logger#readme", "license": "MIT", "main": "./lib/index.js", "types": "./lib/index.d.ts", From f475bd097b64f009c329c023a2dd7c7e9371270a Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Thu, 15 Jun 2023 22:20:49 +0200 Subject: [PATCH 07/35] fix(idempotency): record validation not using hash (#1502) * fix: record validation * tests: update unit * chore: updated node types --- package-lock.json | 19 ++++++-- package.json | 2 +- .../src/persistence/BasePersistenceLayer.ts | 16 +++---- .../persistence/DynamoDBPersistenceLayer.ts | 3 +- .../persistence/BasePersistenceLayer.test.ts | 4 +- .../DynamoDbPersistenceLayer.test.ts | 46 +++++++++++++++---- 6 files changed, 67 insertions(+), 23 deletions(-) diff --git a/package-lock.json b/package-lock.json index eb34a7abc0..90d12ee7af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "@middy/core": "^3.6.2", "@types/aws-lambda": "^8.10.109", "@types/jest": "^29.2.4", - "@types/node": "^18.11.15", + "@types/node": "^18.16.18", "@types/uuid": "^9.0.0", "@typescript-eslint/eslint-plugin": "^5.46.1", "@typescript-eslint/parser": "^5.46.1", @@ -123,6 +123,12 @@ "typescript": "^4.9.4" } }, + "examples/cdk/node_modules/@types/node": { + "version": "18.11.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.17.tgz", + "integrity": "sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng==", + "dev": true + }, "examples/cdk/node_modules/source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", @@ -162,6 +168,12 @@ "typescript": "^4.9.4" } }, + "examples/sam/node_modules/@types/node": { + "version": "18.11.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.17.tgz", + "integrity": "sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng==", + "dev": true + }, "layers": { "version": "1.9.0", "license": "MIT-0", @@ -4763,8 +4775,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "18.11.17", - "license": "MIT" + "version": "18.16.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.18.tgz", + "integrity": "sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw==" }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", diff --git a/package.json b/package.json index bd40da9b35..36bbca7ea4 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@middy/core": "^3.6.2", "@types/aws-lambda": "^8.10.109", "@types/jest": "^29.2.4", - "@types/node": "^18.11.15", + "@types/node": "^18.16.18", "@types/uuid": "^9.0.0", "@typescript-eslint/eslint-plugin": "^5.46.1", "@typescript-eslint/parser": "^5.46.1", diff --git a/packages/idempotency/src/persistence/BasePersistenceLayer.ts b/packages/idempotency/src/persistence/BasePersistenceLayer.ts index 708f458756..66ab7ca085 100644 --- a/packages/idempotency/src/persistence/BasePersistenceLayer.ts +++ b/packages/idempotency/src/persistence/BasePersistenceLayer.ts @@ -132,7 +132,7 @@ abstract class BasePersistenceLayer implements BasePersistenceLayerInterface { idempotencyKey: this.getHashedIdempotencyKey(data), status: IdempotencyRecordStatus.INPROGRESS, expiryTimestamp: this.getExpiryTimestamp(), - payloadHash: this.generateHash(JSON.stringify(data)), + payloadHash: this.getHashedPayload(data), }); if (remainingTimeInMillis) { @@ -167,7 +167,7 @@ abstract class BasePersistenceLayer implements BasePersistenceLayerInterface { status: IdempotencyRecordStatus.COMPLETED, expiryTimestamp: this.getExpiryTimestamp(), responseData: result, - payloadHash: this.generateHash(JSON.stringify(data)), + payloadHash: this.getHashedPayload(data), }); await this._updateRecord(idempotencyRecord); @@ -264,13 +264,13 @@ abstract class BasePersistenceLayer implements BasePersistenceLayerInterface { * @param data payload */ private getHashedPayload(data: Record): string { - // This method is only called when payload validation is enabled. - // For payload validation to be enabled, the validation key jmespath must be set. - // Therefore, the assertion is safe. - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - data = search(data, this.validationKeyJmesPath!); + if (this.isPayloadValidationEnabled() && this.validationKeyJmesPath) { + data = search(data, this.validationKeyJmesPath); - return this.generateHash(JSON.stringify(data)); + return this.generateHash(JSON.stringify(data)); + } else { + return ''; + } } private static isMissingIdempotencyKey( diff --git a/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts b/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts index 27601fb11a..ed98141eee 100644 --- a/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts +++ b/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts @@ -48,7 +48,7 @@ class DynamoDBPersistenceLayer extends BasePersistenceLayer { this.statusAttr = config.statusAttr ?? 'status'; this.expiryAttr = config.expiryAttr ?? 'expiration'; this.inProgressExpiryAttr = - config.inProgressExpiryAttr ?? 'in_progress_expiry_attr'; + config.inProgressExpiryAttr ?? 'in_progress_expiration'; this.dataAttr = config.dataAttr ?? 'data'; this.validationKeyAttr = config.validationKeyAttr ?? 'validation'; if (config.sortKeyAttr === this.keyAttr) { @@ -106,6 +106,7 @@ class DynamoDBPersistenceLayer extends BasePersistenceLayer { expiryTimestamp: item[this.expiryAttr], inProgressExpiryTimestamp: item[this.inProgressExpiryAttr], responseData: item[this.dataAttr], + payloadHash: item[this.validationKeyAttr], }); } diff --git a/packages/idempotency/tests/unit/persistence/BasePersistenceLayer.test.ts b/packages/idempotency/tests/unit/persistence/BasePersistenceLayer.test.ts index ff3954ea77..93133bc11d 100644 --- a/packages/idempotency/tests/unit/persistence/BasePersistenceLayer.test.ts +++ b/packages/idempotency/tests/unit/persistence/BasePersistenceLayer.test.ts @@ -369,7 +369,7 @@ describe('Class: BasePersistenceLayer', () => { idempotencyKey: 'my-lambda-function#mocked-hash', status: IdempotencyRecordStatus.INPROGRESS, expiryTimestamp: Date.now() / 1000 + 3600, - payloadHash: 'mocked-hash', + payloadHash: '', inProgressExpiryTimestamp: Date.now() + remainingTimeInMs, responseData: undefined, }) @@ -455,7 +455,7 @@ describe('Class: BasePersistenceLayer', () => { idempotencyKey: 'my-lambda-function#mocked-hash', status: IdempotencyRecordStatus.COMPLETED, expiryTimestamp: Date.now() / 1000 + 3600, - payloadHash: 'mocked-hash', + payloadHash: '', inProgressExpiryTimestamp: undefined, responseData: result, }) diff --git a/packages/idempotency/tests/unit/persistence/DynamoDbPersistenceLayer.test.ts b/packages/idempotency/tests/unit/persistence/DynamoDbPersistenceLayer.test.ts index 6d612de1c8..b8321bd44a 100644 --- a/packages/idempotency/tests/unit/persistence/DynamoDbPersistenceLayer.test.ts +++ b/packages/idempotency/tests/unit/persistence/DynamoDbPersistenceLayer.test.ts @@ -82,7 +82,7 @@ describe('Class: DynamoDBPersistenceLayer', () => { keyAttr: 'id', statusAttr: 'status', expiryAttr: 'expiration', - inProgressExpiryAttr: 'in_progress_expiry_attr', + inProgressExpiryAttr: 'in_progress_expiration', dataAttr: 'data', validationKeyAttr: 'validation', staticPkValue: 'idempotency#my-lambda-function', @@ -230,7 +230,7 @@ describe('Class: DynamoDBPersistenceLayer', () => { '#id': 'id', '#expiry': 'expiration', '#status': 'status', - '#in_progress_expiry': 'in_progress_expiry_attr', + '#in_progress_expiry': 'in_progress_expiration', }, ExpressionAttributeValues: marshall({ ':now': Date.now() / 1000, @@ -273,7 +273,7 @@ describe('Class: DynamoDBPersistenceLayer', () => { '#id': 'id', '#expiry': 'expiration', '#status': 'status', - '#in_progress_expiry': 'in_progress_expiry_attr', + '#in_progress_expiry': 'in_progress_expiration', }, ExpressionAttributeValues: marshall({ ':now': Date.now() / 1000, @@ -310,13 +310,13 @@ describe('Class: DynamoDBPersistenceLayer', () => { id: dummyKey, expiration: expiryTimestamp, status, - in_progress_expiry_attr: inProgressExpiryTimestamp, + in_progress_expiration: inProgressExpiryTimestamp, }), ExpressionAttributeNames: { '#id': 'id', '#expiry': 'expiration', '#status': 'status', - '#in_progress_expiry': 'in_progress_expiry_attr', + '#in_progress_expiry': 'in_progress_expiration', }, ExpressionAttributeValues: marshall({ ':now': Date.now() / 1000, @@ -361,7 +361,7 @@ describe('Class: DynamoDBPersistenceLayer', () => { '#id': 'id', '#expiry': 'expiration', '#status': 'status', - '#in_progress_expiry': 'in_progress_expiry_attr', + '#in_progress_expiry': 'in_progress_expiration', }, ExpressionAttributeValues: marshall({ ':now': Date.now() / 1000, @@ -433,7 +433,7 @@ describe('Class: DynamoDBPersistenceLayer', () => { id: dummyKey, status: IdempotencyRecordStatus.INPROGRESS, expiration: getFutureTimestamp(15), - in_progress_expiry_attr: getFutureTimestamp(10), + in_progress_expiration: getFutureTimestamp(10), data: {}, }), }); @@ -465,7 +465,7 @@ describe('Class: DynamoDBPersistenceLayer', () => { id: dummyKey, status, expiration: expiryTimestamp, - in_progress_expiry_attr: inProgressExpiryTimestamp, + in_progress_expiration: inProgressExpiryTimestamp, data: responseData, }), }); @@ -526,6 +526,36 @@ describe('Class: DynamoDBPersistenceLayer', () => { ConsistentRead: true, }); }); + + test('when called with a record that had the ', async () => { + // Prepare + const persistenceLayer = new TestDynamoDBPersistenceLayer({ + tableName: dummyTableName, + staticPkValue: 'idempotency#my-lambda-function', + sortKeyAttr: 'sortKey', + }); + client.on(GetItemCommand).resolves({ + Item: marshall({ + id: dummyKey, + status: IdempotencyRecordStatus.INPROGRESS, + expiration: getFutureTimestamp(15), + in_progress_expiration: getFutureTimestamp(10), + data: {}, + validation: 'someHash', + }), + }); + + // Act + const record = await persistenceLayer._getRecord(dummyKey); + + // Assess + expect(record.idempotencyKey).toEqual(dummyKey); + expect(record.getStatus()).toEqual(IdempotencyRecordStatus.INPROGRESS); + expect(record.expiryTimestamp).toEqual(getFutureTimestamp(15)); + expect(record.inProgressExpiryTimestamp).toEqual(getFutureTimestamp(10)); + expect(record.responseData).toStrictEqual({}); + expect(record.payloadHash).toEqual('someHash'); + }); }); describe('Method: _updateRecord', () => { From bc5d35bba71ab7044ab3fe85e0a63f68c735d2d1 Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Fri, 16 Jun 2023 02:20:46 +0200 Subject: [PATCH 08/35] chore(maintenance): cleaned up `package.json` files (#1504) * chore: clean up package.json files * docs: documented script * chore: updated version command in make-release * chore: updated cache * chore: updated version number in make-release --- .../actions/cached-node-modules/action.yml | 20 +- .github/scripts/release_patch_package_json.js | 90 +- .github/workflows/make-release.yml | 7 +- README.md | 3 + docs/snippets/package.json | 6 +- examples/cdk/package.json | 8 +- examples/sam/package.json | 7 +- examples/sam/template.yaml | 1 - layers/package.json | 5 +- lerna.json | 1 + package-bundler.sh | 44 - package-lock.json | 1224 ++++++++--------- package.json | 13 +- packages/commons/package.json | 6 +- packages/idempotency/package.json | 20 +- packages/logger/package.json | 10 +- packages/metrics/package.json | 6 +- packages/parameters/package.json | 72 +- packages/tracer/package.json | 6 +- 19 files changed, 714 insertions(+), 835 deletions(-) delete mode 100755 package-bundler.sh diff --git a/.github/actions/cached-node-modules/action.yml b/.github/actions/cached-node-modules/action.yml index 7d295916ed..fbc0f2a2af 100644 --- a/.github/actions/cached-node-modules/action.yml +++ b/.github/actions/cached-node-modules/action.yml @@ -15,22 +15,26 @@ runs: id: cache-node-modules uses: actions/cache@69d9d449aced6a2ede0bc19182fadc3a0a42d2b0 # v3.2.6 with: - path: "./node_modules" + path: '**/node_modules' # Use the combo between node version, name, and SHA-256 hash of the lock file as cache key so that # if one of them changes the cache is invalidated/discarded key: ${{ inputs.nodeVersion }}-cache-utilities-node-modules-${{ hashFiles('./package-lock.json') }} - name: Install dependencies # We can skip the installation if there was a cache hit if: steps.cache-node-modules.outputs.cache-hit != 'true' - # See https://github.com/npm/cli/issues/4475 to see why --foreground-scripts - run: npm ci --foreground-scripts + run: npm ci shell: bash - name: Build packages - # If there's a cache hit we still need to manually build the packages - # this would otherwise have been done automatically as a part of the - # post-install npm hook - if: steps.cache-node-modules.outputs.cache-hit == 'true' + # Regardless of whether the cache was hit or not, we need to build the packages. + # + # We build the shared package first, then the others in parallel to speed up the process + # even though we could just run `npm run build` in the root folder and build them in + # sequence, but still in the correct order. run: | npm run build -w packages/commons - npm run build -w packages/logger & npm run build -w packages/tracer & npm run build -w packages/metrics & npm run build -w packages/parameters & npm run build -w packages/idempotency + npm run build -w packages/logger & \ + npm run build -w packages/tracer & \ + npm run build -w packages/metrics & \ + npm run build -w packages/parameters & \ + npm run build -w packages/idempotency shell: bash \ No newline at end of file diff --git a/.github/scripts/release_patch_package_json.js b/.github/scripts/release_patch_package_json.js index 7900a1a9a5..51fd432124 100644 --- a/.github/scripts/release_patch_package_json.js +++ b/.github/scripts/release_patch_package_json.js @@ -1,36 +1,29 @@ +/** + * This script is used to update the package.json file of an utility to include pre-release suffixes + * and remove fields that are not needed in the tarball that will be published to npm. + * + * We read the original package.json file and extract all the fields. Then, if the is an + * alpha or beta package, we update the version number to include a suffix. Finally, we write the updated + * package.json file to disk that includes the patched version number and all the fields we want to keep. + * + * The file will be restored to its original state after the release is complete. + */ const { readFileSync, writeFileSync } = require('node:fs'); +const { join, resolve } = require('node:path'); -const outDir = './lib'; -const betaPackages = [ - '@aws-lambda-powertools/parameters', -]; +if (process.argv.length < 3) { + console.error('Usage: node release_patch_package_json.js \n'); + process.exit(1); +} +const basePath = resolve(process.argv[2]); +const packageJsonPath = join(basePath, 'package.json'); +const alphaPackages = ['@aws-lambda-powertools/idempotency']; +const betaPackages = ['@aws-lambda-powertools/parameters']; -/** - * This script is used to create a new package.json file for the tarball that will be published to npm. - * - * The original package.json file is read and the following fields are extracted: - * - name - * - version - * - description - * - author - * - license - * - homepage - * - repository - * - bugs - * - keywords - * - dependencies - * - devDependencies - * - * For beta packages, the version number is updated to include a beta suffix. - * - * The new package.json file is written to the lib folder, which is the folder that will be packed and published to npm. - * For beta packages, the original package.json file is also temporarily updated with the new beta version number so that - * the version number in the registry is correct and matches the tarball. - */ (() => { try { // Read the original package.json file - const pkgJson = JSON.parse(readFileSync('./package.json', 'utf8')) + const pkgJson = JSON.parse(readFileSync(packageJsonPath, 'utf8')); // Extract the fields we want to keep const { name, @@ -43,12 +36,19 @@ const betaPackages = [ bugs, keywords, dependencies, - devDependencies, + exports, + typesVersions, + main, + types, + files, + private, } = pkgJson; let version = originalVersion; - // Add a beta suffix to the version - if (betaPackages.includes(name)) { + // If the package is an alpha or beta package, update the version number to include a suffix + if (alphaPackages.includes(name)) { + version = `${version}-alpha`; + } else if (betaPackages.includes(name)) { version = `${version}-beta`; } @@ -64,21 +64,27 @@ const betaPackages = [ bugs, keywords, dependencies, - devDependencies, - main: './index.js', - types: './index.d.ts', + main, + types, + files, }; - // Write the new package.json file inside the folder that will be packed - writeFileSync(`${outDir}/package.json`, JSON.stringify(newPkgJson, null, 2)); - - if (betaPackages.includes(name)) { - // Temporarily update the original package.json file with the new beta version. - // This version number will be picked up during the `npm publish` step, so that - // the version number in the registry is correct and matches the tarball. - // The original package.json file will be restored by lerna after the publish step. - writeFileSync('package.json', JSON.stringify({ ...pkgJson, version }, null, 2)); + // Not all utilities have these fields, so only add them if they exist to avoid + // having empty or undefined fields in the package.json file. + if (exports) { + newPkgJson.exports = exports; + } + if (typesVersions) { + newPkgJson.typesVersions = typesVersions; } + if (private) { + newPkgJson.private = private; + } + + // Temporarily update the original package.json file. + // This version will be picked up during the `npm publish` step, so that + // the version number and metadata in the registry are correct and match the tarball. + writeFileSync('package.json', JSON.stringify(newPkgJson, null, 2)); } catch (err) { throw err; } diff --git a/.github/workflows/make-release.yml b/.github/workflows/make-release.yml index 1b1cb46c08..72bc2ffe34 100644 --- a/.github/workflows/make-release.yml +++ b/.github/workflows/make-release.yml @@ -34,16 +34,15 @@ jobs: uses: ./.github/actions/cached-node-modules - name: Version run: | - npm run version - git push --tags + npx lerna version --conventional-commits --force-publish --no-commit-hooks --yes - name: Publish to npm run: | npx lerna publish from-git --yes - name: Set release version id: set-release-version run: | - RELEASE=$(npm view @aws-lambda-powertools/tracer version) - echo RELEASE_VERSION="$RELEASE_VERSION" >> "$GITHUB_OUTPUT" + VERSION=$(cat lerna.json | jq .version -r) + echo RELEASE_VERSION="$VERSION" >> "$GITHUB_OUTPUT" # NOTE: Watch out for the depth limit of 4 nested workflow_calls. # publish_layer -> reusable_deploy_layer_stack -> reusable_update_layer_arn_docs diff --git a/README.md b/README.md index efc5844872..d4a3f258f0 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ You can use the library in both TypeScript and JavaScript code bases. * **[Logger](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context * **[Metrics](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) * **[Parameters (beta)](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM Parameter Store, AWS Secrets Manager, AWS AppConfig, and Amazon DynamoDB +* **[Idempotency (beta)](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/idempotency/)** - Class method decorator, Middy middleware, and function wrapper to make your Lambda functions idempotent and prevent duplicate execution based on payload content ## Getting started @@ -73,6 +74,8 @@ Or refer to the installation guide of each utility: 👉 [Installation guide for the **Parameters** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/#getting-started) +👉 [Installation guide for the **Idempotency** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/idempotency/#getting-started) + ### Examples * [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) diff --git a/docs/snippets/package.json b/docs/snippets/package.json index 1ec4ee035a..a693197a25 100644 --- a/docs/snippets/package.json +++ b/docs/snippets/package.json @@ -1,6 +1,6 @@ { "name": "docs", - "version": "0.0.1", + "version": "1.9.0", "description": "A collection code snippets for the Powertools for AWS Lambda (TypeScript) docs", "author": { "name": "Amazon Web Services", @@ -9,13 +9,13 @@ "scripts": { "test": "echo 'Not Applicable'", "test:e2e": "echo 'Not Applicable'", - "package": "echo 'Not applicable'", "build": "echo 'Not Applicable'", "lint": "eslint --ext .ts,.js --no-error-on-unmatched-pattern .", "lint-fix": "eslint --fix --ext .ts,.js --no-error-on-unmatched-pattern ." }, "lint-staged": { - "*.ts": "npm run lint-fix" + "*.ts": "npm run lint-fix", + "*.js": "npm run lint-fix" }, "license": "MIT-0", "repository": { diff --git a/examples/cdk/package.json b/examples/cdk/package.json index 964bd4d306..4361582896 100644 --- a/examples/cdk/package.json +++ b/examples/cdk/package.json @@ -12,19 +12,17 @@ "cdk-app": "bin/cdk-app.js" }, "scripts": { - "build": "tsc --skipLibCheck", - "watch": "tsc -w", + "build": "echo 'Not applicable, run `npx cdk synth` instead to build the stack'", "test": "npm run test:unit", "lint": "eslint --ext .ts,.js --no-error-on-unmatched-pattern .", "lint-fix": "eslint --fix --ext .ts,.js --fix --no-error-on-unmatched-pattern .", - "package": "echo 'Not applicable'", - "package-bundle": "echo 'Not applicable'", "test:unit": "export POWERTOOLS_DEV=true && npm run build && jest --silent", "test:e2e": "echo 'To be implemented ...'", "cdk": "cdk" }, "lint-staged": { - "*.ts": "npm run lint-fix" + "*.ts": "npm run lint-fix", + "*.js": "npm run lint-fix" }, "devDependencies": { "@aws-lambda-powertools/logger": "^1.9.0", diff --git a/examples/sam/package.json b/examples/sam/package.json index 44a4bccc4a..1ca30cb269 100644 --- a/examples/sam/package.json +++ b/examples/sam/package.json @@ -9,17 +9,16 @@ "description": "This project contains source code and supporting files for a serverless application that you can deploy with the [SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html). The Serverless Application Model Command Line Interface (SAM CLI) is an extension of the AWS CLI that adds functionality for building and testing Lambda applications. It uses Docker to run your functions in an Amazon Linux environment that matches Lambda. It can also emulate your application's build environment and API.", "license": "MIT-0", "scripts": { - "build": "sam build --beta-features", + "build": "echo 'Not applicable, run `sam build --beta-features` instead to build the stack'", "test": "npm run test:unit", "lint": "eslint --ext .ts,.js --no-error-on-unmatched-pattern .", "lint-fix": "eslint --fix --ext .ts,.js --fix --no-error-on-unmatched-pattern .", - "package": "echo 'Not applicable'", - "package-bundle": "echo 'Not applicable'", "test:unit": "export POWERTOOLS_DEV=true && npm run build && jest --silent", "test:e2e": "echo 'To be implemented ...'" }, "lint-staged": { - "*.ts": "npm run lint-fix" + "*.ts": "npm run lint-fix", + "*.js": "npm run lint-fix" }, "devDependencies": { "@types/aws-lambda": "^8.10.109", diff --git a/examples/sam/template.yaml b/examples/sam/template.yaml index 0168722fd4..e44c619096 100644 --- a/examples/sam/template.yaml +++ b/examples/sam/template.yaml @@ -98,7 +98,6 @@ Resources: BuildProperties: Minify: true Target: "ES2020" - ExperimentalDecorators: true Sourcemap: true External: - "@aws-sdk/lib-dynamodb" diff --git a/layers/package.json b/layers/package.json index 8948774672..5b126d6387 100644 --- a/layers/package.json +++ b/layers/package.json @@ -7,15 +7,14 @@ "private": true, "description": "This CDK app is meant to be used to publish Powertools for AWS Lambda (TypeScript) Lambda Layer. It is composed of a single stack deploying the Layer into the target account.", "scripts": { - "build": "tsc", - "watch": "tsc -w", + "build": "echo 'Not applicable, run `npx cdk synth` instead to build the stack'", "test": "echo 'Not applicable'", "cdk": "cdk", "package": "echo 'Not applicable'", "lint": "eslint --ext .ts,.js --no-error-on-unmatched-pattern .", "lint-fix": "eslint --fix --ext .ts,.js --fix --no-error-on-unmatched-pattern .", "test:unit": "jest --group=unit", - "test:e2e": "RUNTIME=nodejs14x jest --group=e2e" + "test:e2e": "jest --group=e2e" }, "lint-staged": { "*.ts": "npm run lint-fix", diff --git a/lerna.json b/lerna.json index 40448d0f27..72aab7321d 100644 --- a/lerna.json +++ b/lerna.json @@ -5,6 +5,7 @@ "packages/logger", "packages/metrics", "packages/parameters", + "packages/idempotency", "examples/cdk", "examples/sam", "layers" diff --git a/package-bundler.sh b/package-bundler.sh deleted file mode 100755 index eea1fd37da..0000000000 --- a/package-bundler.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env bash -set -e - - -usage() { - echo "Uber package Builder" - echo "------------------------" - echo "./package-bundler.sh NAME LOCAL_NPM_PACKAGE_LOCATION" - echo "" -} - - -if [[ "$#" -lt 2 ]]; then - usage - exit 1 -fi - -name=$(basename ${1}) -dist_folder="${2}" - -echo "Will bundle $(ls ${dist_folder}) into ${dist_folder}/${name}.tgz" - -output_folder="$(mktemp -d)" - -docker_image="public.ecr.aws/sam/build-nodejs14.x:latest" -volume_params="-v $output_folder:/bundle" - -package_folder="nodejs/" -mkdir -p "$output_folder/$package_folder" - -cp -r "${2}" "$output_folder/$package_folder/" - -install_command="pushd $package_folder; npm install --save ./*.tgz; popd" -volume_params="$volume_params -v $HOME/.npmrc:/root/.npmrc" - -zip_command="zip -r bundle.zip * && rm -rf $package_folder" - -docker run --rm $volume_params -w "/bundle" "$docker_image" /bin/bash -c "$install_command && $zip_command" - -mv "$output_folder/bundle.zip" "$dist_folder/$name.zip" - -rm -rf $output_folder - -echo "All done" diff --git a/package-lock.json b/package-lock.json index 90d12ee7af..8fabead736 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,6 +50,7 @@ "prettier": "^2.8.8", "promptly": "^3.2.0", "proxy-agent": "^5.0.0", + "rimraf": "^5.0.1", "ts-jest": "^29.0.3", "ts-node": "^10.9.1", "typedoc": "^0.24.7", @@ -63,7 +64,7 @@ }, "docs/snippets": { "name": "docs", - "version": "0.0.1", + "version": "1.9.0", "license": "MIT-0", "devDependencies": { "@aws-sdk/client-appconfigdata": "^3.245.0", @@ -2555,6 +2556,102 @@ "node": ">=6.9.0" } }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", "dev": true, @@ -4115,6 +4212,21 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/@npmcli/move-file/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@npmcli/name-from-folder": { "version": "2.0.0", "dev": true, @@ -4494,6 +4606,16 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@pkgr/utils": { "version": "2.3.1", "dev": true, @@ -6674,712 +6796,124 @@ "inBundle": true, "license": "ISC" }, - "node_modules/cdk-assets/node_modules/ansi-regex": { - "version": "5.0.1", + "node_modules/cdk-assets/node_modules/cliui": { + "version": "7.0.4", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/cdk-assets/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/cdk-assets/node_modules/mime": { + "version": "2.6.0", "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=4.0.0" } }, - "node_modules/cdk-assets/node_modules/archiver": { - "version": "5.3.1", + "node_modules/cdk-assets/node_modules/yargs": { + "version": "16.2.0", "dev": true, "license": "MIT", "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.3", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.0.0", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">= 10" + "node": ">=10" } }, - "node_modules/cdk-assets/node_modules/archiver-utils": { - "version": "2.1.0", + "node_modules/cdk-assets/node_modules/yargs-parser": { + "version": "20.2.9", "dev": true, - "license": "MIT", - "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, + "license": "ISC", "engines": { - "node": ">= 6" + "node": ">=10" } }, - "node_modules/cdk-assets/node_modules/archiver-utils/node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/cdk-sample": { + "resolved": "examples/cdk", + "link": true + }, + "node_modules/centra": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/centra/-/centra-2.6.0.tgz", + "integrity": "sha512-dgh+YleemrT8u85QL11Z6tYhegAs3MMxsaWAq/oXeAmYJ7VxL3SI9TZtnfaEvNDMAPolj25FXIb3S+HCI4wQaQ==" + }, + "node_modules/chalk": { + "version": "4.1.2", "dev": true, "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/cdk-assets/node_modules/async": { - "version": "3.2.4", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/balanced-match": { + "node_modules/char-regex": { "version": "1.0.2", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=10" + } }, - "node_modules/cdk-assets/node_modules/base64-js": { - "version": "1.5.1", + "node_modules/chardet": { + "version": "0.7.0", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT" }, - "node_modules/cdk-assets/node_modules/bl": { - "version": "4.1.0", + "node_modules/charenc": { + "version": "0.0.2", "dev": true, - "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "license": "BSD-3-Clause", + "engines": { + "node": "*" } }, - "node_modules/cdk-assets/node_modules/brace-expansion": { - "version": "1.1.11", + "node_modules/chownr": { + "version": "2.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "license": "ISC", + "engines": { + "node": ">=10" } }, - "node_modules/cdk-assets/node_modules/buffer": { - "version": "5.7.1", + "node_modules/ci-info": { + "version": "3.7.0", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "engines": { + "node": ">=8" } }, - "node_modules/cdk-assets/node_modules/buffer-crc32": { - "version": "0.2.13", + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "dev": true, + "license": "MIT" + }, + "node_modules/clean-stack": { + "version": "2.2.0", "dev": true, "license": "MIT", "engines": { - "node": "*" - } - }, - "node_modules/cdk-assets/node_modules/cliui": { - "version": "7.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/cdk-assets/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cdk-assets/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/compress-commons": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cdk-assets/node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/core-util-is": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/crc-32": { - "version": "1.2.2", - "dev": true, - "license": "Apache-2.0", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/cdk-assets/node_modules/crc32-stream": { - "version": "4.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cdk-assets/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/end-of-stream": { - "version": "1.4.4", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/cdk-assets/node_modules/escalade": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cdk-assets/node_modules/fs-constants": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/fs.realpath": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/cdk-assets/node_modules/get-caller-file": { - "version": "2.0.5", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/cdk-assets/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cdk-assets/node_modules/graceful-fs": { - "version": "4.2.10", - "dev": true, - "license": "ISC" - }, - "node_modules/cdk-assets/node_modules/ieee754": { - "version": "1.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/cdk-assets/node_modules/inflight": { - "version": "1.0.6", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/cdk-assets/node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "license": "ISC" - }, - "node_modules/cdk-assets/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cdk-assets/node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/lazystream": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/cdk-assets/node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/cdk-assets/node_modules/lodash.defaults": { - "version": "4.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/lodash.difference": { - "version": "4.5.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/lodash.flatten": { - "version": "4.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/lodash.isplainobject": { - "version": "4.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/lodash.union": { - "version": "4.6.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/mime": { - "version": "2.6.0", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/cdk-assets/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/cdk-assets/node_modules/normalize-path": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cdk-assets/node_modules/once": { - "version": "1.4.0", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/cdk-assets/node_modules/path-is-absolute": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cdk-assets/node_modules/process-nextick-args": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/readable-stream": { - "version": "3.6.1", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/cdk-assets/node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/cdk-assets/node_modules/readdir-glob": { - "version": "1.1.2", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.1.0" - } - }, - "node_modules/cdk-assets/node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/cdk-assets/node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.6", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cdk-assets/node_modules/require-directory": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cdk-assets/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/cdk-assets/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cdk-assets/node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cdk-assets/node_modules/tar-stream": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cdk-assets/node_modules/util-deprecate": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/cdk-assets/node_modules/wrap-ansi": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/cdk-assets/node_modules/wrappy": { - "version": "1.0.2", - "dev": true, - "license": "ISC" - }, - "node_modules/cdk-assets/node_modules/y18n": { - "version": "5.0.8", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/cdk-assets/node_modules/yargs": { - "version": "16.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cdk-assets/node_modules/yargs-parser": { - "version": "20.2.9", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/cdk-assets/node_modules/zip-stream": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "archiver-utils": "^2.1.0", - "compress-commons": "^4.1.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cdk-sample": { - "resolved": "examples/cdk", - "link": true - }, - "node_modules/centra": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/centra/-/centra-2.6.0.tgz", - "integrity": "sha512-dgh+YleemrT8u85QL11Z6tYhegAs3MMxsaWAq/oXeAmYJ7VxL3SI9TZtnfaEvNDMAPolj25FXIb3S+HCI4wQaQ==" - }, - "node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "dev": true, - "license": "MIT" - }, - "node_modules/charenc": { - "version": "0.0.2", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": "*" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/ci-info": { - "version": "3.7.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "node": ">=6" } }, "node_modules/cli-cursor": { @@ -8114,6 +7648,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/del/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "dev": true, @@ -9570,6 +9119,21 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/flatted": { "version": "3.2.7", "dev": true, @@ -9602,6 +9166,34 @@ "is-callable": "^1.1.3" } }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/fs-constants": { "version": "1.0.0", "dev": true, @@ -11015,6 +10607,24 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", + "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jake": { "version": "10.8.5", "dev": true, @@ -12795,6 +12405,63 @@ "node": ">=8" } }, + "node_modules/make-fetch-happen/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/make-fetch-happen/node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/make-fetch-happen/node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/make-fetch-happen/node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/make-fetch-happen/node_modules/socks-proxy-agent": { "version": "7.0.0", "dev": true, @@ -13493,6 +13160,21 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/node-gyp/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/node-int64": { "version": "0.4.0", "dev": true, @@ -14768,6 +14450,63 @@ "node": ">=10" } }, + "node_modules/pacote/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/pacote/node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/pacote/node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/pacote/node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/pacote/node_modules/unique-filename": { "version": "2.0.1", "dev": true, @@ -14885,12 +14624,13 @@ "license": "MIT" }, "node_modules/path-scurry": { - "version": "1.6.3", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", + "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", "dev": true, - "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^7.14.1", - "minipass": "^4.0.2" + "lru-cache": "^9.1.1", + "minipass": "^5.0.0 || ^6.0.2" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -14899,6 +14639,24 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.2.tgz", + "integrity": "sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/path-to-regexp": { "version": "1.8.0", "dev": true, @@ -15761,19 +15519,78 @@ "license": "MIT" }, "node_modules/rimraf": { - "version": "3.0.2", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", + "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", "dev": true, - "license": "ISC", "dependencies": { - "glob": "^7.1.3" + "glob": "^10.2.5" }, "bin": { - "rimraf": "bin.js" + "rimraf": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "10.2.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.7.tgz", + "integrity": "sha512-jTKehsravOJo8IJxUGfZILnkvVJM/MOfHRs8QcXolVef2zNI9Tqyy5+SeuOAZd3upViEZQLyFpQhYiHLrMUNmA==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.7.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/run-async": { "version": "2.4.1", "dev": true, @@ -16326,6 +16143,21 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/string.prototype.trimend": { "version": "1.0.6", "dev": true, @@ -16363,6 +16195,19 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "4.0.0", "dev": true, @@ -16639,6 +16484,21 @@ "node": ">=8.17.0" } }, + "node_modules/tmp/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/tmpl": { "version": "1.0.5", "dev": true, @@ -17401,6 +17261,24 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "dev": true, @@ -17635,10 +17513,10 @@ }, "packages/idempotency": { "name": "@aws-lambda-powertools/idempotency", - "version": "1.8.0-alpha.1", + "version": "1.9.0", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^1.5.0", + "@aws-lambda-powertools/commons": "^1.9.0", "@aws-sdk/lib-dynamodb": "^3.231.0", "jmespath": "^0.16.0" }, diff --git a/package.json b/package.json index 36bbca7ea4..7d857cbd69 100644 --- a/package.json +++ b/package.json @@ -2,8 +2,6 @@ "name": "aws-lambda-powertools-typescript", "version": "0.0.1", "description": "A suite of utilities for AWS Lambda functions to ease adopting best practices such as tracing, structured logging, custom metrics, and more.", - "main": "lib/index.js", - "types": "lib/", "workspaces": [ "packages/commons", "packages/logger", @@ -21,7 +19,7 @@ "test": "npm t -ws", "commit": "commit", "package": "npm run package -ws", - "setup-local": "npm ci --foreground-scripts && npm run init-environment", + "setup-local": "npm ci && npm run build && npm run init-environment", "build": "npm run build -ws", "docs-website-build-run": "npm run docs-buildDockerImage && npm run docs-runLocalDocker", "docs-buildDockerImage": "docker build -t powertools-typescript/docs ./docs/", @@ -29,8 +27,7 @@ "docs-api-build-run": "npm run docs-generateApiDoc && npx live-server api", "docs-generateApiDoc": "typedoc .", "docs-runLocalApiDoc": "npx live-server api", - "version": "lerna version --conventional-commits --force-publish=packages/commons,packages/tracer,packages/logger,packages/metrics,packages/parameters --no-commit-hooks --yes", - "version:dry-run": "lerna version --conventional-commits --force-publish=packages/commons,packages/tracer,packages/logger,packages/metrics,packages/parameters --no-commit-hooks --no-git-tag-version --no-push" + "postpublish": "git restore ." }, "repository": { "type": "git", @@ -76,6 +73,7 @@ "prettier": "^2.8.8", "promptly": "^3.2.0", "proxy-agent": "^5.0.0", + "rimraf": "^5.0.1", "ts-jest": "^29.0.3", "ts-node": "^10.9.1", "typedoc": "^0.24.7", @@ -83,10 +81,7 @@ "typescript": "^4.9.4", "uuid": "^9.0.0" }, - "files": [ - "lib/**/*" - ], "engines": { "node": ">=14" } -} +} \ No newline at end of file diff --git a/packages/commons/package.json b/packages/commons/package.json index 70d3222c0a..55a3b62f8f 100644 --- a/packages/commons/package.json +++ b/packages/commons/package.json @@ -10,7 +10,6 @@ "access": "public" }, "scripts": { - "commit": "commit", "test": "npm run test:unit", "test:unit": "jest --group=unit --detectOpenHandles --coverage --verbose", "test:e2e": "echo 'Not Applicable'", @@ -18,9 +17,8 @@ "build": "tsc", "lint": "eslint --ext .ts,.js --no-error-on-unmatched-pattern .", "lint-fix": "eslint --fix --ext .ts,.js --no-error-on-unmatched-pattern .", - "package": "mkdir -p dist/ && npm pack && mv *.tgz dist/", - "package-bundle": "../../package-bundler.sh commons-bundle ./dist", - "prepare": "npm run build" + "prebuild": "rimraf ./lib", + "prepack": "node ../../.github/scripts/release_patch_package_json.js ." }, "lint-staged": { "*.ts": "npm run lint-fix", diff --git a/packages/idempotency/package.json b/packages/idempotency/package.json index 9b00446ba7..d97c776bd9 100644 --- a/packages/idempotency/package.json +++ b/packages/idempotency/package.json @@ -1,29 +1,25 @@ { "name": "@aws-lambda-powertools/idempotency", - "version": "1.8.0-alpha.1", + "version": "1.9.0", "description": "The idempotency package for the Powertools for AWS Lambda (TypeScript) library. It provides options to make your Lambda functions idempotent and safe to retry.", "author": { "name": "Amazon Web Services", "url": "https://aws.amazon.com" }, - "publishConfig": { - "access": "public" - }, + "private": true, "scripts": { - "commit": "commit", "test": "npm run test:unit", "test:unit": "jest --group=unit --detectOpenHandles --coverage --verbose", "test:e2e:nodejs14x": "RUNTIME=nodejs14x jest --group=e2e", "test:e2e:nodejs16x": "RUNTIME=nodejs16x jest --group=e2e", "test:e2e:nodejs18x": "RUNTIME=nodejs18x jest --group=e2e", - "test:e2e": "jest --group=e2e --detectOpenHandles", - "watch": "jest --watch --group=unit", + "test:e2e": "jest --group=e2e", + "watch": "jest --watch", "build": "tsc", "lint": "eslint --ext .ts,.js --no-error-on-unmatched-pattern .", "lint-fix": "eslint --fix --ext .ts,.js --no-error-on-unmatched-pattern .", - "package": "mkdir -p dist/ && npm pack && mv *.tgz dist/", - "package-bundle": "../../package-bundler.sh idempotency-bundle ./dist", - "prebuild": "rm -rf ./lib" + "prebuild": "rimraf ./lib", + "prepack": "node ../../.github/scripts/release_patch_package_json.js ." }, "lint-staged": { "*.ts": "npm run lint-fix", @@ -82,7 +78,7 @@ "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" }, "dependencies": { - "@aws-lambda-powertools/commons": "^1.5.0", + "@aws-lambda-powertools/commons": "^1.9.0", "@aws-sdk/lib-dynamodb": "^3.231.0", "jmespath": "^0.16.0" }, @@ -100,4 +96,4 @@ "aws-sdk-client-mock": "^2.0.1", "aws-sdk-client-mock-jest": "^2.0.1" } -} \ No newline at end of file +} diff --git a/packages/logger/package.json b/packages/logger/package.json index df95f61725..c4954e6bd1 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -10,7 +10,6 @@ "access": "public" }, "scripts": { - "commit": "commit", "test": "npm run test:unit", "test:unit": "jest --group=unit --detectOpenHandles --coverage --verbose", "test:e2e:nodejs14x": "RUNTIME=nodejs14x jest --group=e2e", @@ -21,16 +20,15 @@ "build": "tsc", "lint": "eslint --ext .ts,.js --no-error-on-unmatched-pattern .", "lint-fix": "eslint --fix --ext .ts,.js --no-error-on-unmatched-pattern .", - "package": "mkdir -p dist/ && npm pack && mv *.tgz dist/", - "package-bundle": "../../package-bundler.sh logger-bundle ./dist", - "prepare": "npm run build" + "prebuild": "rimraf ./lib", + "prepack": "node ../../.github/scripts/release_patch_package_json.js ." }, "lint-staged": { "*.ts": "npm run lint-fix", "*.js": "npm run lint-fix" }, "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logger#readme", - "license": "MIT", + "license": "MIT-0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "devDependencies": { @@ -59,4 +57,4 @@ "serverless", "nodejs" ] -} +} \ No newline at end of file diff --git a/packages/metrics/package.json b/packages/metrics/package.json index c518112d47..5b8f30d1c0 100644 --- a/packages/metrics/package.json +++ b/packages/metrics/package.json @@ -10,7 +10,6 @@ "access": "public" }, "scripts": { - "commit": "commit", "test": "npm run test:unit", "test:unit": "jest --group=unit --detectOpenHandles --coverage --verbose", "test:e2e:nodejs14x": "RUNTIME=nodejs14x jest --group=e2e", @@ -21,9 +20,8 @@ "build": "tsc", "lint": "eslint --ext .ts,.js --no-error-on-unmatched-pattern .", "lint-fix": "eslint --fix --ext .ts,.js --no-error-on-unmatched-pattern .", - "package": "mkdir -p dist/ && npm pack && mv *.tgz dist/", - "package-bundle": "../../package-bundler.sh metrics-bundle ./dist", - "prepare": "npm run build" + "prebuild": "rimraf ./lib", + "prepack": "node ../../.github/scripts/release_patch_package_json.js ." }, "lint-staged": { "*.ts": "npm run lint-fix", diff --git a/packages/parameters/package.json b/packages/parameters/package.json index 559cb18cca..fc9a75e71f 100644 --- a/packages/parameters/package.json +++ b/packages/parameters/package.json @@ -7,11 +7,9 @@ "url": "https://aws.amazon.com" }, "publishConfig": { - "access": "public", - "directory": "lib" + "access": "public" }, "scripts": { - "commit": "commit", "test": "npm run test:unit", "test:unit": "jest --group=unit --detectOpenHandles --coverage --verbose", "test:e2e:nodejs14x": "RUNTIME=nodejs14x jest --group=e2e", @@ -22,11 +20,8 @@ "build": "tsc", "lint": "eslint --ext .ts,.js --no-error-on-unmatched-pattern .", "lint-fix": "eslint --fix --ext .ts,.js --no-error-on-unmatched-pattern .", - "package": "mkdir -p dist/ && npm pack && mv *.tgz dist/", - "package-bundle": "../../package-bundler.sh parameters-bundle ./dist", - "prepare": "npm run build", - "prepack": "cp ../../.github/scripts/release_patch_package_json.js . && node release_patch_package_json.js", - "postpack": "rm release_patch_package_json.js" + "prebuild": "rimraf ./lib", + "prepack": "node ../../.github/scripts/release_patch_package_json.js ." }, "lint-staged": { "*.ts": "npm run lint-fix", @@ -34,6 +29,65 @@ }, "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/parameters#readme", "license": "MIT-0", + "exports": { + ".": { + "import": "./lib/index.js", + "require": "./lib/index.js" + }, + "./base": { + "import": "./lib/base/index.js", + "require": "./lib/base/index.js" + }, + "./ssm": { + "import": "./lib/ssm/index.js", + "require": "./lib/ssm/index.js" + }, + "./secrets": { + "import": "./lib/secrets/index.js", + "require": "./lib/secrets/index.js" + }, + "./dynamodb": { + "import": "./lib/dynamodb/index.js", + "require": "./lib/dynamodb/index.js" + }, + "./appconfig": { + "import": "./lib/appconfig/index.js", + "require": "./lib/appconfig/index.js" + }, + "./errors": { + "import": "./lib/Exceptions.js", + "require": "./lib/Exceptions.js" + }, + "./types": { + "import": "./lib/types/index.d.ts", + "require": "./lib/types/index.d.ts" + } + }, + "typesVersions": { + "*": { + "base": [ + "lib/base/index.d.ts" + ], + "ssm": [ + "lib/ssm/index.d.ts" + ], + "secrets": [ + "lib/secrets/index.d.ts" + ], + "dynamodb": [ + "lib/dynamodb/index.d.ts" + ], + "appconfig": [ + "lib/appconfig/index.d.ts" + ], + "errors": [ + "lib/Exceptions.d.ts" + ], + "types": [ + "lib/types/index.d.ts" + ] + } + }, "main": "./lib/index.js", "types": "./lib/index.d.ts", "files": [ @@ -68,4 +122,4 @@ "@aws-lambda-powertools/commons": "^1.9.0", "@aws-sdk/util-base64-node": "^3.209.0" } -} +} \ No newline at end of file diff --git a/packages/tracer/package.json b/packages/tracer/package.json index 8f0b98f280..2d6621f4d1 100644 --- a/packages/tracer/package.json +++ b/packages/tracer/package.json @@ -10,7 +10,6 @@ "access": "public" }, "scripts": { - "commit": "commit", "test": "npm run test:unit", "test:unit": "jest --group=unit --detectOpenHandles --coverage --verbose", "test:e2e:nodejs14x": "RUNTIME=nodejs14x jest --group=e2e", @@ -21,9 +20,8 @@ "build": "tsc", "lint": "eslint --ext .ts,.js --no-error-on-unmatched-pattern .", "lint-fix": "eslint --fix --ext .ts,.js --no-error-on-unmatched-pattern .", - "package": "mkdir -p dist/ && npm pack && mv *.tgz dist/", - "package-bundle": "../../package-bundler.sh tracer-bundle ./dist", - "prepare": "npm run build" + "prebuild": "rimraf ./lib", + "prepack": "node ../../.github/scripts/release_patch_package_json.js ." }, "lint-staged": { "*.ts": "npm run lint-fix", From 6fe47eebd9710a89eff562446d8484d75cc60ad5 Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Fri, 16 Jun 2023 12:44:38 +0200 Subject: [PATCH 09/35] chore(docs): added back s3 bucket to docs workflow (#1505) --- .github/workflows/reusable-publish-docs.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml index f9292b8b4d..8243f81f34 100644 --- a/.github/workflows/reusable-publish-docs.yml +++ b/.github/workflows/reusable-publish-docs.yml @@ -122,4 +122,5 @@ jobs: ALIAS: ${{ inputs.alias }} run: | aws s3 sync \ - site/ \ \ No newline at end of file + site/ \ + s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/${{ env.ALIAS }}/ \ No newline at end of file From 3312019f11ffe0067eef18fe9d66aa8dcb58b0f9 Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Fri, 16 Jun 2023 16:58:42 +0200 Subject: [PATCH 10/35] chore(ci): update post release workflow (#1506) --- .github/scripts/label_related_issue.js | 37 +++--- .github/scripts/post_release.js | 154 +++++++++++++------------ 2 files changed, 103 insertions(+), 88 deletions(-) diff --git a/.github/scripts/label_related_issue.js b/.github/scripts/label_related_issue.js index e57f6621ba..57c938d8af 100644 --- a/.github/scripts/label_related_issue.js +++ b/.github/scripts/label_related_issue.js @@ -7,15 +7,16 @@ const { HANDLE_MAINTAINERS_TEAM, PR_IS_MERGED, RELATED_ISSUE_REGEX, -} = require("./constants"); + LABEL_RELEASED, +} = require('./constants'); module.exports = async ({ github, context, core }) => { if (IGNORE_AUTHORS.includes(PR_AUTHOR)) { - return core.notice("Author in IGNORE_AUTHORS list; skipping..."); + return core.notice('Author in IGNORE_AUTHORS list; skipping...'); } - if (PR_IS_MERGED == "false") { - return core.notice("Only merged PRs to avoid spam; skipping"); + if (PR_IS_MERGED == 'false') { + return core.notice('Only merged PRs to avoid spam; skipping'); } const isMatch = RELATED_ISSUE_REGEX.exec(PR_BODY); @@ -60,22 +61,28 @@ module.exports = async ({ github, context, core }) => { /** * Keep all labels except those that start with 'status/' or 'need-' or equal to 'help-wanted' * as those are contextual to issues still in progress. + * + * If the issue was already marked with the 'status/completed' label, then we'll keep that, otherwise + * we'll add the 'status/pending-release' label. */ + let hasCompletedLabel = false; const newLabels = currentLabels.data - .filter( - (label) => - !label.name.startsWith("status/") && - !label.name.startsWith("need-") && - label.name !== "help-wanted" - ) + .filter((label) => { + if (label.name === LABEL_RELEASED) { + hasCompletedLabel = true; + } + return ( + !label.name.startsWith('status/') && + !label.name.startsWith('need-') && + label.name !== 'help-wanted' + ); + }) .map((label) => label.name); - // Add the status/pending-release label - newLabels.push(LABEL_PENDING_RELEASE); + // Add the status/pending-release or status/completed label + newLabels.push(hasCompletedLabel ? LABEL_RELEASED : LABEL_PENDING_RELEASE); try { - core.info( - `Auto-labeling related issue ${issue} for release while removing 'status/*' and 'need-*' labels` - ); + core.info(`Auto-labeling related issue ${issue} completed`); return await github.rest.issues.setLabels({ issue_number: issue, owner: context.repo.owner, diff --git a/.github/scripts/post_release.js b/.github/scripts/post_release.js index 7eeebeb24b..3af2dccdc3 100644 --- a/.github/scripts/post_release.js +++ b/.github/scripts/post_release.js @@ -1,4 +1,4 @@ -const { LABEL_PENDING_RELEASE, LABEL_RELEASED } = require("./constants"); +const { LABEL_PENDING_RELEASE, LABEL_RELEASED } = require('./constants'); /** * Fetch issues using GitHub REST API @@ -12,26 +12,28 @@ const { LABEL_PENDING_RELEASE, LABEL_RELEASED } = require("./constants"); * @see {@link https://octokit.github.io/rest.js/v18#usage|Octokit client} */ const fetchIssues = async ({ - gh_client, - org, - repository, - state = "all", - label = LABEL_PENDING_RELEASE, + gh_client, + core, + org, + repository, + state = 'all', + label = LABEL_PENDING_RELEASE, }) => { - try { - const { data: issues } = await gh_client.rest.issues.listForRepo({ - owner: org, - repo: repository, - state: state, - labels: label, - }); - - return issues; - } catch (error) { - console.error(error); - throw new Error("Failed to fetch issues"); - } + try { + const { data: issues } = await gh_client.rest.issues.listForRepo({ + owner: org, + repo: repository, + state: state, + labels: label, + }); + return issues.filter( + (issue) => Object(issue).hasOwnProperty('pull_request') === false + ); + } catch (error) { + core.setFailed(error); + throw new Error('Failed to fetch issues'); + } }; /** @@ -44,68 +46,74 @@ const fetchIssues = async ({ * @see {@link https://octokit.github.io/rest.js/v18#usage|Octokit client} */ const notifyRelease = async ({ - gh_client, - owner, - repository, - release_version, + gh_client, + core, + owner, + repository, + release_version, }) => { - const release_url = `https://github.com/${owner}/${repository}/releases/tag/v${release_version.replace(/v/g, '')}`; - - const issues = await fetchIssues({ - gh_client: gh_client, - org: owner, - repository: repository, - state: "closed" - }); + const release_url = `https://github.com/${owner}/${repository}/releases/tag/v${release_version.replace( + /v/g, + '' + )}`; - issues.forEach(async (issue) => { - console.info(`Updating issue number ${issue.number}`); + const issues = await fetchIssues({ + gh_client: gh_client, + org: owner, + repository: repository, + state: 'closed', + }); - const comment = `This is now released under [${release_version}](${release_url}) version!`; - try { - await gh_client.rest.issues.createComment({ - owner: owner, - repo: repository, - body: comment, - issue_number: issue.number, - }); - } catch (error) { - console.error(error); - throw new Error(`Failed to update issue ${issue.number} about ${release_version} release`) - } + issues.forEach(async (issue) => { + core.info(`Updating issue number ${issue.number}`); + const comment = `This is now released under [${release_version}](${release_url}) version!`; + try { + await gh_client.rest.issues.createComment({ + owner: owner, + repo: repository, + body: comment, + issue_number: issue.number, + }); + } catch (error) { + core.setFailed(error); + throw new Error( + `Failed to update issue ${issue.number} about ${release_version} release` + ); + } - // Close issue and remove staged label; keep existing ones - const labels = issue.labels - .filter((label) => label.name != LABEL_PENDING_RELEASE) - .map((label) => label.name) - .push(LABEL_RELEASED); + // Remove staged label; keep existing ones + const labels = issue.labels + .filter((label) => label.name != LABEL_PENDING_RELEASE) + .map((label) => label.name); - try { - await gh_client.rest.issues.setLabels({ - repo: repository, - owner, - issue_number: issue.number, - labels, - }); - } catch (error) { - console.error(error); - throw new Error("Failed to close issue") - } + // Update labels including the released one + try { + await gh_client.rest.issues.setLabels({ + repo: repository, + owner, + issue_number: issue.number, + labels: [...labels, LABEL_RELEASED], + }); + } catch (error) { + core.setFailed(error); + throw new Error('Failed to label issue'); + } - console.info(`Issue number ${issue.number} closed and updated`); - }); + core.info(`Issue number ${issue.number} labeled`); + }); }; // context: https://github.com/actions/toolkit/blob/main/packages/github/src/context.ts -module.exports = async ({ github, context }) => { - const { RELEASE_VERSION } = process.env; - console.log(`Running post-release script for ${RELEASE_VERSION} version`); +module.exports = async ({ github, context, core }) => { + const { RELEASE_VERSION } = process.env; + core.info(`Running post-release script for ${RELEASE_VERSION} version`); - await notifyRelease({ - gh_client: github, - owner: context.repo.owner, - repository: context.repo.repo, - release_version: RELEASE_VERSION, - }); -}; \ No newline at end of file + await notifyRelease({ + gh_client: github, + core, + owner: context.repo.owner, + repository: context.repo.repo, + release_version: RELEASE_VERSION, + }); +}; From f564018313ab9e73d7401d6c28245cced6d186a3 Mon Sep 17 00:00:00 2001 From: Simon Thulbourn Date: Mon, 19 Jun 2023 15:33:18 +0200 Subject: [PATCH 11/35] chore: Change repo URL to the new location (#1475) * chore: Change repo URL to the new location * change docs URL * docs * labs * draft name * workflows * Update .github/ISSUE_TEMPLATE/config.yml Co-authored-by: Andrea Amorosi * chore: fix lint issues --------- Co-authored-by: Andrea Amorosi --- .github/CODEOWNERS | 2 +- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- .github/ISSUE_TEMPLATE/config.yml | 4 +- .github/ISSUE_TEMPLATE/feature_request.yml | 4 +- .github/ISSUE_TEMPLATE/maintenance.yml | 4 +- .github/ISSUE_TEMPLATE/rfc.yml | 4 +- .github/PULL_REQUEST_TEMPLATE.md | 6 +- .github/boring-cyborg.yml | 2 +- .github/scripts/constants.js | 2 +- .github/workflows/dispatch_analytics.yml | 2 +- .github/workflows/reusable-publish-docs.yml | 2 +- .../workflows/reusable_export_pr_details.yml | 6 +- CHANGELOG.md | 292 +++++++++--------- CONTRIBUTING.md | 10 +- MAINTAINERS.md | 24 +- README.md | 44 +-- docs/core/logger.md | 2 +- docs/core/metrics.md | 2 +- docs/index.md | 12 +- docs/roadmap.md | 14 +- docs/snippets/package.json | 6 +- docs/utilities/parameters.md | 2 +- docs/we_made_this.md | 2 +- examples/cdk/CHANGELOG.md | 2 +- examples/cdk/functions/get-all-items.ts | 2 +- examples/cdk/functions/get-by-id.ts | 2 +- examples/sam/CHANGELOG.md | 56 ++-- examples/sam/README.md | 2 +- examples/sam/src/get-all-items.ts | 2 +- examples/sam/src/get-by-id.ts | 2 +- layers/CHANGELOG.md | 36 +-- layers/package.json | 6 +- mkdocs.yml | 4 +- package.json | 6 +- packages/commons/CHANGELOG.md | 104 +++---- packages/commons/README.md | 36 +-- packages/commons/package.json | 6 +- .../src/config/EnvironmentVariablesService.ts | 4 +- packages/idempotency/LICENSE-THIRD-PARTY | 2 +- packages/idempotency/README.md | 14 +- packages/idempotency/package.json | 6 +- .../src/config/EnvironmentVariablesService.ts | 2 +- packages/logger/CHANGELOG.md | 150 ++++----- packages/logger/LICENSE-THIRD-PARTY | 2 +- packages/logger/README.md | 36 +-- packages/logger/package.json | 6 +- packages/logger/src/Logger.ts | 4 +- .../src/config/ConfigServiceInterface.ts | 2 +- .../src/config/EnvironmentVariablesService.ts | 2 +- packages/metrics/CHANGELOG.md | 120 +++---- packages/metrics/LICENSE-THIRD-PARTY | 2 +- packages/metrics/README.md | 36 +-- packages/metrics/package.json | 6 +- packages/parameters/CHANGELOG.md | 18 +- packages/parameters/README.md | 38 +-- packages/parameters/package.json | 6 +- .../src/appconfig/AppConfigProvider.ts | 4 +- .../parameters/src/appconfig/getAppConfig.ts | 4 +- .../src/dynamodb/DynamoDBProvider.ts | 6 +- .../parameters/src/secrets/SecretsProvider.ts | 6 +- packages/parameters/src/secrets/getSecret.ts | 4 +- packages/parameters/src/ssm/SSMProvider.ts | 8 +- packages/parameters/src/ssm/getParameter.ts | 4 +- packages/parameters/src/ssm/getParameters.ts | 4 +- .../parameters/src/ssm/getParametersByName.ts | 4 +- packages/tracer/CHANGELOG.md | 124 ++++---- packages/tracer/LICENSE-THIRD-PARTY | 2 +- packages/tracer/README.md | 36 +-- packages/tracer/package.json | 6 +- packages/tracer/src/Tracer.ts | 6 +- ...allFeatures.decorator.test.functionCode.ts | 7 +- .../allFeatures.manual.test.functionCode.ts | 2 +- .../allFeatures.middy.test.functionCode.ts | 2 +- ...syncHandler.decorator.test.functionCode.ts | 2 +- 74 files changed, 701 insertions(+), 702 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 2087c69d94..638092f3f2 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,3 +1,3 @@ # https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners -* @awslabs/aws-lambda-powertools-typescript \ No newline at end of file +* @aws-powertools/lambda-typescript \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 746aa44b0e..2e835370a4 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -6,7 +6,7 @@ body: - type: markdown attributes: value: | - Thank you for submitting a bug report. Before you start, make sure that [the bug hasn't been reported already](https://github.com/awslabs/aws-lambda-powertools-typescript/issues). + Thank you for submitting a bug report. Before you start, make sure that [the bug hasn't been reported already](https://github.com/aws-powertools/powertools-lambda-typescript/issues). Please add as much information as possible to help us reproduce, and remove any potential sensitive data. - type: textarea diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 59579b9724..8a3bf996c6 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,8 +1,8 @@ blank_issues_enabled: false contact_links: - name: Ask a question - url: https://github.com/awslabs/aws-lambda-powertools-typescript/discussions/new - about: Ask a general question about Lambda Powertools + url: https://github.com/aws-powertools/powertools-lambda-typescript/discussions/new + about: Ask a general question about Powertools for AWS Lambda - name: Join Community Discord Server url: https://discord.gg/B8zZKbbyET about: "Check out the #typescript channel" \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index c9b5f5e488..4aca7d76ee 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -34,9 +34,9 @@ body: attributes: label: Acknowledgment options: - - label: This feature request meets [Powertools for AWS Lambda (TypeScript) Tenets](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#tenets) + - label: This feature request meets [Powertools for AWS Lambda (TypeScript) Tenets](https://docs.powertools.aws.dev/lambda-typescript/latest/#tenets) required: true - - label: Should this be considered in other Powertools for AWS Lambda languages? i.e. [Python](https://github.com/awslabs/aws-lambda-powertools-python/), [Java](https://github.com/awslabs/aws-lambda-powertools-java/), and [.NET](https://github.com/awslabs/aws-lambda-powertools-dotnet/) + - label: Should this be considered in other Powertools for AWS Lambda languages? i.e. [Python](https://github.com/aws-powertools/powertools-lambda-python/), [Java](https://github.com/aws-powertools/powertools-lambda-java/), and [.NET](https://github.com/aws-powertools/powertools-lambda-dotnet/) required: false - type: markdown attributes: diff --git a/.github/ISSUE_TEMPLATE/maintenance.yml b/.github/ISSUE_TEMPLATE/maintenance.yml index b90899682f..d1e343bdc3 100644 --- a/.github/ISSUE_TEMPLATE/maintenance.yml +++ b/.github/ISSUE_TEMPLATE/maintenance.yml @@ -48,9 +48,9 @@ body: attributes: label: Acknowledgment options: - - label: This request meets [Powertools for AWS Lambda (TypeScript) Tenets](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#tenets) + - label: This request meets [Powertools for AWS Lambda (TypeScript) Tenets](https://docs.powertools.aws.dev/lambda-typescript/latest/#tenets) required: true - - label: Should this be considered in other Powertools for AWS Lambda languages? i.e. [Python](https://github.com/awslabs/aws-lambda-powertools-python/), [Java](https://github.com/awslabs/aws-lambda-powertools-java/), and [.NET](https://github.com/awslabs/aws-lambda-powertools-dotnet/) + - label: Should this be considered in other Powertools for AWS Lambda languages? i.e. [Python](https://github.com/aws-powertools/powertools-lambda-python/), [Java](https://github.com/aws-powertools/powertools-lambda-java/), and [.NET](https://github.com/aws-powertools/powertools-lambda-dotnet/) required: false - type: markdown attributes: diff --git a/.github/ISSUE_TEMPLATE/rfc.yml b/.github/ISSUE_TEMPLATE/rfc.yml index a555f8f16b..9162b8c00d 100644 --- a/.github/ISSUE_TEMPLATE/rfc.yml +++ b/.github/ISSUE_TEMPLATE/rfc.yml @@ -81,9 +81,9 @@ body: attributes: label: Acknowledgment options: - - label: This feature request meets [Powertools for AWS Lambda (TypeScript) Tenets](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#tenets) + - label: This feature request meets [Powertools for AWS Lambda (TypeScript) Tenets](https://docs.powertools.aws.dev/lambda-typescript/latest/#tenets) required: true - - label: Should this be considered in other Powertools for AWS Lambda languages? i.e. [Python](https://github.com/awslabs/aws-lambda-powertools-python/), [Java](https://github.com/awslabs/aws-lambda-powertools-java/), and [.NET](https://github.com/awslabs/aws-lambda-powertools-dotnet/) + - label: Should this be considered in other Powertools for AWS Lambda languages? i.e. [Python](https://github.com/aws-powertools/powertools-lambda-python/), [Java](https://github.com/aws-powertools/powertools-lambda-java/), and [.NET](https://github.com/aws-powertools/powertools-lambda-dotnet/) required: false - type: markdown attributes: diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index ef55fb0f95..620fc70b9c 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,6 +1,6 @@ @@ -28,13 +28,13 @@ Note: If no issue is present the PR might get blocked and not be reviewed. ## Checklist -- [ ] [My changes meet the tenets criteria](https://awslabs.github.io/aws-lambda-powertools-typescript/#tenets) +- [ ] [My changes meet the tenets criteria](https://docs.powertools.aws.dev/lambda-typescript/#tenets) - [ ] I have performed a *self-review* of my own code - [ ] I have *commented* my code where necessary, particularly in areas that should be flagged with a TODO, or hard-to-understand areas - [ ] I have made corresponding changes to the *documentation* - [ ] My changes generate *no new warnings* - [ ] I have *added tests* that prove my change is effective and works -- [ ] The PR title follows the [conventional commit semantics](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/main/.github/semantic.yml#L2) +- [ ] The PR title follows the [conventional commit semantics](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/.github/semantic.yml#L2) ### Breaking change checklist diff --git a/.github/boring-cyborg.yml b/.github/boring-cyborg.yml index cd6de6d321..f84f28861a 100644 --- a/.github/boring-cyborg.yml +++ b/.github/boring-cyborg.yml @@ -158,7 +158,7 @@ labelPRBasedOnFilePath: ##### Greetings ######################################################################################################## firstPRWelcomeComment: > - Thanks a lot for your first contribution! Please check out our [contributing guidelines](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/chore/pr_automation/CONTRIBUTING.md) and don't hesitate to ask whatever you need. + Thanks a lot for your first contribution! Please check out our [contributing guidelines](https://github.com/aws-powertools/powertools-lambda-typescript/blob/chore/pr_automation/CONTRIBUTING.md) and don't hesitate to ask whatever you need. In the meantime, check out the #typescript channel on our Powertools for AWS Lambda Discord: [Invite link](https://discord.gg/B8zZKbbyET) diff --git a/.github/scripts/constants.js b/.github/scripts/constants.js index 6dede1243b..ed26f41cca 100644 --- a/.github/scripts/constants.js +++ b/.github/scripts/constants.js @@ -31,7 +31,7 @@ module.exports = Object.freeze({ "LABEL_RELEASED": "status/completed", /** @type {string} */ - "HANDLE_MAINTAINERS_TEAM": "@awslabs/aws-lambda-powertools-typescript", + "HANDLE_MAINTAINERS_TEAM": "@aws-powertools/lambda-typescript", /** @type {string[]} */ "IGNORE_AUTHORS": ["dependabot[bot]"], diff --git a/.github/workflows/dispatch_analytics.yml b/.github/workflows/dispatch_analytics.yml index a70c858001..b091a1ab40 100644 --- a/.github/workflows/dispatch_analytics.yml +++ b/.github/workflows/dispatch_analytics.yml @@ -23,7 +23,7 @@ permissions: jobs: dispatch_token: - if: github.repository == 'awslabs/aws-lambda-powertools-typescript' + if: github.repository == 'aws-powertools/powertools-lambda-typescript' concurrency: group: analytics runs-on: ubuntu-latest diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml index 8243f81f34..890d00d7a7 100644 --- a/.github/workflows/reusable-publish-docs.yml +++ b/.github/workflows/reusable-publish-docs.yml @@ -2,7 +2,7 @@ name: Reusable Publish docs env: BRANCH: main - ORIGIN: awslabs/aws-lambda-powertools-typescript + ORIGIN: aws-powertools/powertools-lambda-typescript VERSION: "" on: diff --git a/.github/workflows/reusable_export_pr_details.yml b/.github/workflows/reusable_export_pr_details.yml index 7c7997db43..fb184a0a34 100644 --- a/.github/workflows/reusable_export_pr_details.yml +++ b/.github/workflows/reusable_export_pr_details.yml @@ -6,7 +6,7 @@ on: record_pr_workflow_id: required: true type: number - workflow_origin: # see https://github.com/awslabs/aws-lambda-powertools-python/issues/1349 + workflow_origin: # see https://github.com/aws-powertools/powertools-lambda-python/issues/1349 required: true type: string secrets: @@ -35,8 +35,8 @@ on: jobs: export_pr_details: - # see https://github.com/awslabs/aws-lambda-powertools-python/issues/1349 - if: inputs.workflow_origin == 'awslabs/aws-lambda-powertools-typescript' + # see https://github.com/aws-powertools/powertools-lambda-python/issues/1349 + if: inputs.workflow_origin == 'aws-powertools/lambda-typescript' runs-on: ubuntu-latest env: FILENAME: pr.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f7f3d90c8..1778d0e1b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,345 +3,345 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -# [1.9.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) +# [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) ### Features -- **commons:** add `cleanupPowertools` function ([#1473](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1473)) ([5bd0166](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/5bd01665699ae2f026d845477e648d325f20a855)) -- **idempotency:** `makeHandlerIdempotent` middy middleware ([#1474](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1474)) ([a558f10](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/a558f100209978a075e98a8c8a3763c4145c8a94)) -- **idempotency:** add package exports ([#1483](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1483)) ([faa9307](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/faa9307a4bd42e3acdab5dc68ddd57ab5c61964c)) -- **idempotency:** idempotency middleware & types exports ([#1487](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1487)) ([d947db9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d947db9d2f99b7c4da0a3618e967db9e77728805)) -- **idempotency:** implement IdempotencyHandler ([#1416](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1416)) ([f2ebf08](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/f2ebf08607f5bb41a96f2b713973f4635d9d6f9d)) -- **logger:** enhance log level handling ([#1476](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1476)) ([0021536](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/0021536e35ba7046226155055f9ab6b5f988f71f)) -- **parameters:** add adaptive types to SecretsProvider ([#1411](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1411)) ([5c6d527](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/5c6d527b0ad983e893ba07f8a334b4085b6ae6a7)) -- **tracer:** add isTraceSampled method ([#1435](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1435)) ([194bbd3](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/194bbd366b726a477523225f446add054c20566e)) +- **commons:** add `cleanupPowertools` function ([#1473](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1473)) ([5bd0166](https://github.com/aws-powertools/powertools-lambda-typescript/commit/5bd01665699ae2f026d845477e648d325f20a855)) +- **idempotency:** `makeHandlerIdempotent` middy middleware ([#1474](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1474)) ([a558f10](https://github.com/aws-powertools/powertools-lambda-typescript/commit/a558f100209978a075e98a8c8a3763c4145c8a94)) +- **idempotency:** add package exports ([#1483](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1483)) ([faa9307](https://github.com/aws-powertools/powertools-lambda-typescript/commit/faa9307a4bd42e3acdab5dc68ddd57ab5c61964c)) +- **idempotency:** idempotency middleware & types exports ([#1487](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1487)) ([d947db9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d947db9d2f99b7c4da0a3618e967db9e77728805)) +- **idempotency:** implement IdempotencyHandler ([#1416](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1416)) ([f2ebf08](https://github.com/aws-powertools/powertools-lambda-typescript/commit/f2ebf08607f5bb41a96f2b713973f4635d9d6f9d)) +- **logger:** enhance log level handling ([#1476](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1476)) ([0021536](https://github.com/aws-powertools/powertools-lambda-typescript/commit/0021536e35ba7046226155055f9ab6b5f988f71f)) +- **parameters:** add adaptive types to SecretsProvider ([#1411](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1411)) ([5c6d527](https://github.com/aws-powertools/powertools-lambda-typescript/commit/5c6d527b0ad983e893ba07f8a334b4085b6ae6a7)) +- **tracer:** add isTraceSampled method ([#1435](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1435)) ([194bbd3](https://github.com/aws-powertools/powertools-lambda-typescript/commit/194bbd366b726a477523225f446add054c20566e)) -# [1.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) +# [1.8.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) ### Bug Fixes -- **parameters:** type import path in AppConfigProvider ([#1388](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1388)) ([40a1a24](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/40a1a24de50ee086f76ab9c78d5fc03e5e7945cf)) +- **parameters:** type import path in AppConfigProvider ([#1388](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1388)) ([40a1a24](https://github.com/aws-powertools/powertools-lambda-typescript/commit/40a1a24de50ee086f76ab9c78d5fc03e5e7945cf)) ### Features -- **idempotency:** add local cache to `BasePersistenceLayer` ([#1396](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1396)) ([2013ff2](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/2013ff250afa3f1a26a7610694fe881b232b976f)) -- **idempotency:** BasePersistenceLayer, DynamoDBPersistenceLayer and configs ([#1376](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1376)) ([f05cba8](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/f05cba8802551f160d630d3ef2b7e741f0de9158)) -- **logger:** add `CRITICAL` log level ([#1399](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1399)) ([a248ff0](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/a248ff0a584bac5a97fe300f3addbb9c3a50b555)) -- **metrics:** log warning on empty metrics ([#1397](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1397)) ([31ae936](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/31ae936831177f58edff43ce3850ed13c964fc87)) -- **parameters:** ability to set `maxAge` and `decrypt` via environment variables ([#1384](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1384)) ([dcf6620](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/dcf6620f55004b69186cd69b0c42b1cdd9fd1ce4)) -- **parameters:** add `clearCaches` function ([#1382](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1382)) ([ec49023](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/ec49023c44c3873ba5396a45ee9b2a8ee031e84b)) -- **parameters:** stronger types for SSM getParameter ([#1387](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1387)) ([9d53942](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/9d53942fdd272213cf39c7fa87ffa78513dff37d)) +- **idempotency:** add local cache to `BasePersistenceLayer` ([#1396](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1396)) ([2013ff2](https://github.com/aws-powertools/powertools-lambda-typescript/commit/2013ff250afa3f1a26a7610694fe881b232b976f)) +- **idempotency:** BasePersistenceLayer, DynamoDBPersistenceLayer and configs ([#1376](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1376)) ([f05cba8](https://github.com/aws-powertools/powertools-lambda-typescript/commit/f05cba8802551f160d630d3ef2b7e741f0de9158)) +- **logger:** add `CRITICAL` log level ([#1399](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1399)) ([a248ff0](https://github.com/aws-powertools/powertools-lambda-typescript/commit/a248ff0a584bac5a97fe300f3addbb9c3a50b555)) +- **metrics:** log warning on empty metrics ([#1397](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1397)) ([31ae936](https://github.com/aws-powertools/powertools-lambda-typescript/commit/31ae936831177f58edff43ce3850ed13c964fc87)) +- **parameters:** ability to set `maxAge` and `decrypt` via environment variables ([#1384](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1384)) ([dcf6620](https://github.com/aws-powertools/powertools-lambda-typescript/commit/dcf6620f55004b69186cd69b0c42b1cdd9fd1ce4)) +- **parameters:** add `clearCaches` function ([#1382](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1382)) ([ec49023](https://github.com/aws-powertools/powertools-lambda-typescript/commit/ec49023c44c3873ba5396a45ee9b2a8ee031e84b)) +- **parameters:** stronger types for SSM getParameter ([#1387](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1387)) ([9d53942](https://github.com/aws-powertools/powertools-lambda-typescript/commit/9d53942fdd272213cf39c7fa87ffa78513dff37d)) -# [1.7.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) +# [1.7.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) ### Bug Fixes -- **docs:** typo in layer arn ([bc5f7c9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/bc5f7c99e02396223e726962432fc3856a68a29d)) +- **docs:** typo in layer arn ([bc5f7c9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/bc5f7c99e02396223e726962432fc3856a68a29d)) ### Features -- **logger:** add silent log level to suppress the emission of all logs ([#1347](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1347)) ([c82939e](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c82939ebdb82ae596cbad07be397794ee4b69fe5)) -- **metrics:** support high resolution metrics ([#1369](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1369)) ([79a321b](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/79a321b199ef51a024dc25b83673baf2eb03de69)) -- **parameters:** AppConfigProvider to return the last valid value when the API returns empty value on subsequent calls ([#1365](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1365)) ([97339d9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/97339d9336ec67568e9e7fd079b3cfe006da1bba)) +- **logger:** add silent log level to suppress the emission of all logs ([#1347](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1347)) ([c82939e](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c82939ebdb82ae596cbad07be397794ee4b69fe5)) +- **metrics:** support high resolution metrics ([#1369](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1369)) ([79a321b](https://github.com/aws-powertools/powertools-lambda-typescript/commit/79a321b199ef51a024dc25b83673baf2eb03de69)) +- **parameters:** AppConfigProvider to return the last valid value when the API returns empty value on subsequent calls ([#1365](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1365)) ([97339d9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/97339d9336ec67568e9e7fd079b3cfe006da1bba)) -# [1.6.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.5.1...v1.6.0) (2023-03-02) +# [1.6.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.5.1...v1.6.0) (2023-03-02) ### Bug Fixes -- **docs:** logger bringYourOwnFormatter snippet [#1253](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1253) ([#1254](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1254)) ([fdbba32](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/fdbba32d8b3545730d242ac4fd1ef2d83cdbccce)) -- hardcoded cdk version in `publish_layer.yaml` ([#1232](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1232)) ([63a3909](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/63a3909063637ca2306a718a10e35e54881f570e)) -- **logger:** createChild not passing all parent's attributes ([#1267](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1267)) ([84ab4b9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/84ab4b911d17d687bdbe60ded31f1e2b6860feb3)) -- **logger:** middleware stores initial persistent attributes correctly ([#1329](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1329)) ([6b32304](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/6b3230489895dc1abdfc6ad56daeeb555fda529f)) -- **parameters:** handle base64/binaries in transformer ([#1326](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1326)) ([bb50c04](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/bb50c04f5b2e6a144295b453577a7ea1a15ac011)) -- **parameters:** Tokenize attribute names in `DynamoDBProvider` ([#1239](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1239)) ([f3e5ed7](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/f3e5ed70c7e5baa3f3aa15428e8d6cb56b096f26)) +- **docs:** logger bringYourOwnFormatter snippet [#1253](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1253) ([#1254](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1254)) ([fdbba32](https://github.com/aws-powertools/powertools-lambda-typescript/commit/fdbba32d8b3545730d242ac4fd1ef2d83cdbccce)) +- hardcoded cdk version in `publish_layer.yaml` ([#1232](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1232)) ([63a3909](https://github.com/aws-powertools/powertools-lambda-typescript/commit/63a3909063637ca2306a718a10e35e54881f570e)) +- **logger:** createChild not passing all parent's attributes ([#1267](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1267)) ([84ab4b9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/84ab4b911d17d687bdbe60ded31f1e2b6860feb3)) +- **logger:** middleware stores initial persistent attributes correctly ([#1329](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1329)) ([6b32304](https://github.com/aws-powertools/powertools-lambda-typescript/commit/6b3230489895dc1abdfc6ad56daeeb555fda529f)) +- **parameters:** handle base64/binaries in transformer ([#1326](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1326)) ([bb50c04](https://github.com/aws-powertools/powertools-lambda-typescript/commit/bb50c04f5b2e6a144295b453577a7ea1a15ac011)) +- **parameters:** Tokenize attribute names in `DynamoDBProvider` ([#1239](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1239)) ([f3e5ed7](https://github.com/aws-powertools/powertools-lambda-typescript/commit/f3e5ed70c7e5baa3f3aa15428e8d6cb56b096f26)) ### Features -- **idempotency:** Add function wrapper and decorator ([#1262](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1262)) ([eacb1d9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/eacb1d9f59a82ad34234f51198ed215c41a64b41)) -- **layers:** add new regions ([#1322](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1322)) ([618613b](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/618613b9a69166553dd9ef8d5b92f89e1cdf79d0)) -- **logger:** make loglevel types stricter ([#1313](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1313)) ([5af51d3](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/5af51d319dee68d7a7ba832721580d7a6e655249)) -- **parameters:** add support for custom AWS SDK v3 clients for providers ([#1260](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1260)) ([3a8cfa0](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/3a8cfa0d6e5aaa5c2c36d97d7835dbf5287b7110)) +- **idempotency:** Add function wrapper and decorator ([#1262](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1262)) ([eacb1d9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/eacb1d9f59a82ad34234f51198ed215c41a64b41)) +- **layers:** add new regions ([#1322](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1322)) ([618613b](https://github.com/aws-powertools/powertools-lambda-typescript/commit/618613b9a69166553dd9ef8d5b92f89e1cdf79d0)) +- **logger:** make loglevel types stricter ([#1313](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1313)) ([5af51d3](https://github.com/aws-powertools/powertools-lambda-typescript/commit/5af51d319dee68d7a7ba832721580d7a6e655249)) +- **parameters:** add support for custom AWS SDK v3 clients for providers ([#1260](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1260)) ([3a8cfa0](https://github.com/aws-powertools/powertools-lambda-typescript/commit/3a8cfa0d6e5aaa5c2c36d97d7835dbf5287b7110)) -## [1.5.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.5.0...v1.5.1) (2023-01-13) +## [1.5.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.5.0...v1.5.1) (2023-01-13) ### Bug Fixes -- **logger:** logger throws TypeError when log item has BigInt value ([#1201](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1201)) ([a09e4df](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/a09e4dfbb2cef062c1178de3e3dbc2583aef7a91)) -- **parameters:** types in BaseProvider + added getMultiple alias to SecretsProvider ([#1214](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1214)) ([32bd7e8](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/32bd7e8694fa74a63993eded236af8d84c2dc752)) +- **logger:** logger throws TypeError when log item has BigInt value ([#1201](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1201)) ([a09e4df](https://github.com/aws-powertools/powertools-lambda-typescript/commit/a09e4dfbb2cef062c1178de3e3dbc2583aef7a91)) +- **parameters:** types in BaseProvider + added getMultiple alias to SecretsProvider ([#1214](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1214)) ([32bd7e8](https://github.com/aws-powertools/powertools-lambda-typescript/commit/32bd7e8694fa74a63993eded236af8d84c2dc752)) ### Features -- **parameters:** AppConfigProvider ([#1200](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1200)) ([fecedb9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/fecedb9e8446a008dca2927ba7aec16d54b34685)) -- **parameters:** DynamoDBProvider support ([#1202](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1202)) ([db94850](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/db94850b536dc92fcd11ce2a5f68412bed9c1feb)) -- **parameters:** SecretsProvider support ([#1206](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1206)) ([02516b7](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/02516b7315c3c6df7bed51768381313e7942b215)) -- **parameters:** SSMProvider support ([#1187](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1187)) ([2e4bb76](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/2e4bb76773222ecbe44ec22633445e06199fc8b1)) +- **parameters:** AppConfigProvider ([#1200](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1200)) ([fecedb9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/fecedb9e8446a008dca2927ba7aec16d54b34685)) +- **parameters:** DynamoDBProvider support ([#1202](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1202)) ([db94850](https://github.com/aws-powertools/powertools-lambda-typescript/commit/db94850b536dc92fcd11ce2a5f68412bed9c1feb)) +- **parameters:** SecretsProvider support ([#1206](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1206)) ([02516b7](https://github.com/aws-powertools/powertools-lambda-typescript/commit/02516b7315c3c6df7bed51768381313e7942b215)) +- **parameters:** SSMProvider support ([#1187](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1187)) ([2e4bb76](https://github.com/aws-powertools/powertools-lambda-typescript/commit/2e4bb76773222ecbe44ec22633445e06199fc8b1)) -# [1.5.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.4.1...v1.5.0) (2022-11-25) +# [1.5.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.4.1...v1.5.0) (2022-11-25) ### Bug Fixes -- **logger:** merge child logger options correctly ([#1178](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1178)) ([cb91374](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/cb9137436cc3a10d6c869506ddd07e35963ba8b2)) +- **logger:** merge child logger options correctly ([#1178](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1178)) ([cb91374](https://github.com/aws-powertools/powertools-lambda-typescript/commit/cb9137436cc3a10d6c869506ddd07e35963ba8b2)) ### Features -- **idempotency:** Add persistence layer and DynamoDB implementation ([#1110](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1110)) ([0a6676a](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/0a6676ac24abdadaaff2d95fc8d75d3a7137a00b)) -- **logger:** disable logs while testing with `jest --silent` in dev env ([#1165](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1165)) ([6f0c307](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/6f0c30728f31d60433b3afb6983c64110c28d27e)) -- **logger:** pretty printing logs in local and non-prod environment ([#1141](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1141)) ([8d52660](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/8d52660eb6b8324e284421c2484c45d9a0839346)) -- **parameters:** added `BaseProvider` class ([#1168](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1168)) ([d717a26](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d717a26bba086be4c01f1458422662f8bfba09a9)) +- **idempotency:** Add persistence layer and DynamoDB implementation ([#1110](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1110)) ([0a6676a](https://github.com/aws-powertools/powertools-lambda-typescript/commit/0a6676ac24abdadaaff2d95fc8d75d3a7137a00b)) +- **logger:** disable logs while testing with `jest --silent` in dev env ([#1165](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1165)) ([6f0c307](https://github.com/aws-powertools/powertools-lambda-typescript/commit/6f0c30728f31d60433b3afb6983c64110c28d27e)) +- **logger:** pretty printing logs in local and non-prod environment ([#1141](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1141)) ([8d52660](https://github.com/aws-powertools/powertools-lambda-typescript/commit/8d52660eb6b8324e284421c2484c45d9a0839346)) +- **parameters:** added `BaseProvider` class ([#1168](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1168)) ([d717a26](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d717a26bba086be4c01f1458422662f8bfba09a9)) -## [1.4.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.4.0...v1.4.1) (2022-11-09) +## [1.4.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.4.0...v1.4.1) (2022-11-09) ### Bug Fixes -- **metrics:** store service name in defaultDimensions to avoid clearing it ([#1146](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1146)) ([a979202](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/a979202ae0563f8ce00dee98bbf15d0bcfcfd3cc)) +- **metrics:** store service name in defaultDimensions to avoid clearing it ([#1146](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1146)) ([a979202](https://github.com/aws-powertools/powertools-lambda-typescript/commit/a979202ae0563f8ce00dee98bbf15d0bcfcfd3cc)) -# [1.4.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.3.0...v1.4.0) (2022-10-27) +# [1.4.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.3.0...v1.4.0) (2022-10-27) ### Bug Fixes -- **metrics:** metadata and dimensions not cleared on publish ([#1129](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1129)) ([b209c30](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/b209c30df92da07875f204f7f211294feea729db)) +- **metrics:** metadata and dimensions not cleared on publish ([#1129](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1129)) ([b209c30](https://github.com/aws-powertools/powertools-lambda-typescript/commit/b209c30df92da07875f204f7f211294feea729db)) ### Features -- **all:** moved EnvService to commons + exposed getXrayTraceId in tracer ([#1123](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1123)) ([c8e3c15](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c8e3c15b64142ebe6f43835a5917ecba26293a32)) +- **all:** moved EnvService to commons + exposed getXrayTraceId in tracer ([#1123](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1123)) ([c8e3c15](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c8e3c15b64142ebe6f43835a5917ecba26293a32)) -# [1.3.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.2.1...v1.3.0) (2022-10-17) +# [1.3.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.2.1...v1.3.0) (2022-10-17) ### Bug Fixes -- **all:** update version command to use lint-fix ([#1119](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1119)) ([6f14fb3](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/6f14fb3229882b1dd0c20d18c87a542993432da9)) -- captureColdStartMetric and throwOnEmptyMetrics when set to false was interpreted as true ([#1090](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1090)) ([127aad4](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/127aad4698412d72368c093812dd4034839119ca)) -- captureMethod correctly detect method name when used with external decorators ([#1109](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1109)) ([a574406](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/a574406134b65c17f56dfb3d3130aa237ece4160)) -- **logger:** wait for decorated method return before clearing out state ([#1087](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1087)) ([133ed3c](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/133ed3c31ce1d99eb8f427f54721896781438ef7)) -- ts-node version for layer-publisher ([#1112](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1112)) ([ee243de](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/ee243dea0b9268ed793df19f0b04e680f68e41a6)) +- **all:** update version command to use lint-fix ([#1119](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1119)) ([6f14fb3](https://github.com/aws-powertools/powertools-lambda-typescript/commit/6f14fb3229882b1dd0c20d18c87a542993432da9)) +- captureColdStartMetric and throwOnEmptyMetrics when set to false was interpreted as true ([#1090](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1090)) ([127aad4](https://github.com/aws-powertools/powertools-lambda-typescript/commit/127aad4698412d72368c093812dd4034839119ca)) +- captureMethod correctly detect method name when used with external decorators ([#1109](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1109)) ([a574406](https://github.com/aws-powertools/powertools-lambda-typescript/commit/a574406134b65c17f56dfb3d3130aa237ece4160)) +- **logger:** wait for decorated method return before clearing out state ([#1087](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1087)) ([133ed3c](https://github.com/aws-powertools/powertools-lambda-typescript/commit/133ed3c31ce1d99eb8f427f54721896781438ef7)) +- ts-node version for layer-publisher ([#1112](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1112)) ([ee243de](https://github.com/aws-powertools/powertools-lambda-typescript/commit/ee243dea0b9268ed793df19f0b04e680f68e41a6)) ### Features -- **idempotency:** create initial class structure for function idempotency ([#1086](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1086)) ([06fbaae](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/06fbaae4db3825557aa84d40372a53422e42840d)) -- publish lib as Lambda Layer ([#1095](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1095)) ([83f6efb](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/83f6efba1db32ba2dc8fff026e258b5de66783e0)) -- **tracer:** specify subsegment name when capturing class method ([#1092](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1092)) ([d4174eb](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d4174eb7a894215e2d37f306016429de3bde8029)) +- **idempotency:** create initial class structure for function idempotency ([#1086](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1086)) ([06fbaae](https://github.com/aws-powertools/powertools-lambda-typescript/commit/06fbaae4db3825557aa84d40372a53422e42840d)) +- publish lib as Lambda Layer ([#1095](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1095)) ([83f6efb](https://github.com/aws-powertools/powertools-lambda-typescript/commit/83f6efba1db32ba2dc8fff026e258b5de66783e0)) +- **tracer:** specify subsegment name when capturing class method ([#1092](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1092)) ([d4174eb](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d4174eb7a894215e2d37f306016429de3bde8029)) ### Reverts -- Revert "chore(release): v1.3.0 [skip ci]" ([237b99f](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/237b99f9f6eff5e6e26d779603cf13cd4422c156)) +- Revert "chore(release): v1.3.0 [skip ci]" ([237b99f](https://github.com/aws-powertools/powertools-lambda-typescript/commit/237b99f9f6eff5e6e26d779603cf13cd4422c156)) -## [1.2.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.2.0...v1.2.1) (2022-08-25) +## [1.2.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.2.0...v1.2.1) (2022-08-25) **Note:** Version bump only for package aws-lambda-powertools-typescript -# [1.2.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.1.1...v1.2.0) (2022-08-23) +# [1.2.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.1.1...v1.2.0) (2022-08-23) ### Bug Fixes -- **docs:** docs published with incorrect version number + api docs missing after release ([#1066](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1066)) ([8b8b25c](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/8b8b25c97d84f7a518a463e2a30406c31e44e587)) +- **docs:** docs published with incorrect version number + api docs missing after release ([#1066](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1066)) ([8b8b25c](https://github.com/aws-powertools/powertools-lambda-typescript/commit/8b8b25c97d84f7a518a463e2a30406c31e44e587)) ### Features -- **metrics:** increase maximum dimensions to 29 ([#1072](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1072)) ([7b9a027](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/7b9a0278ccf801a521cab3f74372a4748231fd11)) -- **tracer:** allow disabling result capture for decorators and middleware ([#1065](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1065)) ([c3b9a37](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c3b9a37b6d5885f1750da4f0b226a18734ff0c29)) +- **metrics:** increase maximum dimensions to 29 ([#1072](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1072)) ([7b9a027](https://github.com/aws-powertools/powertools-lambda-typescript/commit/7b9a0278ccf801a521cab3f74372a4748231fd11)) +- **tracer:** allow disabling result capture for decorators and middleware ([#1065](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1065)) ([c3b9a37](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c3b9a37b6d5885f1750da4f0b226a18734ff0c29)) -## [1.1.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.1.0...v1.1.1) (2022-08-18) +## [1.1.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.1.0...v1.1.1) (2022-08-18) ### Bug Fixes -- **logger:** decorated class methods cannot access `this` ([#1060](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1060)) ([73990bb](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/73990bbcbbd9d5a6d6f55f553e4fd8f038654fa9)) -- **tracer:** decorated class methods cannot access `this` ([#1055](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1055)) ([107fa04](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/107fa04148ec86c8a0c0a29b5b2d35a62fe2b4e6)) -- workflow concurrency + leftover needs ([#1054](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1054)) ([9ce180a](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/9ce180a3b70a86af5e6cc94f51ecf4a0b6a7a96e)) +- **logger:** decorated class methods cannot access `this` ([#1060](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1060)) ([73990bb](https://github.com/aws-powertools/powertools-lambda-typescript/commit/73990bbcbbd9d5a6d6f55f553e4fd8f038654fa9)) +- **tracer:** decorated class methods cannot access `this` ([#1055](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1055)) ([107fa04](https://github.com/aws-powertools/powertools-lambda-typescript/commit/107fa04148ec86c8a0c0a29b5b2d35a62fe2b4e6)) +- workflow concurrency + leftover needs ([#1054](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1054)) ([9ce180a](https://github.com/aws-powertools/powertools-lambda-typescript/commit/9ce180a3b70a86af5e6cc94f51ecf4a0b6a7a96e)) -# [1.1.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.0.2...v1.1.0) (2022-08-12) +# [1.1.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.0.2...v1.1.0) (2022-08-12) ### Bug Fixes -- **layers:** release process + remove duplicate code ([#1052](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1052)) ([f653c06](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/f653c065bd5586785e482d61d2738549d8ac9fd9)) -- **logger:** fix clearstate bug when lambda handler throws ([#1045](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1045)) ([5ebd1cf](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/5ebd1cf44a2a3b6d99923e5bb942af3327325241)) -- wrong scope in captureMethod ([#1026](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1026)) ([1a06fed](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/1a06fed74db02741c58bc05d8d5fce2e688d7879)) +- **layers:** release process + remove duplicate code ([#1052](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1052)) ([f653c06](https://github.com/aws-powertools/powertools-lambda-typescript/commit/f653c065bd5586785e482d61d2738549d8ac9fd9)) +- **logger:** fix clearstate bug when lambda handler throws ([#1045](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1045)) ([5ebd1cf](https://github.com/aws-powertools/powertools-lambda-typescript/commit/5ebd1cf44a2a3b6d99923e5bb942af3327325241)) +- wrong scope in captureMethod ([#1026](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1026)) ([1a06fed](https://github.com/aws-powertools/powertools-lambda-typescript/commit/1a06fed74db02741c58bc05d8d5fce2e688d7879)) ### Features -- **build:** publish lib as a Lambda Layer ([#884](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/884)) ([c3a20c6](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c3a20c61380a6b6944807f5abf12c9cafb254325)), closes [#1031](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1031) +- **build:** publish lib as a Lambda Layer ([#884](https://github.com/aws-powertools/powertools-lambda-typescript/issues/884)) ([c3a20c6](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c3a20c61380a6b6944807f5abf12c9cafb254325)), closes [#1031](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1031) -## [1.0.2](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.0.1...v1.0.2) (2022-07-19) +## [1.0.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.0.1...v1.0.2) (2022-07-19) **Note:** Version bump only for package aws-lambda-powertools-typescript -## [1.0.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.12.0-rc.1...v1.0.1) (2022-07-14) +## [1.0.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.12.0-rc.1...v1.0.1) (2022-07-14) **Note:** Version bump only for package aws-lambda-powertools-typescript -# [0.12.0-rc.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.12.0-rc.0...v0.12.0-rc.1) (2022-07-14) +# [0.12.0-rc.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.12.0-rc.0...v0.12.0-rc.1) (2022-07-14) ### Reverts -- Revert "build: bump lerna (#1014)" (#1018) ([623e12d](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/623e12de4c6c1dbc93d285e7d03426bff0802b38)), closes [#1014](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1014) [#1018](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1018) +- Revert "build: bump lerna (#1014)" (#1018) ([623e12d](https://github.com/aws-powertools/powertools-lambda-typescript/commit/623e12de4c6c1dbc93d285e7d03426bff0802b38)), closes [#1014](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1014) [#1018](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1018) -# [0.12.0-rc.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.11.1-rc.0...v0.12.0-rc.0) (2022-07-14) +# [0.12.0-rc.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.11.1-rc.0...v0.12.0-rc.0) (2022-07-14) ### Bug Fixes -- **logger:** POWERTOOLS_LOGGER_LOG_EVENT precedence is respected ([#1015](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1015)) ([1cbb4db](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/1cbb4db4daf776e12f7dc2b383ac7fa561b7bada)) -- **tracer:** capture method throws errors correctly ([#1016](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1016)) ([fb85238](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/fb8523868e8d5e31c00a017ae1102ed31a0a4245)) +- **logger:** POWERTOOLS_LOGGER_LOG_EVENT precedence is respected ([#1015](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1015)) ([1cbb4db](https://github.com/aws-powertools/powertools-lambda-typescript/commit/1cbb4db4daf776e12f7dc2b383ac7fa561b7bada)) +- **tracer:** capture method throws errors correctly ([#1016](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1016)) ([fb85238](https://github.com/aws-powertools/powertools-lambda-typescript/commit/fb8523868e8d5e31c00a017ae1102ed31a0a4245)) ### Features -- **tracer:** auto disable when running inside amplify mock ([#1010](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1010)) ([024d628](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/024d6286f9b9273becce825b5c6ca0db87d4c63a)) +- **tracer:** auto disable when running inside amplify mock ([#1010](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1010)) ([024d628](https://github.com/aws-powertools/powertools-lambda-typescript/commit/024d6286f9b9273becce825b5c6ca0db87d4c63a)) ### Reverts -- Revert "chore(release): v0.12.0-rc.0 [skip ci]" ([9397f1d](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/9397f1d3624eb0bfbeb5e4c2702ae51e558a5b4a)) -- Revert "chore(release): v0.12.0-rc.0 [skip ci]" (#1017) ([51c18da](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/51c18da20db434f8b12f320e5074e3e0a146046e)), closes [#1017](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1017) +- Revert "chore(release): v0.12.0-rc.0 [skip ci]" ([9397f1d](https://github.com/aws-powertools/powertools-lambda-typescript/commit/9397f1d3624eb0bfbeb5e4c2702ae51e558a5b4a)) +- Revert "chore(release): v0.12.0-rc.0 [skip ci]" (#1017) ([51c18da](https://github.com/aws-powertools/powertools-lambda-typescript/commit/51c18da20db434f8b12f320e5074e3e0a146046e)), closes [#1017](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1017) -## [0.11.1-rc.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.11.0...v0.11.1-rc.0) (2022-06-24) +## [0.11.1-rc.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.11.0...v0.11.1-rc.0) (2022-06-24) **Note:** Version bump only for package aws-lambda-powertools-typescript -# [0.11.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.10.0...v0.11.0) (2022-06-23) +# [0.11.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.10.0...v0.11.0) (2022-06-23) ### Features -- **logger:** add clear state functionality ([#902](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/902)) ([fa1dacb](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/fa1dacb001503a0a607e0951499119a1a9c61545)) +- **logger:** add clear state functionality ([#902](https://github.com/aws-powertools/powertools-lambda-typescript/issues/902)) ([fa1dacb](https://github.com/aws-powertools/powertools-lambda-typescript/commit/fa1dacb001503a0a607e0951499119a1a9c61545)) -# [0.10.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.1...v0.10.0) (2022-06-02) +# [0.10.0](https://github.com/aws-powertools/powertools-lambda-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)) +- **commons:** rename tests subfolder to samples to avoid being deleted by tools such as node-prune ([#882](https://github.com/aws-powertools/powertools-lambda-typescript/issues/882)) ([74ef816](https://github.com/aws-powertools/powertools-lambda-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)) +- **all:** nodejs16x support ([#877](https://github.com/aws-powertools/powertools-lambda-typescript/issues/877)) ([d2b13c9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d2b13c945adb1a74b7c5f76d45f28a6979ce6429)) +- **logger:** add removeKeys functionality ([#901](https://github.com/aws-powertools/powertools-lambda-typescript/issues/901)) ([a0f72c2](https://github.com/aws-powertools/powertools-lambda-typescript/commit/a0f72c275270db33d382bff357f6054f552197e6)) -## [0.9.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) +## [0.9.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) ### Bug Fixes -- **logger:** enable logging of arbitrary objects ([#883](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/883)) ([5d34854](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/5d348543d3fbb48a98a9b2c34a1e8fa56b037adb)) +- **logger:** enable logging of arbitrary objects ([#883](https://github.com/aws-powertools/powertools-lambda-typescript/issues/883)) ([5d34854](https://github.com/aws-powertools/powertools-lambda-typescript/commit/5d348543d3fbb48a98a9b2c34a1e8fa56b037adb)) -# [0.9.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.1...v0.9.0) (2022-05-16) +# [0.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.8.1...v0.9.0) (2022-05-16) ### Bug Fixes -- added back fetch-depth: 0 ([#812](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/812)) ([494c742](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/494c742aefc9355ee431f433655ddd3fd7efebcf)) -- **logger:** add xray_trace_id to every log ([#776](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/776)) ([11af21a](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/11af21ae236140e85d1503d355074c9ec254d90b)) -- reintroduce token while checking out ([#848](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/848)) ([cabef3e](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/cabef3e515c9074dc178efca76de7c72c70370e3)) -- removed token from remaining actions ([#805](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/805)) ([4fd9ecb](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/4fd9ecbde412f640deaeb17a997aae8a9f5841c0)) +- added back fetch-depth: 0 ([#812](https://github.com/aws-powertools/powertools-lambda-typescript/issues/812)) ([494c742](https://github.com/aws-powertools/powertools-lambda-typescript/commit/494c742aefc9355ee431f433655ddd3fd7efebcf)) +- **logger:** add xray_trace_id to every log ([#776](https://github.com/aws-powertools/powertools-lambda-typescript/issues/776)) ([11af21a](https://github.com/aws-powertools/powertools-lambda-typescript/commit/11af21ae236140e85d1503d355074c9ec254d90b)) +- reintroduce token while checking out ([#848](https://github.com/aws-powertools/powertools-lambda-typescript/issues/848)) ([cabef3e](https://github.com/aws-powertools/powertools-lambda-typescript/commit/cabef3e515c9074dc178efca76de7c72c70370e3)) +- removed token from remaining actions ([#805](https://github.com/aws-powertools/powertools-lambda-typescript/issues/805)) ([4fd9ecb](https://github.com/aws-powertools/powertools-lambda-typescript/commit/4fd9ecbde412f640deaeb17a997aae8a9f5841c0)) ### Features -- **examples:** added sam example to workflows ([#849](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/849)) ([93f1c7b](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/93f1c7b55cb159dfcbbcb41149ccec7fd5db1660)) +- **examples:** added sam example to workflows ([#849](https://github.com/aws-powertools/powertools-lambda-typescript/issues/849)) ([93f1c7b](https://github.com/aws-powertools/powertools-lambda-typescript/commit/93f1c7b55cb159dfcbbcb41149ccec7fd5db1660)) -## [0.8.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) +## [0.8.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) ### Bug Fixes -- **logger:** change logging to use stdout ([#748](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/748)) ([0781a47](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/0781a479a6ae3c794f94c72b59cd0920073159a2)) +- **logger:** change logging to use stdout ([#748](https://github.com/aws-powertools/powertools-lambda-typescript/issues/748)) ([0781a47](https://github.com/aws-powertools/powertools-lambda-typescript/commit/0781a479a6ae3c794f94c72b59cd0920073159a2)) -# [0.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) +# [0.8.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) ### Features -- added captureHTTPsRequest feature ([#677](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/677)) ([5a36723](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/5a367233b3284c4b1c0c18caffd00e585afc9f55)) +- added captureHTTPsRequest feature ([#677](https://github.com/aws-powertools/powertools-lambda-typescript/issues/677)) ([5a36723](https://github.com/aws-powertools/powertools-lambda-typescript/commit/5a367233b3284c4b1c0c18caffd00e585afc9f55)) -## [0.7.2](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.1...v0.7.2) (2022-04-01) +## [0.7.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.7.1...v0.7.2) (2022-04-01) **Note:** Version bump only for package aws-lambda-powertools-typescript -## [0.7.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.0...v0.7.1) (2022-03-17) +## [0.7.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.7.0...v0.7.1) (2022-03-17) ### Bug Fixes -- **logger:** enable sequential invocation in e2e test ([#658](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/658)) ([800424b](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/800424bc77223682ad6cdcc9f35080aff30ba91e)) -- **logger:** fix handling of additional log keys ([#614](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/614)) ([8aab299](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/8aab29900c5fac8eb625eb747acbc23ceac8f6ba)) -- **tracer, metrics:** use polling instead of fixed wait in e2e tests ([#654](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/654)) ([6d4ab75](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/6d4ab751bc98eb823d2a68b4973fa9f8405971a2)) +- **logger:** enable sequential invocation in e2e test ([#658](https://github.com/aws-powertools/powertools-lambda-typescript/issues/658)) ([800424b](https://github.com/aws-powertools/powertools-lambda-typescript/commit/800424bc77223682ad6cdcc9f35080aff30ba91e)) +- **logger:** fix handling of additional log keys ([#614](https://github.com/aws-powertools/powertools-lambda-typescript/issues/614)) ([8aab299](https://github.com/aws-powertools/powertools-lambda-typescript/commit/8aab29900c5fac8eb625eb747acbc23ceac8f6ba)) +- **tracer, metrics:** use polling instead of fixed wait in e2e tests ([#654](https://github.com/aws-powertools/powertools-lambda-typescript/issues/654)) ([6d4ab75](https://github.com/aws-powertools/powertools-lambda-typescript/commit/6d4ab751bc98eb823d2a68b4973fa9f8405971a2)) -# [0.7.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.6.0...v0.7.0) (2022-03-08) +# [0.7.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.6.0...v0.7.0) (2022-03-08) ### Features -- **logger:** adopted Utility class & updated unit tests ([#550](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/550)) ([48f3487](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/48f34870d5bc3a5affcb70c8927859c56da6c5ff)) -- **metrics:** adopted Utility class ([#548](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/548)) ([672e6a8](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/672e6a82a2c66f99153c63a53e9d31481afd897a)) -- **tracer:** adopted Utility class & updated unit tests ([#549](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/549)) ([3769a69](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/3769a694725cc2a3fe6fb5f90fb045f73ea32a7c)) +- **logger:** adopted Utility class & updated unit tests ([#550](https://github.com/aws-powertools/powertools-lambda-typescript/issues/550)) ([48f3487](https://github.com/aws-powertools/powertools-lambda-typescript/commit/48f34870d5bc3a5affcb70c8927859c56da6c5ff)) +- **metrics:** adopted Utility class ([#548](https://github.com/aws-powertools/powertools-lambda-typescript/issues/548)) ([672e6a8](https://github.com/aws-powertools/powertools-lambda-typescript/commit/672e6a82a2c66f99153c63a53e9d31481afd897a)) +- **tracer:** adopted Utility class & updated unit tests ([#549](https://github.com/aws-powertools/powertools-lambda-typescript/issues/549)) ([3769a69](https://github.com/aws-powertools/powertools-lambda-typescript/commit/3769a694725cc2a3fe6fb5f90fb045f73ea32a7c)) -# [0.6.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.5.1...v0.6.0) (2022-02-17) +# [0.6.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.5.1...v0.6.0) (2022-02-17) ### Bug Fixes -- **logger:** fix logger attribute merging ([#535](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/535)) ([8180be1](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/8180be1ceb3f75bb7a35a7905cca867fb5eaa970)) +- **logger:** fix logger attribute merging ([#535](https://github.com/aws-powertools/powertools-lambda-typescript/issues/535)) ([8180be1](https://github.com/aws-powertools/powertools-lambda-typescript/commit/8180be1ceb3f75bb7a35a7905cca867fb5eaa970)) ### Features -- **commons:** centralize cold start heuristic ([#547](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/547)) ([4e4091f](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/4e4091f7b853c56a8dfd28829f09a066cc8e2ee7)) -- **logger:** add e2e tests for logger ([#529](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/529)) ([e736b65](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/e736b652c112b1c24c29eca8b1edfd87a79d1b2e)) +- **commons:** centralize cold start heuristic ([#547](https://github.com/aws-powertools/powertools-lambda-typescript/issues/547)) ([4e4091f](https://github.com/aws-powertools/powertools-lambda-typescript/commit/4e4091f7b853c56a8dfd28829f09a066cc8e2ee7)) +- **logger:** add e2e tests for logger ([#529](https://github.com/aws-powertools/powertools-lambda-typescript/issues/529)) ([e736b65](https://github.com/aws-powertools/powertools-lambda-typescript/commit/e736b652c112b1c24c29eca8b1edfd87a79d1b2e)) -## [0.5.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.5.0...v0.5.1) (2022-02-09) +## [0.5.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.5.0...v0.5.1) (2022-02-09) ### Bug Fixes -- **tracer:** properly return DynamoDB.DocumentClient ([#528](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/528)) ([3559e7b](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/3559e7b19339a4649f235fb4af41c6b182da3df1)) +- **tracer:** properly return DynamoDB.DocumentClient ([#528](https://github.com/aws-powertools/powertools-lambda-typescript/issues/528)) ([3559e7b](https://github.com/aws-powertools/powertools-lambda-typescript/commit/3559e7b19339a4649f235fb4af41c6b182da3df1)) ### Reverts -- Revert "build(deps-dev): bump aws-cdk from 1.139.0 to 1.143.0 (#532)" (#544) ([e96c9ba](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/e96c9ba5bd4f738e5ed7c5850e06856a8c69bff1)), closes [#532](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/532) [#544](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/544) -- Revert "build(deps-dev): bump @aws-cdk/aws-lambda-nodejs from 1.139.0 to 1.143.0 (#531)" (#545) ([7dffbd8](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/7dffbd8708555fcc9817ea4373ccf71b0aea3c89)), closes [#531](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/531) [#545](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/545) +- Revert "build(deps-dev): bump aws-cdk from 1.139.0 to 1.143.0 (#532)" (#544) ([e96c9ba](https://github.com/aws-powertools/powertools-lambda-typescript/commit/e96c9ba5bd4f738e5ed7c5850e06856a8c69bff1)), closes [#532](https://github.com/aws-powertools/powertools-lambda-typescript/issues/532) [#544](https://github.com/aws-powertools/powertools-lambda-typescript/issues/544) +- Revert "build(deps-dev): bump @aws-cdk/aws-lambda-nodejs from 1.139.0 to 1.143.0 (#531)" (#545) ([7dffbd8](https://github.com/aws-powertools/powertools-lambda-typescript/commit/7dffbd8708555fcc9817ea4373ccf71b0aea3c89)), closes [#531](https://github.com/aws-powertools/powertools-lambda-typescript/issues/531) [#545](https://github.com/aws-powertools/powertools-lambda-typescript/issues/545) -# [0.5.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.4.0...v0.5.0) (2022-01-26) +# [0.5.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.4.0...v0.5.0) (2022-01-26) ### Bug Fixes -- **examples:** fix errors in logger and metrics examples ([#509](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/509)) ([c19b47c](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c19b47cb4cdb71e0ae404e9302226256d02fb7d5)) -- **logger|metrics:** properly return decorated class ([#489](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/489)) ([014c5bd](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/014c5bd7d5c807064af8f04c16d297a8fe3bc0d9)) +- **examples:** fix errors in logger and metrics examples ([#509](https://github.com/aws-powertools/powertools-lambda-typescript/issues/509)) ([c19b47c](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c19b47cb4cdb71e0ae404e9302226256d02fb7d5)) +- **logger|metrics:** properly return decorated class ([#489](https://github.com/aws-powertools/powertools-lambda-typescript/issues/489)) ([014c5bd](https://github.com/aws-powertools/powertools-lambda-typescript/commit/014c5bd7d5c807064af8f04c16d297a8fe3bc0d9)) ### Features -- Add codespaces/gitpod support ([#485](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/485)) ([ed6f258](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/ed6f258d6f8025bcfa9db3ea3d6a05a1338802e3)) -- **all:** make `@middy/core` optional ([#511](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/511)) ([1107f96](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/1107f96e9b4c678d34ee36757366f150d99be4dc)) -- **tracer:** add support for capturing DynamoDB DocumentClient ([#450](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/450)) ([621ae50](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/621ae50430e4459f90eaaa135eb0ed674b95e108)) +- Add codespaces/gitpod support ([#485](https://github.com/aws-powertools/powertools-lambda-typescript/issues/485)) ([ed6f258](https://github.com/aws-powertools/powertools-lambda-typescript/commit/ed6f258d6f8025bcfa9db3ea3d6a05a1338802e3)) +- **all:** make `@middy/core` optional ([#511](https://github.com/aws-powertools/powertools-lambda-typescript/issues/511)) ([1107f96](https://github.com/aws-powertools/powertools-lambda-typescript/commit/1107f96e9b4c678d34ee36757366f150d99be4dc)) +- **tracer:** add support for capturing DynamoDB DocumentClient ([#450](https://github.com/aws-powertools/powertools-lambda-typescript/issues/450)) ([621ae50](https://github.com/aws-powertools/powertools-lambda-typescript/commit/621ae50430e4459f90eaaa135eb0ed674b95e108)) -# [0.4.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.3...v0.4.0) (2022-01-20) +# [0.4.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.3...v0.4.0) (2022-01-20) ### Features -- **logger:** JSDOCS support ([#491](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/491)) ([cd2c2d9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/cd2c2d93a5822e26d3113a042be1dd0473aa6b2a)) +- **logger:** JSDOCS support ([#491](https://github.com/aws-powertools/powertools-lambda-typescript/issues/491)) ([cd2c2d9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/cd2c2d93a5822e26d3113a042be1dd0473aa6b2a)) -## [0.3.3](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.2...v0.3.3) (2022-01-17) +## [0.3.3](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.2...v0.3.3) (2022-01-17) ### Bug Fixes -- lerna version not publishing all packages ([#480](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/480)) ([0cabc3f](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/0cabc3ff7b29fae8a01aeae56450d19737af3bba)) +- lerna version not publishing all packages ([#480](https://github.com/aws-powertools/powertools-lambda-typescript/issues/480)) ([0cabc3f](https://github.com/aws-powertools/powertools-lambda-typescript/commit/0cabc3ff7b29fae8a01aeae56450d19737af3bba)) -## [0.3.2](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.1...v0.3.2) (2022-01-17) +## [0.3.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.1...v0.3.2) (2022-01-17) ### Bug Fixes -- export LogFormatter + update docs ([#479](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/479)) ([7f91566](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/7f91566d4ff34887914009e2424df7c39a96cd71)) -- updated CDK examples to remove old references & improve comments ([#439](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/439)) ([4cdaaea](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/4cdaaeaf7fbb24571b194c0e82338fbd216d2dcd)) +- export LogFormatter + update docs ([#479](https://github.com/aws-powertools/powertools-lambda-typescript/issues/479)) ([7f91566](https://github.com/aws-powertools/powertools-lambda-typescript/commit/7f91566d4ff34887914009e2424df7c39a96cd71)) +- updated CDK examples to remove old references & improve comments ([#439](https://github.com/aws-powertools/powertools-lambda-typescript/issues/439)) ([4cdaaea](https://github.com/aws-powertools/powertools-lambda-typescript/commit/4cdaaeaf7fbb24571b194c0e82338fbd216d2dcd)) -## [0.3.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.0...v0.3.1) (2022-01-14) +## [0.3.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.0...v0.3.1) (2022-01-14) ### Bug Fixes -- **all:** fix latest release broken by change of npm pack result on common ([#470](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/470)) ([2c3df93](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/2c3df9378ac191f6da6cb5f458f6227d6466cafa)), closes [#417](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/417) +- **all:** fix latest release broken by change of npm pack result on common ([#470](https://github.com/aws-powertools/powertools-lambda-typescript/issues/470)) ([2c3df93](https://github.com/aws-powertools/powertools-lambda-typescript/commit/2c3df9378ac191f6da6cb5f458f6227d6466cafa)), closes [#417](https://github.com/aws-powertools/powertools-lambda-typescript/issues/417) -# [0.3.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.2.0...v0.3.0) (2022-01-14) +# [0.3.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.2.0...v0.3.0) (2022-01-14) ### Bug Fixes -- **build:** Fix linting issue and add linting to the pre-push hook ([#440](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/440)) ([e7bc53c](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/e7bc53c38b2a906c6952a83c5262db521ea468fb)) -- **build:** Update contributing.md and fix npm ci ([#417](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/417)) ([279ad98](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/279ad984f71d5b157a13cffeab52602f2c09c1f8)), closes [#415](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/415) [#415](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/415) -- **metrics:** Rename purgeStoredMetrics() function usage in CDK example ([#424](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/424)) ([02f0eae](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/02f0eae2c378bd5562facf032fb94a25c69f66df)) -- **tracer:** avoid throwing errors in manual instrumentation when running outside of AWS Lambda ([#442](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/442)) ([fd02acb](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/fd02acbbe7de1cd0d1b00ae1cca68148a5114cbf)) +- **build:** Fix linting issue and add linting to the pre-push hook ([#440](https://github.com/aws-powertools/powertools-lambda-typescript/issues/440)) ([e7bc53c](https://github.com/aws-powertools/powertools-lambda-typescript/commit/e7bc53c38b2a906c6952a83c5262db521ea468fb)) +- **build:** Update contributing.md and fix npm ci ([#417](https://github.com/aws-powertools/powertools-lambda-typescript/issues/417)) ([279ad98](https://github.com/aws-powertools/powertools-lambda-typescript/commit/279ad984f71d5b157a13cffeab52602f2c09c1f8)), closes [#415](https://github.com/aws-powertools/powertools-lambda-typescript/issues/415) [#415](https://github.com/aws-powertools/powertools-lambda-typescript/issues/415) +- **metrics:** Rename purgeStoredMetrics() function usage in CDK example ([#424](https://github.com/aws-powertools/powertools-lambda-typescript/issues/424)) ([02f0eae](https://github.com/aws-powertools/powertools-lambda-typescript/commit/02f0eae2c378bd5562facf032fb94a25c69f66df)) +- **tracer:** avoid throwing errors in manual instrumentation when running outside of AWS Lambda ([#442](https://github.com/aws-powertools/powertools-lambda-typescript/issues/442)) ([fd02acb](https://github.com/aws-powertools/powertools-lambda-typescript/commit/fd02acbbe7de1cd0d1b00ae1cca68148a5114cbf)) ### Features -- **all:** Update to examples use released version (0.2.0) ([#405](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/405)) ([d5e0620](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d5e0620473f31d0839c027a76a88dcdcb98c84de)) +- **all:** Update to examples use released version (0.2.0) ([#405](https://github.com/aws-powertools/powertools-lambda-typescript/issues/405)) ([d5e0620](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d5e0620473f31d0839c027a76a88dcdcb98c84de)) # 0.2.0 (2022-01-05) ### Features -- _tracer:_ beta release (#91 (https://github.com/awslabs/aws-lambda-powertools-python/issues/91)) -- _logger:_ beta release (#24 (https://github.com/awslabs/aws-lambda-powertools-python/issues/24)) -- _metrics:_ beta release (#25 (https://github.com/awslabs/aws-lambda-powertools-python/issues/25)) +- _tracer:_ beta release (#91 (https://github.com/aws-powertools/powertools-lambda-python/issues/91)) +- _logger:_ beta release (#24 (https://github.com/aws-powertools/powertools-lambda-python/issues/24)) +- _metrics:_ beta release (#25 (https://github.com/aws-powertools/powertools-lambda-python/issues/25)) ### Contributions diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2902052294..0bbc622caa 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -63,7 +63,7 @@ The following steps describe how to set up the Powertools for AWS Lambda (TypeSc The alternative is to use a Cloud IDE like [Gitpod](https://www.gitpod.io/) or [GitHub CodeSpaces](https://github.com/features/codespaces) for your development. To quickly get up and running you can click one of these button to open a cloned version of this repo with all of the prerequisites and dependencies installed: -[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/awslabs/aws-lambda-powertools-typescript) +[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/aws-powertools/powertools-lambda-typescript) [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=305501331) ### Setup @@ -248,10 +248,10 @@ Contributions via pull requests are much appreciated. ### Step 1: Find something to work on If you want to contribute a specific feature or fix you have in mind, look at active [pull -requests](https://github.com/awslabs/aws-lambda-powertools-typescript/pulls) to see if someone else is already working on it. If not, you can start designing your changes. +requests](https://github.com/aws-powertools/powertools-lambda-typescript/pulls) to see if someone else is already working on it. If not, you can start designing your changes. On the other hand, if you are here looking for an issue to work on, check out our [backlog of -issues](https://github.com/awslabs/aws-lambda-powertools-typescript/issues) and find something that piques your interest. Our project, by default, uses the default GitHub issue labels (enhancement/bug/help wanted/invalid/question/documentation), looking at any issue labeled as 'help wanted' or 'good-first-issue' is a great place to start. +issues](https://github.com/aws-powertools/powertools-lambda-typescript/issues) and find something that piques your interest. Our project, by default, uses the default GitHub issue labels (enhancement/bug/help wanted/invalid/question/documentation), looking at any issue labeled as 'help wanted' or 'good-first-issue' is a great place to start. It's a good idea to keep the priority of issues in mind when deciding what to work on. If we have labelled an issue as `priority:medium` or `priority:low`, it means it's something we won't @@ -259,11 +259,11 @@ get to soon while `priority:high` issues have a bigger impact, so we are much mo ### Step 2: Design -You can start by checking the project's tenets [here](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#tenets). +You can start by checking the project's tenets [here](https://docs.powertools.aws.dev/lambda-typescript/latest/#tenets). We ask you to seek feedback and consensus on your proposed change by iterating on a design document. This is especially useful when you plan a big change or feature, or you want advice on what would be the best path forward. -If you're picking up an existing issue, you can simply post your comment and discuss your proposed changes. If instead you're proposing a new feature, you can start by creating a new [RFC issue](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=RFC%2C+triage&template=rfc.md&title=RFC%3A+) and discuss your proposed change with the maintainers. +If you're picking up an existing issue, you can simply post your comment and discuss your proposed changes. If instead you're proposing a new feature, you can start by creating a new [RFC issue](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=RFC%2C+triage&template=rfc.md&title=RFC%3A+) and discuss your proposed change with the maintainers. This is a great way to get feedback on your proposed change and make sure that it is in line with the project's direction and community needs. You can start working on the change when you've gotten approved by at least one maintainer - we would hate for your time to be wasted. diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 28dae901c3..24defac461 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -133,7 +133,7 @@ Review pull requests regularly, comment, suggest, reject, merge and close. Accep PRs are [labeled](#labels) based on file changes and semantic title. Pay attention to whether labels reflect the current state of the PR and correct accordingly. -Use and enforce [semantic versioning](https://semver.org/) pull request titles, as these will be used for [CHANGELOG](CHANGELOG.md) and [Release notes](https://github.com/awslabs/aws-lambda-powertools-typescript/releases) - make sure they communicate their intent at the human level. +Use and enforce [semantic versioning](https://semver.org/) pull request titles, as these will be used for [CHANGELOG](CHANGELOG.md) and [Release notes](https://github.com/aws-powertools/powertools-lambda-typescript/releases) - make sure they communicate their intent at the human level. For issues linked to a PR, our automation should apply the `status/pending-release` label. Make sure the label is always applied when merging. [Upon release](#releasing-a-new-version), these issues will be notified which release version contains their change. @@ -151,7 +151,7 @@ This allows you to have control over the commit message although it should match Manage [labels](#labels), review issues regularly, and create new labels as needed by the project. Remove `triage` label when you're able to confirm the validity of a request, a bug can be reproduced, etc. Give priority to the original author for implementation, unless it is a sensitive task that is best handled by maintainers. -Make sure issues are assigned to our [board of activities](https://github.com/orgs/awslabs/projects/76/) and have the right [status](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/roadmap/#roadmap-status-definition). +Make sure issues are assigned to our [board of activities](https://github.com/orgs/awslabs/projects/76/) and have the right [status](https://docs.powertools.aws.dev/lambda-typescript/latest/roadmap/#roadmap-status-definition). Use our [labels](#labels) to signal good first issues to new community members, and to set expectation that this might need additional feedback from the author, other customers, experienced community members and/or maintainers. @@ -175,8 +175,8 @@ RFC is a collaborative process to help us get to the most optimal solution given Make sure you ask these questions in mind when reviewing: -- Does it use our [RFC template](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=RFC%2Ctriage&template=rfc.yml&title=RFC%3A+TITLE)? -- Does the match our [Tenets](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#tenets)? +- Does it use our [RFC template](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=RFC%2Ctriage&template=rfc.yml&title=RFC%3A+TITLE)? +- Does the match our [Tenets](https://docs.powertools.aws.dev/lambda-typescript/latest/#tenets)? - Does the proposal address the use case? If so, is the recommended usage explicit? - Does it focus on the mechanics to solve the use case over fine-grained implementation details? - Can anyone familiar with the code base implement it? @@ -186,7 +186,7 @@ Make sure you ask these questions in mind when reviewing: When necessary, be upfront that the time to review, approve, and implement a RFC can vary - see [Contribution is stuck](#contribution-is-stuck). Some RFCs may be further updated after implementation, as certain areas become clearer. -An example of a successful RFC: [#447](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/447) +An example of a successful RFC: [#447](https://github.com/aws-powertools/powertools-lambda-typescript/issues/447) ### Releasing a new version @@ -194,7 +194,7 @@ An example of a successful RFC: [#447](https://github.com/awslabs/aws-lambda-pow #### Drafting release notes -Visit the [Releases page](https://github.com/awslabs/aws-lambda-powertools-typescript/releases) and choose the edit pencil button. +Visit the [Releases page](https://github.com/aws-powertools/powertools-lambda-typescript/releases) and choose the edit pencil button. Make sure the `tag` field reflects the new version you're releasing, the target branch field is set to `main`, and `release title` matches your tag e.g., `v1.4.1`. @@ -202,7 +202,7 @@ You'll notice we group all changes based on their [labels](#labels) like `type/f **I spotted a typo or incorrect grouping - how do I fix it?** -Edit the respective PR title and update their [labels](#labels). Then run the [Release Drafter workflow](https://github.com/awslabs/aws-lambda-powertools-typescript/actions/workflows/release-drafter.yml) to update the Draft release. +Edit the respective PR title and update their [labels](#labels). Then run the [Release Drafter workflow](https://github.com/aws-powertools/powertools-lambda-typescript/actions/workflows/release-drafter.yml) to update the Draft release. **All looking good, what's next?** @@ -218,17 +218,17 @@ These are some questions to keep in mind when drafting your first or future rele Once you're happy, hit `Publish release` 🎉🎉🎉. -This will kick off the [Publish docs on release](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/main/.github/workflows/publish-docs-on-release.yml) workflow and within a few minutes you should see the latest version in PyPi, and all issues labeled as `pending-release` will be closed and notified. +This will kick off the [Publish docs on release](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/.github/workflows/publish-docs-on-release.yml) workflow and within a few minutes you should see the latest version in PyPi, and all issues labeled as `pending-release` will be closed and notified. ### Run end to end tests -E2E tests should be ran before every merge to `main` or manually via [run-e2e-tests workflow](https://github.com/awslabs/aws-lambda-powertools-typescript/actions/workflows/run-e2e-tests.yml) before making a release. +E2E tests should be ran before every merge to `main` or manually via [run-e2e-tests workflow](https://github.com/aws-powertools/powertools-lambda-typescript/actions/workflows/run-e2e-tests.yml) before making a release. To run locally, you need [AWS CDK CLI](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_prerequisites) and an [account bootstrapped](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) (`cdk bootstrap`). With a default AWS CLI profile configured, or `AWS_PROFILE` environment variable set, run `npm run test:e2e -ws`. ### Releasing a documentation hotfix -You can rebuild the latest documentation without a full release via this [GitHub Actions Workflow](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/main/.github/workflows/publish-docs-on-release.yml). Choose `Run workflow`, keep `main` as the branch, and input the latest Powertools for AWS Lambda (TypeScript) version available i.e. `v1.4.1`. +You can rebuild the latest documentation without a full release via this [GitHub Actions Workflow](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/.github/workflows/publish-docs-on-release.yml). Choose `Run workflow`, keep `main` as the branch, and input the latest Powertools for AWS Lambda (TypeScript) version available i.e. `v1.4.1`. This workflow will update both user guide and API documentation. @@ -238,7 +238,7 @@ Keep the `main` branch at production quality at all times. If a PR introduces co ### Manage Roadmap -See [Roadmap section](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/roadmap/) +See [Roadmap section](https://docs.powertools.aws.dev/lambda-typescript/latest/roadmap/) Ensure the repo highlights features that should be elevated to the project roadmap. Be clear about the feature’s status, priority, target version, and whether or not it should be elevated to the roadmap. @@ -276,7 +276,7 @@ Note that issues marked as `need-response` will be automatically closed after 3 ### Crediting contributions -We credit all contributions as part of each [release note](https://github.com/awslabs/aws-lambda-powertools-typescript/releases) as an automated process. If you find contributors are missing from the release note you're producing, please add them manually. +We credit all contributions as part of each [release note](https://github.com/aws-powertools/powertools-lambda-typescript/releases) as an automated process. If you find contributors are missing from the release note you're producing, please add them manually. ### Is that a bug? diff --git a/README.md b/README.md index d4a3f258f0..1e5fc60bf3 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,13 @@ [![Join our Discord](https://dcbadge.vercel.app/api/server/B8zZKbbyET)](https://discord.gg/B8zZKbbyET) -Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#features). +Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://docs.powertools.aws.dev/lambda-typescript/latest/#features). You can use the library in both TypeScript and JavaScript code bases. -> Also available in [Python](https://github.com/awslabs/aws-lambda-powertools-python), [Java](https://github.com/awslabs/aws-lambda-powertools-java), and [.NET](https://awslabs.github.io/aws-lambda-powertools-dotnet/). +> Also available in [Python](https://github.com/aws-powertools/powertools-lambda-python), [Java](https://github.com/aws-powertools/powertools-lambda-java), and [.NET](https://docs.powertools.aws.dev/lambda-dotnet/). -**[Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[npm](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/roadmap)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples)** | **[Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo)** +**[Documentation](https://docs.powertools.aws.dev/lambda-typescript/)** | **[npm](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://docs.powertools.aws.dev/lambda-typescript/latest/roadmap)** | **[Examples](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples)** | **[Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo)** ## Table of contents @@ -31,15 +31,15 @@ You can use the library in both TypeScript and JavaScript code bases. ## Features -* **[Tracer](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions -* **[Logger](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context -* **[Metrics](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) -* **[Parameters (beta)](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM Parameter Store, AWS Secrets Manager, AWS AppConfig, and Amazon DynamoDB -* **[Idempotency (beta)](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/idempotency/)** - Class method decorator, Middy middleware, and function wrapper to make your Lambda functions idempotent and prevent duplicate execution based on payload content +* **[Tracer](https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions +* **[Logger](https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context +* **[Metrics](https://docs.powertools.aws.dev/lambda-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) +* **[Parameters (beta)](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM Parameter Store, AWS Secrets Manager, AWS AppConfig, and Amazon DynamoDB +* **[Idempotency (beta)](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/idempotency/)** - Class method decorator, Middy middleware, and function wrapper to make your Lambda functions idempotent and prevent duplicate execution based on payload content ## Getting started -Find the complete project's [documentation here](https://awslabs.github.io/aws-lambda-powertools-typescript). +Find the complete project's [documentation here](https://docs.powertools.aws.dev/lambda-typescript). ### Installation @@ -51,7 +51,7 @@ You have 2 ways of consuming those utilities: The Powertools for AWS Lambda (TypeScript) utilities is packaged as a single [AWS Lambda Layer](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-concepts.html#gettingstarted-concepts-layer) -👉 [Installation guide for the **Powertools for AWS Lambda (TypeScript)** layer](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#lambda-layer) +👉 [Installation guide for the **Powertools for AWS Lambda (TypeScript)** layer](https://docs.powertools.aws.dev/lambda-typescript/latest/#lambda-layer) #### NPM modules @@ -66,20 +66,20 @@ npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lam Or refer to the installation guide of each utility: -👉 [Installation guide for the **Tracer** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer#getting-started) +👉 [Installation guide for the **Tracer** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer#getting-started) -👉 [Installation guide for the **Logger** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger#getting-started) +👉 [Installation guide for the **Logger** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger#getting-started) -👉 [Installation guide for the **Metrics** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics#getting-started) +👉 [Installation guide for the **Metrics** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/metrics#getting-started) -👉 [Installation guide for the **Parameters** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/#getting-started) +👉 [Installation guide for the **Parameters** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/#getting-started) -👉 [Installation guide for the **Idempotency** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/idempotency/#getting-started) +👉 [Installation guide for the **Idempotency** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/idempotency/#getting-started) ### Examples -* [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) -* [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) +* [CDK](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/cdk) +* [SAM](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/sam) ### Serverless TypeScript Demo application @@ -88,12 +88,12 @@ You can find instructions on how to deploy and load test this application in the ## Contribute -If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/main/CONTRIBUTING.md). +If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/CONTRIBUTING.md). ## Roadmap The roadmap of Powertools for AWS Lambda (TypeScript) is driven by customers’ demand. -Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/awslabs/aws-lambda-powertools-typescript/issues), or [creating new ones](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new/choose), in this GitHub repository. +Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues), or [creating new ones](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new/choose), in this GitHub repository. ## Connect @@ -104,7 +104,7 @@ Help us prioritize upcoming functionalities or utilities by [upvoting existing R ### Becoming a reference customer -Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue. +Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue. The following companies, among others, use Powertools: @@ -118,7 +118,7 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda-typescript/latest/we_made_this). ### Using Lambda Layer @@ -130,4 +130,4 @@ Credits for the Powertools for AWS Lambda (TypeScript) idea go to [DAZN](https:/ ## License -This library is licensed under the MIT-0 License. See the [LICENSE](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/main/LICENSE) file. +This library is licensed under the MIT-0 License. See the [LICENSE](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/LICENSE) file. diff --git a/docs/core/logger.md b/docs/core/logger.md index 7cac4defb6..8707da5580 100644 --- a/docs/core/logger.md +++ b/docs/core/logger.md @@ -658,7 +658,7 @@ 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/samples/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/aws-powertools/powertools-lambda-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). ### Suppress logs with Jest diff --git a/docs/core/metrics.md b/docs/core/metrics.md index b8cadbbfe7..c5ebd0fb93 100644 --- a/docs/core/metrics.md +++ b/docs/core/metrics.md @@ -377,7 +377,7 @@ If it's a cold start invocation, this feature will: This has the advantage of keeping cold start metric separate from your application metrics, where you might have unrelated dimensions. -!!! info "We do not emit 0 as a value for the ColdStart metric for cost-efficiency reasons. [Let us know](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=feature-request%2C+triage&template=feature_request.md&title=) if you'd prefer a flag to override it." +!!! info "We do not emit 0 as a value for the ColdStart metric for cost-efficiency reasons. [Let us know](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=feature-request%2C+triage&template=feature_request.md&title=) if you'd prefer a flag to override it." ## Advanced diff --git a/docs/index.md b/docs/index.md index 38e3f385b8..049bd298ac 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,15 +8,15 @@ Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serve You can use Powertools for AWS Lambda (TypeScript) in both TypeScript and JavaScript code bases. ???+ tip - Powertools for AWS Lambda is also available for [Python](https://awslabs.github.io/aws-lambda-powertools-python/){target="_blank"}, [Java](https://awslabs.github.io/aws-lambda-powertools-java/){target="_blank"}, and [.NET](https://awslabs.github.io/aws-lambda-powertools-dotnet/){target="_blank"} + Powertools for AWS Lambda is also available for [Python](https://docs.powertools.aws.dev/lambda-python/){target="_blank"}, [Java](https://docs.powertools.aws.dev/lambda-java/){target="_blank"}, and [.NET](https://docs.powertools.aws.dev/lambda-dotnet/){target="_blank"} ??? hint "Support this project by becoming a reference customer, sharing your work, or using Layers :heart:" You can choose to support us in three ways: - 1) [**Become a reference customer**](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E). This gives us permission to list your company in our documentation. + 1) [**Become a reference customer**](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E). This gives us permission to list your company in our documentation. - 2) [**Share your work**](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=community-content&template=share_your_work.yml&title=%5BI+Made+This%5D%3A+%3CTITLE%3E). Blog posts, video, sample projects you used Powertools! + 2) [**Share your work**](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=community-content&template=share_your_work.yml&title=%5BI+Made+This%5D%3A+%3CTITLE%3E). Blog posts, video, sample projects you used Powertools! 3) Use [**Lambda Layers**](#lambda-layer), if possible. This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. @@ -272,8 +272,8 @@ The examples in this documentation will feature all the approaches described abo The project's repository includes examples of how to instrument your functions both in AWS CDK and AWS SAM: -* [AWS CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk){target="_blank"} -* [AWS SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam){target="_blank"} +* [AWS CDK](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/cdk){target="_blank"} +* [AWS SAM](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/sam){target="_blank"} If instead you want to see Powertools for AWS Lambda (TypeScript) in a slightly more complex use case, check the [Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo). You can find instructions on how to deploy and load test this application in the [repository](https://github.com/aws-samples/serverless-typescript-demo). @@ -314,7 +314,7 @@ Each Utility page provides information on example values and allowed values. ### Becoming a reference customer -Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E){target="_blank"} issue. +Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E){target="_blank"} issue. The following companies, among others, use Powertools: diff --git a/docs/roadmap.md b/docs/roadmap.md index 44c7a235ab..45d679ad8c 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -8,21 +8,21 @@ This is our public roadmap that outlines the high level direction we are working !!! info "Operational Excellence is priority number 1." -Themes are key activities maintainers are focusing on, besides bug reports. These are updated periodically and you can get an idea of the overall progress in the [Milestones section](https://github.com/awslabs/aws-lambda-powertools-typescript/milestones){target="_blank"}. +Themes are key activities maintainers are focusing on, besides bug reports. These are updated periodically and you can get an idea of the overall progress in the [Milestones section](https://github.com/aws-powertools/powertools-lambda-typescript/milestones){target="_blank"}. ### New utilities -After going GA, we want to start working on new utilities, specifically but not limited to the most commonly asked: **(1)** [Idempotency](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/447) and **(2)** [Parameters](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/846). +After going GA, we want to start working on new utilities, specifically but not limited to the most commonly asked: **(1)** [Idempotency](https://github.com/aws-powertools/powertools-lambda-typescript/issues/447) and **(2)** [Parameters](https://github.com/aws-powertools/powertools-lambda-typescript/issues/846). ### Lambda Layers We want to publish and maintain public Lambda Layers. -Work on this area is mostly complete and layers are already available in all commercial regions, however we still have some [work to do around automation](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1124). +Work on this area is mostly complete and layers are already available in all commercial regions, however we still have some [work to do around automation](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1124). ### ES Modules support -Another one of the most requested features is [ES Modules support](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/521). This topic requires some in-depth investigation to understand how to move forward and how to deal with some of our upstream dependencies. +Another one of the most requested features is [ES Modules support](https://github.com/aws-powertools/powertools-lambda-typescript/issues/521). This topic requires some in-depth investigation to understand how to move forward and how to deal with some of our upstream dependencies. When the time comes, we might open a RFC to discuss options. @@ -72,14 +72,14 @@ graph LR Our end-to-end mechanism follows four major steps: -* **Feature Request**. Ideas start with a [feature request](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=type/feature-request%2Ctriage&template=feature_request.yml&title=Feature+request%3A+TITLE){target="_blank"} to outline their use case at a high level. For complex use cases, maintainers might ask for/write a RFC. +* **Feature Request**. Ideas start with a [feature request](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=type/feature-request%2Ctriage&template=feature_request.yml&title=Feature+request%3A+TITLE){target="_blank"} to outline their use case at a high level. For complex use cases, maintainers might ask for/write a RFC. * Maintainers review requests based on [project tenets](index.md#tenets){target="_blank"}, customers reaction (👍), and use cases. -* **Request-for-comments (RFC)**. Design proposals use our [RFC issue template](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=type/RFC%2Ctriage&template=rfc.yml&title=RFC%3A+TITLE){target="_blank"} to describe its implementation, challenges, developer experience, dependencies, and alternative solutions. +* **Request-for-comments (RFC)**. Design proposals use our [RFC issue template](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=type/RFC%2Ctriage&template=rfc.yml&title=RFC%3A+TITLE){target="_blank"} to describe its implementation, challenges, developer experience, dependencies, and alternative solutions. * This helps refine the initial idea with community feedback before a decision is made. * **Decision**. After carefully reviewing and discussing them, maintainers make a final decision on whether to start implementation, defer or reject it, and update everyone with the next steps. * **Implementation**. For approved features, maintainers give priority to the original authors for implementation unless it is a sensitive task that is best handled by maintainers. -??? info "See [Maintainers](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/develop/MAINTAINERS.md) document to understand how we triage issues and pull requests, labels and governance." +??? info "See [Maintainers](https://github.com/aws-powertools/powertools-lambda-typescript/blob/develop/MAINTAINERS.md) document to understand how we triage issues and pull requests, labels and governance." ## Disclaimer diff --git a/docs/snippets/package.json b/docs/snippets/package.json index a693197a25..235eb6fdca 100644 --- a/docs/snippets/package.json +++ b/docs/snippets/package.json @@ -20,12 +20,12 @@ "license": "MIT-0", "repository": { "type": "git", - "url": "git+https://github.com/awslabs/aws-lambda-powertools-typescript.git" + "url": "git+https://github.com/aws-powertools/powertools-lambda-typescript.git" }, "bugs": { - "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" + "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, - "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript#readme", + "homepage": "https://github.com/aws-powertools/powertools-lambda-typescript#readme", "devDependencies": { "@aws-sdk/client-appconfigdata": "^3.245.0", "@aws-sdk/client-dynamodb": "^3.245.0", diff --git a/docs/utilities/parameters.md b/docs/utilities/parameters.md index b66a71a286..e312c9aed9 100644 --- a/docs/utilities/parameters.md +++ b/docs/utilities/parameters.md @@ -4,7 +4,7 @@ description: Utility --- ???+ warning - **This utility is currently released as beta developer preview** and is intended strictly for feedback and testing purposes **and not for production workloads**.. The version and all future versions tagged with the `-beta` suffix should be treated as not stable. Up until before the [General Availability release](https://github.com/awslabs/aws-lambda-powertools-typescript/milestone/10) we might introduce significant breaking changes and improvements in response to customers feedback. + **This utility is currently released as beta developer preview** and is intended strictly for feedback and testing purposes **and not for production workloads**.. The version and all future versions tagged with the `-beta` suffix should be treated as not stable. Up until before the [General Availability release](https://github.com/aws-powertools/powertools-lambda-typescript/milestone/10) we might introduce significant breaking changes and improvements in response to customers feedback. The Parameters utility provides high-level functions to retrieve one or multiple parameter values from [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html){target="_blank"}, [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html){target="_blank"}, [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html){target="_blank"}, [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html){target="_blank"}, or your own parameter store. diff --git a/docs/we_made_this.md b/docs/we_made_this.md index 47dc18db5b..2d2d9bc886 100644 --- a/docs/we_made_this.md +++ b/docs/we_made_this.md @@ -5,7 +5,7 @@ description: Blog posts, tutorials, and videos about Powertools for AWS Lambda ( This space is dedicated to highlight our awesome community content featuring Powertools 🙏! -!!! info "[Get your content featured here](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=community-content&template=share_your_work.yml&title=%5BI+Made+This%5D%3A+%3CTITLE%3E){target="_blank"}!" +!!! info "[Get your content featured here](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=community-content&template=share_your_work.yml&title=%5BI+Made+This%5D%3A+%3CTITLE%3E){target="_blank"}!" ## Connect diff --git a/examples/cdk/CHANGELOG.md b/examples/cdk/CHANGELOG.md index cb1d571fd2..2db47169de 100644 --- a/examples/cdk/CHANGELOG.md +++ b/examples/cdk/CHANGELOG.md @@ -3,6 +3,6 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -# [1.9.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) +# [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) **Note:** Version bump only for package cdk-sample diff --git a/examples/cdk/functions/get-all-items.ts b/examples/cdk/functions/get-all-items.ts index 2ac1c4d79a..a0b69aa0ff 100644 --- a/examples/cdk/functions/get-all-items.ts +++ b/examples/cdk/functions/get-all-items.ts @@ -18,7 +18,7 @@ import { default as request } from 'phin'; * This example uses the Middy middleware instrumentation. * It is the best choice if your existing code base relies on the Middy middleware engine. * Powertools for AWS Lambda (TypeScript) offers compatible Middy middleware to make this integration seamless. - * Find more Information in the docs: https://awslabs.github.io/aws-lambda-powertools-typescript/ + * Find more Information in the docs: https://docs.powertools.aws.dev/lambda-typescript/ * * Event doc: https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format * @param {Object} event - API Gateway Lambda Proxy Input Format diff --git a/examples/cdk/functions/get-by-id.ts b/examples/cdk/functions/get-by-id.ts index 0a24f49632..db536b3f23 100644 --- a/examples/cdk/functions/get-by-id.ts +++ b/examples/cdk/functions/get-by-id.ts @@ -15,7 +15,7 @@ import { default as request } from 'phin'; * This example uses the Method decorator instrumentation. * Use TypeScript method decorators if you prefer writing your business logic using TypeScript Classes. * If you aren’t using Classes, this requires the most significant refactoring. - * Find more Information in the docs: https://awslabs.github.io/aws-lambda-powertools-typescript/ + * Find more Information in the docs: https://docs.powertools.aws.dev/lambda-typescript/ * * Event doc: https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format * @param {APIGatewayProxyEvent} event - API Gateway Lambda Proxy Input Format diff --git a/examples/sam/CHANGELOG.md b/examples/sam/CHANGELOG.md index 548958f217..e88bde7ee7 100644 --- a/examples/sam/CHANGELOG.md +++ b/examples/sam/CHANGELOG.md @@ -3,103 +3,103 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -# [1.9.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) +# [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) **Note:** Version bump only for package sam-example -# [1.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) +# [1.8.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) **Note:** Version bump only for package sam-example -# [1.7.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) +# [1.7.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) **Note:** Version bump only for package sam-example -# [1.6.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.5.1...v1.6.0) (2023-03-02) +# [1.6.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.5.1...v1.6.0) (2023-03-02) **Note:** Version bump only for package sam-example -## [1.5.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.5.0...v1.5.1) (2023-01-13) +## [1.5.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.5.0...v1.5.1) (2023-01-13) **Note:** Version bump only for package sam-example -# [1.5.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.4.1...v1.5.0) (2022-11-25) +# [1.5.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.4.1...v1.5.0) (2022-11-25) **Note:** Version bump only for package sam-example -## [1.4.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.4.0...v1.4.1) (2022-11-09) +## [1.4.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.4.0...v1.4.1) (2022-11-09) **Note:** Version bump only for package sam-example -# [1.4.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.3.0...v1.4.0) (2022-10-27) +# [1.4.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.3.0...v1.4.0) (2022-10-27) **Note:** Version bump only for package powertools-typescript-sam-example -# [1.3.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.2.1...v1.3.0) (2022-10-17) +# [1.3.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.2.1...v1.3.0) (2022-10-17) ### Features -- publish lib as Lambda Layer ([#1095](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1095)) ([83f6efb](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/83f6efba1db32ba2dc8fff026e258b5de66783e0)) +- publish lib as Lambda Layer ([#1095](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1095)) ([83f6efb](https://github.com/aws-powertools/powertools-lambda-typescript/commit/83f6efba1db32ba2dc8fff026e258b5de66783e0)) ### Reverts -- Revert "chore(release): v1.3.0 [skip ci]" ([237b99f](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/237b99f9f6eff5e6e26d779603cf13cd4422c156)) +- Revert "chore(release): v1.3.0 [skip ci]" ([237b99f](https://github.com/aws-powertools/powertools-lambda-typescript/commit/237b99f9f6eff5e6e26d779603cf13cd4422c156)) -## [1.2.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.2.0...v1.2.1) (2022-08-25) +## [1.2.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.2.0...v1.2.1) (2022-08-25) **Note:** Version bump only for package powertools-typescript-sam-example -# [1.2.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.1.1...v1.2.0) (2022-08-23) +# [1.2.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.1.1...v1.2.0) (2022-08-23) **Note:** Version bump only for package powertools-typescript-sam-example -## [1.1.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.1.0...v1.1.1) (2022-08-18) +## [1.1.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.1.0...v1.1.1) (2022-08-18) **Note:** Version bump only for package powertools-typescript-sam-example -# [1.1.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.0.2...v1.1.0) (2022-08-12) +# [1.1.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.0.2...v1.1.0) (2022-08-12) **Note:** Version bump only for package powertools-typescript-sam-example -## [1.0.2](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.0.1...v1.0.2) (2022-07-19) +## [1.0.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.0.1...v1.0.2) (2022-07-19) **Note:** Version bump only for package powertools-typescript-sam-example -## [1.0.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.12.0-rc.1...v1.0.1) (2022-07-14) +## [1.0.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.12.0-rc.1...v1.0.1) (2022-07-14) **Note:** Version bump only for package powertools-typescript-sam-example -# [0.12.0-rc.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.12.0-rc.0...v0.12.0-rc.1) (2022-07-14) +# [0.12.0-rc.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.12.0-rc.0...v0.12.0-rc.1) (2022-07-14) **Note:** Version bump only for package powertools-typescript-sam-example -# [0.12.0-rc.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.11.1-rc.0...v0.12.0-rc.0) (2022-07-14) +# [0.12.0-rc.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.11.1-rc.0...v0.12.0-rc.0) (2022-07-14) ### Reverts -- Revert "chore(release): v0.12.0-rc.0 [skip ci]" ([9397f1d](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/9397f1d3624eb0bfbeb5e4c2702ae51e558a5b4a)) -- Revert "chore(release): v0.12.0-rc.0 [skip ci]" (#1017) ([51c18da](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/51c18da20db434f8b12f320e5074e3e0a146046e)), closes [#1017](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1017) +- Revert "chore(release): v0.12.0-rc.0 [skip ci]" ([9397f1d](https://github.com/aws-powertools/powertools-lambda-typescript/commit/9397f1d3624eb0bfbeb5e4c2702ae51e558a5b4a)) +- Revert "chore(release): v0.12.0-rc.0 [skip ci]" (#1017) ([51c18da](https://github.com/aws-powertools/powertools-lambda-typescript/commit/51c18da20db434f8b12f320e5074e3e0a146046e)), closes [#1017](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1017) -## [0.11.1-rc.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.11.0...v0.11.1-rc.0) (2022-06-24) +## [0.11.1-rc.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.11.0...v0.11.1-rc.0) (2022-06-24) **Note:** Version bump only for package powertools-typescript-sam-example -# [0.11.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.10.0...v0.11.0) (2022-06-23) +# [0.11.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.10.0...v0.11.0) (2022-06-23) **Note:** Version bump only for package powertools-typescript-sam-example -# [0.10.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.1...v0.10.0) (2022-06-02) +# [0.10.0](https://github.com/aws-powertools/powertools-lambda-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)) +- **all:** nodejs16x support ([#877](https://github.com/aws-powertools/powertools-lambda-typescript/issues/877)) ([d2b13c9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d2b13c945adb1a74b7c5f76d45f28a6979ce6429)) -## [0.9.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) +## [0.9.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) **Note:** Version bump only for package powertools-typescript-sam-example -# [0.9.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.1...v0.9.0) (2022-05-16) +# [0.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.8.1...v0.9.0) (2022-05-16) ### Features -- **examples:** added sam example to workflows ([#849](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/849)) ([93f1c7b](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/93f1c7b55cb159dfcbbcb41149ccec7fd5db1660)) +- **examples:** added sam example to workflows ([#849](https://github.com/aws-powertools/powertools-lambda-typescript/issues/849)) ([93f1c7b](https://github.com/aws-powertools/powertools-lambda-typescript/commit/93f1c7b55cb159dfcbbcb41149ccec7fd5db1660)) diff --git a/examples/sam/README.md b/examples/sam/README.md index d17b806381..ac3755c284 100644 --- a/examples/sam/README.md +++ b/examples/sam/README.md @@ -184,7 +184,7 @@ Metadata: EntryPoints: ``` -Learn more about Lambda Layers [here](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) and about the Powertools for AWS Lambda (TypeScript) layers [here](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#lambda-layer). +Learn more about Lambda Layers [here](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) and about the Powertools for AWS Lambda (TypeScript) layers [here](https://docs.powertools.aws.dev/lambda-typescript/latest/#lambda-layer). ## Cleanup diff --git a/examples/sam/src/get-all-items.ts b/examples/sam/src/get-all-items.ts index 2ac1c4d79a..a0b69aa0ff 100644 --- a/examples/sam/src/get-all-items.ts +++ b/examples/sam/src/get-all-items.ts @@ -18,7 +18,7 @@ import { default as request } from 'phin'; * This example uses the Middy middleware instrumentation. * It is the best choice if your existing code base relies on the Middy middleware engine. * Powertools for AWS Lambda (TypeScript) offers compatible Middy middleware to make this integration seamless. - * Find more Information in the docs: https://awslabs.github.io/aws-lambda-powertools-typescript/ + * Find more Information in the docs: https://docs.powertools.aws.dev/lambda-typescript/ * * Event doc: https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format * @param {Object} event - API Gateway Lambda Proxy Input Format diff --git a/examples/sam/src/get-by-id.ts b/examples/sam/src/get-by-id.ts index 0a24f49632..db536b3f23 100644 --- a/examples/sam/src/get-by-id.ts +++ b/examples/sam/src/get-by-id.ts @@ -15,7 +15,7 @@ import { default as request } from 'phin'; * This example uses the Method decorator instrumentation. * Use TypeScript method decorators if you prefer writing your business logic using TypeScript Classes. * If you aren’t using Classes, this requires the most significant refactoring. - * Find more Information in the docs: https://awslabs.github.io/aws-lambda-powertools-typescript/ + * Find more Information in the docs: https://docs.powertools.aws.dev/lambda-typescript/ * * Event doc: https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format * @param {APIGatewayProxyEvent} event - API Gateway Lambda Proxy Input Format diff --git a/layers/CHANGELOG.md b/layers/CHANGELOG.md index 70e45103a6..53767b4e08 100644 --- a/layers/CHANGELOG.md +++ b/layers/CHANGELOG.md @@ -3,65 +3,65 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -# [1.9.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) +# [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) **Note:** Version bump only for package layers -# [1.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) +# [1.8.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) **Note:** Version bump only for package layers -# [1.7.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) +# [1.7.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) **Note:** Version bump only for package layers -## [1.5.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.5.0...v1.5.1) (2023-01-13) +## [1.5.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.5.0...v1.5.1) (2023-01-13) **Note:** Version bump only for package layer-publisher -# [1.5.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.4.1...v1.5.0) (2022-11-25) +# [1.5.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.4.1...v1.5.0) (2022-11-25) **Note:** Version bump only for package layer-publisher -## [1.4.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.4.0...v1.4.1) (2022-11-09) +## [1.4.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.4.0...v1.4.1) (2022-11-09) **Note:** Version bump only for package layer-publisher -# [1.4.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.3.0...v1.4.0) (2022-10-27) +# [1.4.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.3.0...v1.4.0) (2022-10-27) ### Features -- **all:** moved EnvService to commons + exposed getXrayTraceId in tracer ([#1123](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1123)) ([c8e3c15](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c8e3c15b64142ebe6f43835a5917ecba26293a32)) +- **all:** moved EnvService to commons + exposed getXrayTraceId in tracer ([#1123](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1123)) ([c8e3c15](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c8e3c15b64142ebe6f43835a5917ecba26293a32)) -# [1.3.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.2.1...v1.3.0) (2022-10-17) +# [1.3.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.2.1...v1.3.0) (2022-10-17) ### Bug Fixes -- ts-node version for layer-publisher ([#1112](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1112)) ([ee243de](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/ee243dea0b9268ed793df19f0b04e680f68e41a6)) +- ts-node version for layer-publisher ([#1112](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1112)) ([ee243de](https://github.com/aws-powertools/powertools-lambda-typescript/commit/ee243dea0b9268ed793df19f0b04e680f68e41a6)) ### Features -- **idempotency:** create initial class structure for function idempotency ([#1086](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1086)) ([06fbaae](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/06fbaae4db3825557aa84d40372a53422e42840d)) -- publish lib as Lambda Layer ([#1095](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1095)) ([83f6efb](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/83f6efba1db32ba2dc8fff026e258b5de66783e0)) +- **idempotency:** create initial class structure for function idempotency ([#1086](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1086)) ([06fbaae](https://github.com/aws-powertools/powertools-lambda-typescript/commit/06fbaae4db3825557aa84d40372a53422e42840d)) +- publish lib as Lambda Layer ([#1095](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1095)) ([83f6efb](https://github.com/aws-powertools/powertools-lambda-typescript/commit/83f6efba1db32ba2dc8fff026e258b5de66783e0)) ### Reverts -- Revert "chore(release): v1.3.0 [skip ci]" ([237b99f](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/237b99f9f6eff5e6e26d779603cf13cd4422c156)) +- Revert "chore(release): v1.3.0 [skip ci]" ([237b99f](https://github.com/aws-powertools/powertools-lambda-typescript/commit/237b99f9f6eff5e6e26d779603cf13cd4422c156)) -## [1.2.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.2.0...v1.2.1) (2022-08-25) +## [1.2.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.2.0...v1.2.1) (2022-08-25) **Note:** Version bump only for package layer-publisher -# [1.2.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.1.1...v1.2.0) (2022-08-23) +# [1.2.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.1.1...v1.2.0) (2022-08-23) **Note:** Version bump only for package layer-publisher -## [1.1.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.1.0...v1.1.1) (2022-08-18) +## [1.1.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.1.0...v1.1.1) (2022-08-18) **Note:** Version bump only for package layer-publisher -# [1.1.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.0.2...v1.1.0) (2022-08-12) +# [1.1.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.0.2...v1.1.0) (2022-08-12) ### Features -- **build:** publish lib as a Lambda Layer ([#884](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/884)) ([c3a20c6](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c3a20c61380a6b6944807f5abf12c9cafb254325)), closes [#1031](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1031) +- **build:** publish lib as a Lambda Layer ([#884](https://github.com/aws-powertools/powertools-lambda-typescript/issues/884)) ([c3a20c6](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c3a20c61380a6b6944807f5abf12c9cafb254325)), closes [#1031](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1031) diff --git a/layers/package.json b/layers/package.json index 5b126d6387..47e28a625b 100644 --- a/layers/package.json +++ b/layers/package.json @@ -22,7 +22,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/awslabs/aws-lambda-powertools-typescript.git" + "url": "git+https://github.com/aws-powertools/powertools-lambda-typescript.git" }, "author": { "name": "Amazon Web Services", @@ -30,9 +30,9 @@ }, "license": "MIT-0", "bugs": { - "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" + "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, - "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript#readme", + "homepage": "https://github.com/aws-powertools/powertools-lambda-typescript#readme", "devDependencies": { "source-map-support": "^0.5.21" } diff --git a/mkdocs.yml b/mkdocs.yml index 9f19f264a7..b1f2e7fc4e 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,7 +1,7 @@ site_name: Powertools for AWS Lambda (TypeScript) site_description: Powertools for AWS Lambda (TypeScript) site_author: Amazon Web Services -repo_url: https://github.com/awslabs/aws-lambda-powertools-typescript +repo_url: https://github.com/aws-powertools/powertools-lambda-typescript edit_uri: edit/main/docs nav: @@ -99,7 +99,7 @@ extra: default: latest social: - icon: fontawesome/brands/github - link: https://github.com/awslabs/aws-lambda-powertools-typescript + link: https://github.com/aws-powertools/powertools-lambda-typescript - icon: fontawesome/brands/discord link: https://discord.gg/B8zZKbbyET name: Join our Discord Server! diff --git a/package.json b/package.json index 7d857cbd69..03e6b8b7a5 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/awslabs/aws-lambda-powertools-typescript.git" + "url": "git+https://github.com/aws-powertools/powertools-lambda-typescript.git" }, "keywords": [], "author": { @@ -40,9 +40,9 @@ }, "license": "MIT", "bugs": { - "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" + "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, - "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript#readme", + "homepage": "https://github.com/aws-powertools/powertools-lambda-typescript#readme", "devDependencies": { "@aws-cdk/cloudformation-diff": "^2.73.0", "@aws-cdk/cx-api": "^2.73.0", diff --git a/packages/commons/CHANGELOG.md b/packages/commons/CHANGELOG.md index f2001252f6..c8387dc4a4 100644 --- a/packages/commons/CHANGELOG.md +++ b/packages/commons/CHANGELOG.md @@ -3,181 +3,181 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -# [1.9.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) +# [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) ### Features -- **commons:** add `cleanupPowertools` function ([#1473](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1473)) ([5bd0166](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/5bd01665699ae2f026d845477e648d325f20a855)) -- **tracer:** add isTraceSampled method ([#1435](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1435)) ([194bbd3](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/194bbd366b726a477523225f446add054c20566e)) +- **commons:** add `cleanupPowertools` function ([#1473](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1473)) ([5bd0166](https://github.com/aws-powertools/powertools-lambda-typescript/commit/5bd01665699ae2f026d845477e648d325f20a855)) +- **tracer:** add isTraceSampled method ([#1435](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1435)) ([194bbd3](https://github.com/aws-powertools/powertools-lambda-typescript/commit/194bbd366b726a477523225f446add054c20566e)) -# [1.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) +# [1.8.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) ### Features -- **parameters:** ability to set `maxAge` and `decrypt` via environment variables ([#1384](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1384)) ([dcf6620](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/dcf6620f55004b69186cd69b0c42b1cdd9fd1ce4)) +- **parameters:** ability to set `maxAge` and `decrypt` via environment variables ([#1384](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1384)) ([dcf6620](https://github.com/aws-powertools/powertools-lambda-typescript/commit/dcf6620f55004b69186cd69b0c42b1cdd9fd1ce4)) -# [1.7.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) +# [1.7.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) ### Features -- **parameters:** AppConfigProvider to return the last valid value when the API returns empty value on subsequent calls ([#1365](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1365)) ([97339d9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/97339d9336ec67568e9e7fd079b3cfe006da1bba)) +- **parameters:** AppConfigProvider to return the last valid value when the API returns empty value on subsequent calls ([#1365](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1365)) ([97339d9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/97339d9336ec67568e9e7fd079b3cfe006da1bba)) -# [1.6.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.5.1...v1.6.0) (2023-03-02) +# [1.6.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.5.1...v1.6.0) (2023-03-02) **Note:** Version bump only for package @aws-lambda-powertools/commons -## [1.5.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.5.0...v1.5.1) (2023-01-13) +## [1.5.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.5.0...v1.5.1) (2023-01-13) **Note:** Version bump only for package @aws-lambda-powertools/commons -# [1.5.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.4.1...v1.5.0) (2022-11-25) +# [1.5.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.4.1...v1.5.0) (2022-11-25) **Note:** Version bump only for package @aws-lambda-powertools/commons -## [1.4.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.4.0...v1.4.1) (2022-11-09) +## [1.4.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.4.0...v1.4.1) (2022-11-09) **Note:** Version bump only for package @aws-lambda-powertools/commons -# [1.4.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.3.0...v1.4.0) (2022-10-27) +# [1.4.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.3.0...v1.4.0) (2022-10-27) ### Features -- **all:** moved EnvService to commons + exposed getXrayTraceId in tracer ([#1123](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1123)) ([c8e3c15](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c8e3c15b64142ebe6f43835a5917ecba26293a32)) +- **all:** moved EnvService to commons + exposed getXrayTraceId in tracer ([#1123](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1123)) ([c8e3c15](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c8e3c15b64142ebe6f43835a5917ecba26293a32)) -# [1.3.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.2.1...v1.3.0) (2022-10-17) +# [1.3.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.2.1...v1.3.0) (2022-10-17) ### Bug Fixes -- **all:** update version command to use lint-fix ([#1119](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1119)) ([6f14fb3](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/6f14fb3229882b1dd0c20d18c87a542993432da9)) +- **all:** update version command to use lint-fix ([#1119](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1119)) ([6f14fb3](https://github.com/aws-powertools/powertools-lambda-typescript/commit/6f14fb3229882b1dd0c20d18c87a542993432da9)) ### Reverts -- Revert "chore(release): v1.3.0 [skip ci]" ([237b99f](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/237b99f9f6eff5e6e26d779603cf13cd4422c156)) +- Revert "chore(release): v1.3.0 [skip ci]" ([237b99f](https://github.com/aws-powertools/powertools-lambda-typescript/commit/237b99f9f6eff5e6e26d779603cf13cd4422c156)) -## [1.2.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.2.0...v1.2.1) (2022-08-25) +## [1.2.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.2.0...v1.2.1) (2022-08-25) **Note:** Version bump only for package @aws-lambda-powertools/commons -# [1.2.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.1.1...v1.2.0) (2022-08-23) +# [1.2.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.1.1...v1.2.0) (2022-08-23) **Note:** Version bump only for package @aws-lambda-powertools/commons -## [1.1.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.1.0...v1.1.1) (2022-08-18) +## [1.1.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.1.0...v1.1.1) (2022-08-18) **Note:** Version bump only for package @aws-lambda-powertools/commons -# [1.1.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.0.2...v1.1.0) (2022-08-12) +# [1.1.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.0.2...v1.1.0) (2022-08-12) ### Features -- **build:** publish lib as a Lambda Layer ([#884](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/884)) ([c3a20c6](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c3a20c61380a6b6944807f5abf12c9cafb254325)), closes [#1031](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1031) +- **build:** publish lib as a Lambda Layer ([#884](https://github.com/aws-powertools/powertools-lambda-typescript/issues/884)) ([c3a20c6](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c3a20c61380a6b6944807f5abf12c9cafb254325)), closes [#1031](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1031) -## [1.0.2](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.0.1...v1.0.2) (2022-07-19) +## [1.0.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.0.1...v1.0.2) (2022-07-19) **Note:** Version bump only for package @aws-lambda-powertools/commons -## [1.0.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.12.0-rc.1...v1.0.1) (2022-07-14) +## [1.0.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.12.0-rc.1...v1.0.1) (2022-07-14) **Note:** Version bump only for package @aws-lambda-powertools/commons -# [0.12.0-rc.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.12.0-rc.0...v0.12.0-rc.1) (2022-07-14) +# [0.12.0-rc.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.12.0-rc.0...v0.12.0-rc.1) (2022-07-14) **Note:** Version bump only for package @aws-lambda-powertools/commons -# [0.12.0-rc.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.11.1-rc.0...v0.12.0-rc.0) (2022-07-14) +# [0.12.0-rc.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.11.1-rc.0...v0.12.0-rc.0) (2022-07-14) ### Reverts -- Revert "chore(release): v0.12.0-rc.0 [skip ci]" ([9397f1d](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/9397f1d3624eb0bfbeb5e4c2702ae51e558a5b4a)) -- Revert "chore(release): v0.12.0-rc.0 [skip ci]" (#1017) ([51c18da](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/51c18da20db434f8b12f320e5074e3e0a146046e)), closes [#1017](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1017) +- Revert "chore(release): v0.12.0-rc.0 [skip ci]" ([9397f1d](https://github.com/aws-powertools/powertools-lambda-typescript/commit/9397f1d3624eb0bfbeb5e4c2702ae51e558a5b4a)) +- Revert "chore(release): v0.12.0-rc.0 [skip ci]" (#1017) ([51c18da](https://github.com/aws-powertools/powertools-lambda-typescript/commit/51c18da20db434f8b12f320e5074e3e0a146046e)), closes [#1017](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1017) -## [0.11.1-rc.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.11.0...v0.11.1-rc.0) (2022-06-24) +## [0.11.1-rc.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.11.0...v0.11.1-rc.0) (2022-06-24) **Note:** Version bump only for package @aws-lambda-powertools/commons -# [0.11.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.10.0...v0.11.0) (2022-06-23) +# [0.11.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.10.0...v0.11.0) (2022-06-23) ### Features -- **logger:** add clear state functionality ([#902](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/902)) ([fa1dacb](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/fa1dacb001503a0a607e0951499119a1a9c61545)) +- **logger:** add clear state functionality ([#902](https://github.com/aws-powertools/powertools-lambda-typescript/issues/902)) ([fa1dacb](https://github.com/aws-powertools/powertools-lambda-typescript/commit/fa1dacb001503a0a607e0951499119a1a9c61545)) -# [0.10.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.1...v0.10.0) (2022-06-02) +# [0.10.0](https://github.com/aws-powertools/powertools-lambda-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)) +- **commons:** rename tests subfolder to samples to avoid being deleted by tools such as node-prune ([#882](https://github.com/aws-powertools/powertools-lambda-typescript/issues/882)) ([74ef816](https://github.com/aws-powertools/powertools-lambda-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)) +- **all:** nodejs16x support ([#877](https://github.com/aws-powertools/powertools-lambda-typescript/issues/877)) ([d2b13c9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d2b13c945adb1a74b7c5f76d45f28a6979ce6429)) -## [0.9.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) +## [0.9.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) **Note:** Version bump only for package @aws-lambda-powertools/commons -# [0.9.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.1...v0.9.0) (2022-05-16) +# [0.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.8.1...v0.9.0) (2022-05-16) **Note:** Version bump only for package @aws-lambda-powertools/commons -## [0.8.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) +## [0.8.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) ### Bug Fixes -- **logger:** change logging to use stdout ([#748](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/748)) ([0781a47](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/0781a479a6ae3c794f94c72b59cd0920073159a2)) +- **logger:** change logging to use stdout ([#748](https://github.com/aws-powertools/powertools-lambda-typescript/issues/748)) ([0781a47](https://github.com/aws-powertools/powertools-lambda-typescript/commit/0781a479a6ae3c794f94c72b59cd0920073159a2)) -# [0.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) +# [0.8.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) **Note:** Version bump only for package @aws-lambda-powertools/commons -## [0.7.2](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.1...v0.7.2) (2022-04-01) +## [0.7.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.7.1...v0.7.2) (2022-04-01) **Note:** Version bump only for package @aws-lambda-powertools/commons -## [0.7.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.0...v0.7.1) (2022-03-17) +## [0.7.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.7.0...v0.7.1) (2022-03-17) **Note:** Version bump only for package @aws-lambda-powertools/commons -# [0.7.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.6.0...v0.7.0) (2022-03-08) +# [0.7.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.6.0...v0.7.0) (2022-03-08) **Note:** Version bump only for package @aws-lambda-powertools/commons -# [0.6.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.5.1...v0.6.0) (2022-02-17) +# [0.6.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.5.1...v0.6.0) (2022-02-17) ### Features -- **commons:** centralize cold start heuristic ([#547](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/547)) ([4e4091f](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/4e4091f7b853c56a8dfd28829f09a066cc8e2ee7)) +- **commons:** centralize cold start heuristic ([#547](https://github.com/aws-powertools/powertools-lambda-typescript/issues/547)) ([4e4091f](https://github.com/aws-powertools/powertools-lambda-typescript/commit/4e4091f7b853c56a8dfd28829f09a066cc8e2ee7)) -## [0.5.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.5.0...v0.5.1) (2022-02-09) +## [0.5.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.5.0...v0.5.1) (2022-02-09) **Note:** Version bump only for package @aws-lambda-powertools/commons -# [0.5.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.4.0...v0.5.0) (2022-01-26) +# [0.5.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.4.0...v0.5.0) (2022-01-26) **Note:** Version bump only for package @aws-lambda-powertools/commons -# [0.4.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.3...v0.4.0) (2022-01-20) +# [0.4.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.3...v0.4.0) (2022-01-20) **Note:** Version bump only for package @aws-lambda-powertools/commons -## [0.3.3](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.2...v0.3.3) (2022-01-17) +## [0.3.3](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.2...v0.3.3) (2022-01-17) **Note:** Version bump only for package @aws-lambda-powertools/commons -## [0.3.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.0...v0.3.1) (2022-01-14) +## [0.3.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.0...v0.3.1) (2022-01-14) ### Bug Fixes -- **all:** fix latest release broken by change of npm pack result on common ([#470](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/470)) ([2c3df93](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/2c3df9378ac191f6da6cb5f458f6227d6466cafa)), closes [#417](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/417) +- **all:** fix latest release broken by change of npm pack result on common ([#470](https://github.com/aws-powertools/powertools-lambda-typescript/issues/470)) ([2c3df93](https://github.com/aws-powertools/powertools-lambda-typescript/commit/2c3df9378ac191f6da6cb5f458f6227d6466cafa)), closes [#417](https://github.com/aws-powertools/powertools-lambda-typescript/issues/417) -# [0.3.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.2.0...v0.3.0) (2022-01-14) +# [0.3.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.2.0...v0.3.0) (2022-01-14) ### Bug Fixes -- **build:** Update contributing.md and fix npm ci ([#417](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/417)) ([279ad98](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/279ad984f71d5b157a13cffeab52602f2c09c1f8)), closes [#415](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/415) [#415](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/415) +- **build:** Update contributing.md and fix npm ci ([#417](https://github.com/aws-powertools/powertools-lambda-typescript/issues/417)) ([279ad98](https://github.com/aws-powertools/powertools-lambda-typescript/commit/279ad984f71d5b157a13cffeab52602f2c09c1f8)), closes [#415](https://github.com/aws-powertools/powertools-lambda-typescript/issues/415) [#415](https://github.com/aws-powertools/powertools-lambda-typescript/issues/415) ### Features -- **all:** Update to examples use released version (0.2.0) ([#405](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/405)) ([d5e0620](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d5e0620473f31d0839c027a76a88dcdcb98c84de)) +- **all:** Update to examples use released version (0.2.0) ([#405](https://github.com/aws-powertools/powertools-lambda-typescript/issues/405)) ([d5e0620](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d5e0620473f31d0839c027a76a88dcdcb98c84de)) # 0.2.0 (2022-01-05) diff --git a/packages/commons/README.md b/packages/commons/README.md index 8e0544ab06..f121aec7df 100644 --- a/packages/commons/README.md +++ b/packages/commons/README.md @@ -1,12 +1,12 @@ # Powertools for AWS Lambda (TypeScript) -Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#features). +Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://docs.powertools.aws.dev/lambda-typescript/latest/#features). You can use the library in both TypeScript and JavaScript code bases. -> Also available in [Python](https://github.com/awslabs/aws-lambda-powertools-python), [Java](https://github.com/awslabs/aws-lambda-powertools-java), and [.NET](https://awslabs.github.io/aws-lambda-powertools-dotnet/). +> Also available in [Python](https://github.com/aws-powertools/powertools-lambda-python), [Java](https://github.com/aws-powertools/powertools-lambda-java), and [.NET](https://docs.powertools.aws.dev/lambda-dotnet/). -**[Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[npm](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/roadmap)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples)** +**[Documentation](https://docs.powertools.aws.dev/lambda-typescript/)** | **[npm](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://docs.powertools.aws.dev/lambda-typescript/latest/roadmap)** | **[Examples](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples)** ## Table of contents @@ -28,14 +28,14 @@ You can use the library in both TypeScript and JavaScript code bases. ## Features -* **[Tracer](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions -* **[Logger](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context -* **[Metrics](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) -* **[Parameters (beta)](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB +* **[Tracer](https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions +* **[Logger](https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context +* **[Metrics](https://docs.powertools.aws.dev/lambda-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) +* **[Parameters (beta)](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB ## Getting started -Find the complete project's [documentation here](https://awslabs.github.io/aws-lambda-powertools-typescript). +Find the complete project's [documentation here](https://docs.powertools.aws.dev/lambda-typescript). ### Installation @@ -51,18 +51,18 @@ npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lam Or refer to the installation guide of each utility: -👉 [Installation guide for the **Tracer** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer#getting-started) +👉 [Installation guide for the **Tracer** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer#getting-started) -👉 [Installation guide for the **Logger** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger#getting-started) +👉 [Installation guide for the **Logger** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger#getting-started) -👉 [Installation guide for the **Metrics** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics#getting-started) +👉 [Installation guide for the **Metrics** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/metrics#getting-started) -👉 [Installation guide for the **Parameters** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/#getting-started) +👉 [Installation guide for the **Parameters** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/#getting-started) ### Examples -* [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) -* [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) +* [CDK](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/cdk) +* [SAM](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/sam) ### Serverless TypeScript Demo application @@ -71,12 +71,12 @@ You can find instructions on how to deploy and load test this application in the ## Contribute -If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/main/CONTRIBUTING.md). +If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/CONTRIBUTING.md). ## Roadmap The roadmap of Powertools for AWS Lambda (TypeScript) is driven by customers’ demand. -Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/awslabs/aws-lambda-powertools-typescript/issues), or [creating new ones](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new/choose), in this GitHub repository. +Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues), or [creating new ones](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new/choose), in this GitHub repository. ## Connect @@ -87,7 +87,7 @@ Help us prioritize upcoming functionalities or utilities by [upvoting existing R ### Becoming a reference customer -Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue. +Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue. The following companies, among others, use Powertools: @@ -101,7 +101,7 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda-typescript/latest/we_made_this). ### Using Lambda Layer diff --git a/packages/commons/package.json b/packages/commons/package.json index 55a3b62f8f..d4f71096ad 100644 --- a/packages/commons/package.json +++ b/packages/commons/package.json @@ -24,7 +24,7 @@ "*.ts": "npm run lint-fix", "*.js": "npm run lint-fix" }, - "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/metrics#readme", + "homepage": "https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/packages/metrics#readme", "license": "MIT-0", "main": "./lib/index.js", "types": "./lib/index.d.ts", @@ -33,10 +33,10 @@ ], "repository": { "type": "git", - "url": "git+https://github.com/awslabs/aws-lambda-powertools-typescript.git" + "url": "git+https://github.com/aws-powertools/powertools-lambda-typescript.git" }, "bugs": { - "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" + "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, "keywords": [ "aws", diff --git a/packages/commons/src/config/EnvironmentVariablesService.ts b/packages/commons/src/config/EnvironmentVariablesService.ts index 1220b6d175..72f2e81306 100644 --- a/packages/commons/src/config/EnvironmentVariablesService.ts +++ b/packages/commons/src/config/EnvironmentVariablesService.ts @@ -11,11 +11,11 @@ import { ConfigService } from '.'; * @class * @extends {ConfigService} * @see https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#environment-variables + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/#environment-variables */ class EnvironmentVariablesService extends ConfigService { /** - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#environment-variables + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/#environment-variables * @protected */ protected serviceNameVariable = 'POWERTOOLS_SERVICE_NAME'; diff --git a/packages/idempotency/LICENSE-THIRD-PARTY b/packages/idempotency/LICENSE-THIRD-PARTY index 27fdb6b8bf..0adb67e7ef 100644 --- a/packages/idempotency/LICENSE-THIRD-PARTY +++ b/packages/idempotency/LICENSE-THIRD-PARTY @@ -1,5 +1,5 @@ @aws-lambda-powertools/commons -0.0.2 +0.0.2 license: MIT* authors: Amazon Web Services diff --git a/packages/idempotency/README.md b/packages/idempotency/README.md index 80c1da112a..87bf3e18b8 100644 --- a/packages/idempotency/README.md +++ b/packages/idempotency/README.md @@ -3,10 +3,10 @@ | ⚠️ **WARNING: Do not use this utility in production just yet!** ⚠️ | | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| **This utility is currently released as beta developer preview** and is intended strictly for feedback and testing purposes **and not for production workloads**.. The version and all future versions tagged with the `-beta` suffix should be treated as not stable. Up until before the [General Availability release](https://github.com/awslabs/aws-lambda-powertools-typescript/milestone/10) we might introduce significant breaking changes and improvements in response to customers feedback. | _ | +| **This utility is currently released as beta developer preview** and is intended strictly for feedback and testing purposes **and not for production workloads**.. The version and all future versions tagged with the `-beta` suffix should be treated as not stable. Up until before the [General Availability release](https://github.com/aws-powertools/powertools-lambda-typescript/milestone/10) we might introduce significant breaking changes and improvements in response to customers feedback. | _ | -Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#features). +Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://docs.powertools.aws.dev/lambda-typescript/latest/#features). ## Intro @@ -48,7 +48,7 @@ Similar to `@idempotentFunction` decorator you need to pass keyword argument to To store the idempotency information offer a DynamoDB persistance layer. This enables you to store the hash key, payload, status for progress and expiration and much more. You can customise most of the configuration options of the DynamoDB table, i.e the names of the attributes. -See the [API documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/modules/.index.DynamoDBPersistenceLayer.html) for more details. +See the [API documentation](https://docs.powertools.aws.dev/lambda-typescript/latest/modules/.index.DynamoDBPersistenceLayer.html) for more details. ## Examples @@ -146,12 +146,12 @@ export const handler = async ( ## Contribute -If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/main/CONTRIBUTING.md). +If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/CONTRIBUTING.md). ## Roadmap The roadmap of Powertools for AWS Lambda (TypeScript) is driven by customers’ demand. -Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/awslabs/aws-lambda-powertools-typescript/issues), or [creating new ones](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new/choose), in this GitHub repository. +Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues), or [creating new ones](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new/choose), in this GitHub repository. ## Connect @@ -162,7 +162,7 @@ Help us prioritize upcoming functionalities or utilities by [upvoting existing R ### Becoming a reference customer -Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue. +Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue. The following companies, among others, use Powertools: @@ -176,7 +176,7 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda-typescript/latest/we_made_this). ### Using Lambda Layer diff --git a/packages/idempotency/package.json b/packages/idempotency/package.json index d97c776bd9..10886714be 100644 --- a/packages/idempotency/package.json +++ b/packages/idempotency/package.json @@ -25,7 +25,7 @@ "*.ts": "npm run lint-fix", "*.js": "npm run lint-fix" }, - "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/idempotency#readme", + "homepage": "https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/packages/idempotency#readme", "license": "MIT-0", "exports": { ".": { @@ -72,10 +72,10 @@ ], "repository": { "type": "git", - "url": "git+https://github.com/awslabs/aws-lambda-powertools-typescript.git" + "url": "git+https://github.com/aws-powertools/powertools-lambda-typescript.git" }, "bugs": { - "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" + "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, "dependencies": { "@aws-lambda-powertools/commons": "^1.9.0", diff --git a/packages/idempotency/src/config/EnvironmentVariablesService.ts b/packages/idempotency/src/config/EnvironmentVariablesService.ts index 3c3ba48e1c..2eef2a1b4f 100644 --- a/packages/idempotency/src/config/EnvironmentVariablesService.ts +++ b/packages/idempotency/src/config/EnvironmentVariablesService.ts @@ -13,7 +13,7 @@ import { EnvironmentVariablesService as CommonEnvironmentVariablesService } from * @extends {CommonEnvironmentVariablesService} * @implements {ConfigServiceInterface} * @see https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#environment-variables + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/#environment-variables */ class EnvironmentVariablesService extends CommonEnvironmentVariablesService diff --git a/packages/logger/CHANGELOG.md b/packages/logger/CHANGELOG.md index 997572a264..48f60c66cc 100644 --- a/packages/logger/CHANGELOG.md +++ b/packages/logger/CHANGELOG.md @@ -3,235 +3,235 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -# [1.9.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) +# [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) ### Features -- **logger:** enhance log level handling ([#1476](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1476)) ([0021536](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/0021536e35ba7046226155055f9ab6b5f988f71f)) +- **logger:** enhance log level handling ([#1476](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1476)) ([0021536](https://github.com/aws-powertools/powertools-lambda-typescript/commit/0021536e35ba7046226155055f9ab6b5f988f71f)) -# [1.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) +# [1.8.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) ### Features -- **logger:** add `CRITICAL` log level ([#1399](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1399)) ([a248ff0](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/a248ff0a584bac5a97fe300f3addbb9c3a50b555)) -- **parameters:** ability to set `maxAge` and `decrypt` via environment variables ([#1384](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1384)) ([dcf6620](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/dcf6620f55004b69186cd69b0c42b1cdd9fd1ce4)) +- **logger:** add `CRITICAL` log level ([#1399](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1399)) ([a248ff0](https://github.com/aws-powertools/powertools-lambda-typescript/commit/a248ff0a584bac5a97fe300f3addbb9c3a50b555)) +- **parameters:** ability to set `maxAge` and `decrypt` via environment variables ([#1384](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1384)) ([dcf6620](https://github.com/aws-powertools/powertools-lambda-typescript/commit/dcf6620f55004b69186cd69b0c42b1cdd9fd1ce4)) -# [1.7.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) +# [1.7.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) ### Features -- **logger:** add silent log level to suppress the emission of all logs ([#1347](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1347)) ([c82939e](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c82939ebdb82ae596cbad07be397794ee4b69fe5)) +- **logger:** add silent log level to suppress the emission of all logs ([#1347](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1347)) ([c82939e](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c82939ebdb82ae596cbad07be397794ee4b69fe5)) -# [1.6.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.5.1...v1.6.0) (2023-03-02) +# [1.6.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.5.1...v1.6.0) (2023-03-02) ### Bug Fixes -- **logger:** createChild not passing all parent's attributes ([#1267](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1267)) ([84ab4b9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/84ab4b911d17d687bdbe60ded31f1e2b6860feb3)) -- **logger:** middleware stores initial persistent attributes correctly ([#1329](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1329)) ([6b32304](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/6b3230489895dc1abdfc6ad56daeeb555fda529f)) +- **logger:** createChild not passing all parent's attributes ([#1267](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1267)) ([84ab4b9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/84ab4b911d17d687bdbe60ded31f1e2b6860feb3)) +- **logger:** middleware stores initial persistent attributes correctly ([#1329](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1329)) ([6b32304](https://github.com/aws-powertools/powertools-lambda-typescript/commit/6b3230489895dc1abdfc6ad56daeeb555fda529f)) ### Features -- **logger:** make loglevel types stricter ([#1313](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1313)) ([5af51d3](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/5af51d319dee68d7a7ba832721580d7a6e655249)) +- **logger:** make loglevel types stricter ([#1313](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1313)) ([5af51d3](https://github.com/aws-powertools/powertools-lambda-typescript/commit/5af51d319dee68d7a7ba832721580d7a6e655249)) -## [1.5.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.5.0...v1.5.1) (2023-01-13) +## [1.5.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.5.0...v1.5.1) (2023-01-13) ### Bug Fixes -- **logger:** logger throws TypeError when log item has BigInt value ([#1201](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1201)) ([a09e4df](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/a09e4dfbb2cef062c1178de3e3dbc2583aef7a91)) +- **logger:** logger throws TypeError when log item has BigInt value ([#1201](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1201)) ([a09e4df](https://github.com/aws-powertools/powertools-lambda-typescript/commit/a09e4dfbb2cef062c1178de3e3dbc2583aef7a91)) -# [1.5.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.4.1...v1.5.0) (2022-11-25) +# [1.5.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.4.1...v1.5.0) (2022-11-25) ### Bug Fixes -- **logger:** merge child logger options correctly ([#1178](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1178)) ([cb91374](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/cb9137436cc3a10d6c869506ddd07e35963ba8b2)) +- **logger:** merge child logger options correctly ([#1178](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1178)) ([cb91374](https://github.com/aws-powertools/powertools-lambda-typescript/commit/cb9137436cc3a10d6c869506ddd07e35963ba8b2)) ### Features -- **logger:** disable logs while testing with `jest --silent` in dev env ([#1165](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1165)) ([6f0c307](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/6f0c30728f31d60433b3afb6983c64110c28d27e)) -- **logger:** pretty printing logs in local and non-prod environment ([#1141](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1141)) ([8d52660](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/8d52660eb6b8324e284421c2484c45d9a0839346)) +- **logger:** disable logs while testing with `jest --silent` in dev env ([#1165](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1165)) ([6f0c307](https://github.com/aws-powertools/powertools-lambda-typescript/commit/6f0c30728f31d60433b3afb6983c64110c28d27e)) +- **logger:** pretty printing logs in local and non-prod environment ([#1141](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1141)) ([8d52660](https://github.com/aws-powertools/powertools-lambda-typescript/commit/8d52660eb6b8324e284421c2484c45d9a0839346)) -## [1.4.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.4.0...v1.4.1) (2022-11-09) +## [1.4.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.4.0...v1.4.1) (2022-11-09) **Note:** Version bump only for package @aws-lambda-powertools/logger -# [1.4.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.3.0...v1.4.0) (2022-10-27) +# [1.4.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.3.0...v1.4.0) (2022-10-27) ### Features -- **all:** moved EnvService to commons + exposed getXrayTraceId in tracer ([#1123](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1123)) ([c8e3c15](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c8e3c15b64142ebe6f43835a5917ecba26293a32)) +- **all:** moved EnvService to commons + exposed getXrayTraceId in tracer ([#1123](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1123)) ([c8e3c15](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c8e3c15b64142ebe6f43835a5917ecba26293a32)) -# [1.3.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.2.1...v1.3.0) (2022-10-17) +# [1.3.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.2.1...v1.3.0) (2022-10-17) ### Bug Fixes -- **all:** update version command to use lint-fix ([#1119](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1119)) ([6f14fb3](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/6f14fb3229882b1dd0c20d18c87a542993432da9)) -- **logger:** wait for decorated method return before clearing out state ([#1087](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1087)) ([133ed3c](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/133ed3c31ce1d99eb8f427f54721896781438ef7)) +- **all:** update version command to use lint-fix ([#1119](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1119)) ([6f14fb3](https://github.com/aws-powertools/powertools-lambda-typescript/commit/6f14fb3229882b1dd0c20d18c87a542993432da9)) +- **logger:** wait for decorated method return before clearing out state ([#1087](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1087)) ([133ed3c](https://github.com/aws-powertools/powertools-lambda-typescript/commit/133ed3c31ce1d99eb8f427f54721896781438ef7)) ### Reverts -- Revert "chore(release): v1.3.0 [skip ci]" ([237b99f](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/237b99f9f6eff5e6e26d779603cf13cd4422c156)) +- Revert "chore(release): v1.3.0 [skip ci]" ([237b99f](https://github.com/aws-powertools/powertools-lambda-typescript/commit/237b99f9f6eff5e6e26d779603cf13cd4422c156)) -## [1.2.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.2.0...v1.2.1) (2022-08-25) +## [1.2.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.2.0...v1.2.1) (2022-08-25) **Note:** Version bump only for package @aws-lambda-powertools/logger -# [1.2.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.1.1...v1.2.0) (2022-08-23) +# [1.2.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.1.1...v1.2.0) (2022-08-23) **Note:** Version bump only for package @aws-lambda-powertools/logger -## [1.1.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.1.0...v1.1.1) (2022-08-18) +## [1.1.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.1.0...v1.1.1) (2022-08-18) ### Bug Fixes -- **logger:** decorated class methods cannot access `this` ([#1060](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1060)) ([73990bb](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/73990bbcbbd9d5a6d6f55f553e4fd8f038654fa9)) +- **logger:** decorated class methods cannot access `this` ([#1060](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1060)) ([73990bb](https://github.com/aws-powertools/powertools-lambda-typescript/commit/73990bbcbbd9d5a6d6f55f553e4fd8f038654fa9)) -# [1.1.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.0.2...v1.1.0) (2022-08-12) +# [1.1.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.0.2...v1.1.0) (2022-08-12) ### Bug Fixes -- **logger:** fix clearstate bug when lambda handler throws ([#1045](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1045)) ([5ebd1cf](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/5ebd1cf44a2a3b6d99923e5bb942af3327325241)) +- **logger:** fix clearstate bug when lambda handler throws ([#1045](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1045)) ([5ebd1cf](https://github.com/aws-powertools/powertools-lambda-typescript/commit/5ebd1cf44a2a3b6d99923e5bb942af3327325241)) -## [1.0.2](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.0.1...v1.0.2) (2022-07-19) +## [1.0.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.0.1...v1.0.2) (2022-07-19) **Note:** Version bump only for package @aws-lambda-powertools/logger -## [1.0.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.12.0-rc.1...v1.0.1) (2022-07-14) +## [1.0.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.12.0-rc.1...v1.0.1) (2022-07-14) **Note:** Version bump only for package @aws-lambda-powertools/logger -# [0.12.0-rc.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.12.0-rc.0...v0.12.0-rc.1) (2022-07-14) +# [0.12.0-rc.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.12.0-rc.0...v0.12.0-rc.1) (2022-07-14) **Note:** Version bump only for package @aws-lambda-powertools/logger -# [0.12.0-rc.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.11.1-rc.0...v0.12.0-rc.0) (2022-07-14) +# [0.12.0-rc.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.11.1-rc.0...v0.12.0-rc.0) (2022-07-14) ### Bug Fixes -- **logger:** POWERTOOLS_LOGGER_LOG_EVENT precedence is respected ([#1015](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1015)) ([1cbb4db](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/1cbb4db4daf776e12f7dc2b383ac7fa561b7bada)) +- **logger:** POWERTOOLS_LOGGER_LOG_EVENT precedence is respected ([#1015](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1015)) ([1cbb4db](https://github.com/aws-powertools/powertools-lambda-typescript/commit/1cbb4db4daf776e12f7dc2b383ac7fa561b7bada)) ### Reverts -- Revert "chore(release): v0.12.0-rc.0 [skip ci]" ([9397f1d](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/9397f1d3624eb0bfbeb5e4c2702ae51e558a5b4a)) -- Revert "chore(release): v0.12.0-rc.0 [skip ci]" (#1017) ([51c18da](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/51c18da20db434f8b12f320e5074e3e0a146046e)), closes [#1017](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1017) +- Revert "chore(release): v0.12.0-rc.0 [skip ci]" ([9397f1d](https://github.com/aws-powertools/powertools-lambda-typescript/commit/9397f1d3624eb0bfbeb5e4c2702ae51e558a5b4a)) +- Revert "chore(release): v0.12.0-rc.0 [skip ci]" (#1017) ([51c18da](https://github.com/aws-powertools/powertools-lambda-typescript/commit/51c18da20db434f8b12f320e5074e3e0a146046e)), closes [#1017](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1017) -## [0.11.1-rc.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.11.0...v0.11.1-rc.0) (2022-06-24) +## [0.11.1-rc.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.11.0...v0.11.1-rc.0) (2022-06-24) **Note:** Version bump only for package @aws-lambda-powertools/logger -# [0.11.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.10.0...v0.11.0) (2022-06-23) +# [0.11.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.10.0...v0.11.0) (2022-06-23) ### Features -- **logger:** add clear state functionality ([#902](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/902)) ([fa1dacb](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/fa1dacb001503a0a607e0951499119a1a9c61545)) +- **logger:** add clear state functionality ([#902](https://github.com/aws-powertools/powertools-lambda-typescript/issues/902)) ([fa1dacb](https://github.com/aws-powertools/powertools-lambda-typescript/commit/fa1dacb001503a0a607e0951499119a1a9c61545)) -# [0.10.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.1...v0.10.0) (2022-06-02) +# [0.10.0](https://github.com/aws-powertools/powertools-lambda-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)) +- **all:** nodejs16x support ([#877](https://github.com/aws-powertools/powertools-lambda-typescript/issues/877)) ([d2b13c9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d2b13c945adb1a74b7c5f76d45f28a6979ce6429)) +- **logger:** add removeKeys functionality ([#901](https://github.com/aws-powertools/powertools-lambda-typescript/issues/901)) ([a0f72c2](https://github.com/aws-powertools/powertools-lambda-typescript/commit/a0f72c275270db33d382bff357f6054f552197e6)) -## [0.9.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) +## [0.9.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) ### Bug Fixes -- **logger:** enable logging of arbitrary objects ([#883](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/883)) ([5d34854](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/5d348543d3fbb48a98a9b2c34a1e8fa56b037adb)) +- **logger:** enable logging of arbitrary objects ([#883](https://github.com/aws-powertools/powertools-lambda-typescript/issues/883)) ([5d34854](https://github.com/aws-powertools/powertools-lambda-typescript/commit/5d348543d3fbb48a98a9b2c34a1e8fa56b037adb)) -# [0.9.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.1...v0.9.0) (2022-05-16) +# [0.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.8.1...v0.9.0) (2022-05-16) ### Bug Fixes -- **logger:** add xray_trace_id to every log ([#776](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/776)) ([11af21a](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/11af21ae236140e85d1503d355074c9ec254d90b)) +- **logger:** add xray_trace_id to every log ([#776](https://github.com/aws-powertools/powertools-lambda-typescript/issues/776)) ([11af21a](https://github.com/aws-powertools/powertools-lambda-typescript/commit/11af21ae236140e85d1503d355074c9ec254d90b)) -## [0.8.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) +## [0.8.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) ### Bug Fixes -- **logger:** change logging to use stdout ([#748](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/748)) ([0781a47](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/0781a479a6ae3c794f94c72b59cd0920073159a2)) +- **logger:** change logging to use stdout ([#748](https://github.com/aws-powertools/powertools-lambda-typescript/issues/748)) ([0781a47](https://github.com/aws-powertools/powertools-lambda-typescript/commit/0781a479a6ae3c794f94c72b59cd0920073159a2)) -# [0.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) +# [0.8.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) **Note:** Version bump only for package @aws-lambda-powertools/logger -## [0.7.2](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.1...v0.7.2) (2022-04-01) +## [0.7.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.7.1...v0.7.2) (2022-04-01) **Note:** Version bump only for package @aws-lambda-powertools/logger -## [0.7.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.0...v0.7.1) (2022-03-17) +## [0.7.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.7.0...v0.7.1) (2022-03-17) ### Bug Fixes -- **logger:** enable sequential invocation in e2e test ([#658](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/658)) ([800424b](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/800424bc77223682ad6cdcc9f35080aff30ba91e)) -- **logger:** fix handling of additional log keys ([#614](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/614)) ([8aab299](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/8aab29900c5fac8eb625eb747acbc23ceac8f6ba)) +- **logger:** enable sequential invocation in e2e test ([#658](https://github.com/aws-powertools/powertools-lambda-typescript/issues/658)) ([800424b](https://github.com/aws-powertools/powertools-lambda-typescript/commit/800424bc77223682ad6cdcc9f35080aff30ba91e)) +- **logger:** fix handling of additional log keys ([#614](https://github.com/aws-powertools/powertools-lambda-typescript/issues/614)) ([8aab299](https://github.com/aws-powertools/powertools-lambda-typescript/commit/8aab29900c5fac8eb625eb747acbc23ceac8f6ba)) -# [0.7.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.6.0...v0.7.0) (2022-03-08) +# [0.7.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.6.0...v0.7.0) (2022-03-08) ### Features -- **logger:** adopted Utility class & updated unit tests ([#550](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/550)) ([48f3487](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/48f34870d5bc3a5affcb70c8927859c56da6c5ff)) +- **logger:** adopted Utility class & updated unit tests ([#550](https://github.com/aws-powertools/powertools-lambda-typescript/issues/550)) ([48f3487](https://github.com/aws-powertools/powertools-lambda-typescript/commit/48f34870d5bc3a5affcb70c8927859c56da6c5ff)) -# [0.6.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.5.1...v0.6.0) (2022-02-17) +# [0.6.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.5.1...v0.6.0) (2022-02-17) ### Bug Fixes -- **logger:** fix logger attribute merging ([#535](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/535)) ([8180be1](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/8180be1ceb3f75bb7a35a7905cca867fb5eaa970)) +- **logger:** fix logger attribute merging ([#535](https://github.com/aws-powertools/powertools-lambda-typescript/issues/535)) ([8180be1](https://github.com/aws-powertools/powertools-lambda-typescript/commit/8180be1ceb3f75bb7a35a7905cca867fb5eaa970)) ### Features -- **logger:** add e2e tests for logger ([#529](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/529)) ([e736b65](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/e736b652c112b1c24c29eca8b1edfd87a79d1b2e)) +- **logger:** add e2e tests for logger ([#529](https://github.com/aws-powertools/powertools-lambda-typescript/issues/529)) ([e736b65](https://github.com/aws-powertools/powertools-lambda-typescript/commit/e736b652c112b1c24c29eca8b1edfd87a79d1b2e)) -## [0.5.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.5.0...v0.5.1) (2022-02-09) +## [0.5.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.5.0...v0.5.1) (2022-02-09) **Note:** Version bump only for package @aws-lambda-powertools/logger -# [0.5.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.4.0...v0.5.0) (2022-01-26) +# [0.5.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.4.0...v0.5.0) (2022-01-26) ### Bug Fixes -- **examples:** fix errors in logger and metrics examples ([#509](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/509)) ([c19b47c](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c19b47cb4cdb71e0ae404e9302226256d02fb7d5)) -- **logger|metrics:** properly return decorated class ([#489](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/489)) ([014c5bd](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/014c5bd7d5c807064af8f04c16d297a8fe3bc0d9)) +- **examples:** fix errors in logger and metrics examples ([#509](https://github.com/aws-powertools/powertools-lambda-typescript/issues/509)) ([c19b47c](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c19b47cb4cdb71e0ae404e9302226256d02fb7d5)) +- **logger|metrics:** properly return decorated class ([#489](https://github.com/aws-powertools/powertools-lambda-typescript/issues/489)) ([014c5bd](https://github.com/aws-powertools/powertools-lambda-typescript/commit/014c5bd7d5c807064af8f04c16d297a8fe3bc0d9)) ### Features -- **all:** make `@middy/core` optional ([#511](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/511)) ([1107f96](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/1107f96e9b4c678d34ee36757366f150d99be4dc)) +- **all:** make `@middy/core` optional ([#511](https://github.com/aws-powertools/powertools-lambda-typescript/issues/511)) ([1107f96](https://github.com/aws-powertools/powertools-lambda-typescript/commit/1107f96e9b4c678d34ee36757366f150d99be4dc)) -# [0.4.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.3...v0.4.0) (2022-01-20) +# [0.4.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.3...v0.4.0) (2022-01-20) ### Features -- **logger:** JSDOCS support ([#491](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/491)) ([cd2c2d9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/cd2c2d93a5822e26d3113a042be1dd0473aa6b2a)) +- **logger:** JSDOCS support ([#491](https://github.com/aws-powertools/powertools-lambda-typescript/issues/491)) ([cd2c2d9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/cd2c2d93a5822e26d3113a042be1dd0473aa6b2a)) -## [0.3.3](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.2...v0.3.3) (2022-01-17) +## [0.3.3](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.2...v0.3.3) (2022-01-17) **Note:** Version bump only for package @aws-lambda-powertools/logger -## [0.3.2](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.1...v0.3.2) (2022-01-17) +## [0.3.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.1...v0.3.2) (2022-01-17) ### Bug Fixes -- export LogFormatter + update docs ([#479](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/479)) ([7f91566](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/7f91566d4ff34887914009e2424df7c39a96cd71)) +- export LogFormatter + update docs ([#479](https://github.com/aws-powertools/powertools-lambda-typescript/issues/479)) ([7f91566](https://github.com/aws-powertools/powertools-lambda-typescript/commit/7f91566d4ff34887914009e2424df7c39a96cd71)) -## [0.3.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.0...v0.3.1) (2022-01-14) +## [0.3.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.0...v0.3.1) (2022-01-14) ### Bug Fixes -- **all:** fix latest release broken by change of npm pack result on common ([#470](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/470)) ([2c3df93](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/2c3df9378ac191f6da6cb5f458f6227d6466cafa)), closes [#417](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/417) +- **all:** fix latest release broken by change of npm pack result on common ([#470](https://github.com/aws-powertools/powertools-lambda-typescript/issues/470)) ([2c3df93](https://github.com/aws-powertools/powertools-lambda-typescript/commit/2c3df9378ac191f6da6cb5f458f6227d6466cafa)), closes [#417](https://github.com/aws-powertools/powertools-lambda-typescript/issues/417) -# [0.3.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.2.0...v0.3.0) (2022-01-14) +# [0.3.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.2.0...v0.3.0) (2022-01-14) ### Bug Fixes -- **build:** Update contributing.md and fix npm ci ([#417](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/417)) ([279ad98](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/279ad984f71d5b157a13cffeab52602f2c09c1f8)), closes [#415](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/415) [#415](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/415) +- **build:** Update contributing.md and fix npm ci ([#417](https://github.com/aws-powertools/powertools-lambda-typescript/issues/417)) ([279ad98](https://github.com/aws-powertools/powertools-lambda-typescript/commit/279ad984f71d5b157a13cffeab52602f2c09c1f8)), closes [#415](https://github.com/aws-powertools/powertools-lambda-typescript/issues/415) [#415](https://github.com/aws-powertools/powertools-lambda-typescript/issues/415) ### Features -- **all:** Update to examples use released version (0.2.0) ([#405](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/405)) ([d5e0620](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d5e0620473f31d0839c027a76a88dcdcb98c84de)) +- **all:** Update to examples use released version (0.2.0) ([#405](https://github.com/aws-powertools/powertools-lambda-typescript/issues/405)) ([d5e0620](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d5e0620473f31d0839c027a76a88dcdcb98c84de)) # 0.2.0 (2022-01-05) ### Features -- _logger:_ beta release (#24 (https://github.com/awslabs/aws-lambda-powertools-python/issues/24)) +- _logger:_ beta release (#24 (https://github.com/aws-powertools/powertools-lambda-python/issues/24)) ### Contributor List: diff --git a/packages/logger/LICENSE-THIRD-PARTY b/packages/logger/LICENSE-THIRD-PARTY index dee363b44c..1a31f4afa3 100644 --- a/packages/logger/LICENSE-THIRD-PARTY +++ b/packages/logger/LICENSE-THIRD-PARTY @@ -1,5 +1,5 @@ @aws-lambda-powertools/commons -0.0.2 +0.0.2 license: MIT* authors: Amazon Web Services diff --git a/packages/logger/README.md b/packages/logger/README.md index 9b813c9cfb..8ae8220792 100644 --- a/packages/logger/README.md +++ b/packages/logger/README.md @@ -1,12 +1,12 @@ # Powertools for AWS Lambda (TypeScript) -Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#features). +Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://docs.powertools.aws.dev/lambda-typescript/latest/#features). You can use the library in both TypeScript and JavaScript code bases. -> Also available in [Python](https://github.com/awslabs/aws-lambda-powertools-python), [Java](https://github.com/awslabs/aws-lambda-powertools-java), and [.NET](https://awslabs.github.io/aws-lambda-powertools-dotnet/). +> Also available in [Python](https://github.com/aws-powertools/powertools-lambda-python), [Java](https://github.com/aws-powertools/powertools-lambda-java), and [.NET](https://docs.powertools.aws.dev/lambda-dotnet/). -**[Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[npm](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/roadmap)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples)** | **[Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo)** +**[Documentation](https://docs.powertools.aws.dev/lambda-typescript/)** | **[npm](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://docs.powertools.aws.dev/lambda-typescript/latest/roadmap)** | **[Examples](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples)** | **[Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo)** ## Table of contents @@ -27,14 +27,14 @@ You can use the library in both TypeScript and JavaScript code bases. ## Features -* **[Tracer](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions -* **[Logger](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context -* **[Metrics](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) -* **[Parameters (beta)](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB +* **[Tracer](https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions +* **[Logger](https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context +* **[Metrics](https://docs.powertools.aws.dev/lambda-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) +* **[Parameters (beta)](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB ## Getting started -Find the complete project's [documentation here](https://awslabs.github.io/aws-lambda-powertools-typescript). +Find the complete project's [documentation here](https://docs.powertools.aws.dev/lambda-typescript). ### Installation @@ -50,18 +50,18 @@ npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lam Or refer to the installation guide of each utility: -👉 [Installation guide for the **Tracer** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer#getting-started) +👉 [Installation guide for the **Tracer** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer#getting-started) -👉 [Installation guide for the **Logger** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger#getting-started) +👉 [Installation guide for the **Logger** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger#getting-started) -👉 [Installation guide for the **Metrics** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics#getting-started) +👉 [Installation guide for the **Metrics** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/metrics#getting-started) -👉 [Installation guide for the **Parameters** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/#getting-started) +👉 [Installation guide for the **Parameters** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/#getting-started) ### Examples -* [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) -* [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) +* [CDK](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/cdk) +* [SAM](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/sam) ### Serverless TypeScript Demo application @@ -70,12 +70,12 @@ You can find instructions on how to deploy and load test this application in the ## Contribute -If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/main/CONTRIBUTING.md). +If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/CONTRIBUTING.md). ## Roadmap The roadmap of Powertools for AWS Lambda (TypeScript) is driven by customers’ demand. -Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/awslabs/aws-lambda-powertools-typescript/issues), or [creating new ones](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new/choose), in this GitHub repository. +Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues), or [creating new ones](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new/choose), in this GitHub repository. ## Connect @@ -86,7 +86,7 @@ Help us prioritize upcoming functionalities or utilities by [upvoting existing R ### Becoming a reference customer -Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Lambda Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue. +Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Lambda Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue. The following companies, among others, use Powertools: @@ -100,7 +100,7 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda-typescript/latest/we_made_this). ### Using Lambda Layer diff --git a/packages/logger/package.json b/packages/logger/package.json index c4954e6bd1..7b7973429d 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -27,7 +27,7 @@ "*.ts": "npm run lint-fix", "*.js": "npm run lint-fix" }, - "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logger#readme", + "homepage": "https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/packages/logger#readme", "license": "MIT-0", "main": "./lib/index.js", "types": "./lib/index.d.ts", @@ -39,10 +39,10 @@ ], "repository": { "type": "git", - "url": "git+https://github.com/awslabs/aws-lambda-powertools-typescript.git" + "url": "git+https://github.com/aws-powertools/powertools-lambda-typescript.git" }, "bugs": { - "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" + "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, "dependencies": { "@aws-lambda-powertools/commons": "^1.9.0", diff --git a/packages/logger/src/Logger.ts b/packages/logger/src/Logger.ts index bb20e957e9..1396c16f91 100644 --- a/packages/logger/src/Logger.ts +++ b/packages/logger/src/Logger.ts @@ -34,7 +34,7 @@ import type { * * ## Usage * - * For more usage examples, see [our documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger/). * * ### Basic usage * @@ -109,7 +109,7 @@ import type { * * @class * @implements {ClassThatLogs} - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger/ + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger/ */ class Logger extends Utility implements ClassThatLogs { /** diff --git a/packages/logger/src/config/ConfigServiceInterface.ts b/packages/logger/src/config/ConfigServiceInterface.ts index 3b6c25e7db..7cbee088b6 100644 --- a/packages/logger/src/config/ConfigServiceInterface.ts +++ b/packages/logger/src/config/ConfigServiceInterface.ts @@ -3,7 +3,7 @@ * * @interface * @see https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#environment-variables + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/#environment-variables */ interface ConfigServiceInterface { /** diff --git a/packages/logger/src/config/EnvironmentVariablesService.ts b/packages/logger/src/config/EnvironmentVariablesService.ts index 0472449455..7b62cabaa4 100644 --- a/packages/logger/src/config/EnvironmentVariablesService.ts +++ b/packages/logger/src/config/EnvironmentVariablesService.ts @@ -13,7 +13,7 @@ import { EnvironmentVariablesService as CommonEnvironmentVariablesService } from * @extends {CommonEnvironmentVariablesService} * @implements {ConfigServiceInterface} * @see https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#environment-variables + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/#environment-variables */ class EnvironmentVariablesService extends CommonEnvironmentVariablesService diff --git a/packages/metrics/CHANGELOG.md b/packages/metrics/CHANGELOG.md index 5c06331a83..62712cf90e 100644 --- a/packages/metrics/CHANGELOG.md +++ b/packages/metrics/CHANGELOG.md @@ -3,201 +3,201 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -# [1.9.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) +# [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) **Note:** Version bump only for package @aws-lambda-powertools/metrics -# [1.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) +# [1.8.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) ### Features -- **metrics:** log warning on empty metrics ([#1397](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1397)) ([31ae936](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/31ae936831177f58edff43ce3850ed13c964fc87)) +- **metrics:** log warning on empty metrics ([#1397](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1397)) ([31ae936](https://github.com/aws-powertools/powertools-lambda-typescript/commit/31ae936831177f58edff43ce3850ed13c964fc87)) -# [1.7.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) +# [1.7.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) ### Features -- **metrics:** support high resolution metrics ([#1369](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1369)) ([79a321b](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/79a321b199ef51a024dc25b83673baf2eb03de69)) +- **metrics:** support high resolution metrics ([#1369](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1369)) ([79a321b](https://github.com/aws-powertools/powertools-lambda-typescript/commit/79a321b199ef51a024dc25b83673baf2eb03de69)) -# [1.6.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.5.1...v1.6.0) (2023-03-02) +# [1.6.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.5.1...v1.6.0) (2023-03-02) **Note:** Version bump only for package @aws-lambda-powertools/metrics -## [1.5.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.5.0...v1.5.1) (2023-01-13) +## [1.5.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.5.0...v1.5.1) (2023-01-13) **Note:** Version bump only for package @aws-lambda-powertools/metrics -# [1.5.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.4.1...v1.5.0) (2022-11-25) +# [1.5.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.4.1...v1.5.0) (2022-11-25) **Note:** Version bump only for package @aws-lambda-powertools/metrics -## [1.4.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.4.0...v1.4.1) (2022-11-09) +## [1.4.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.4.0...v1.4.1) (2022-11-09) ### Bug Fixes -- **metrics:** store service name in defaultDimensions to avoid clearing it ([#1146](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1146)) ([a979202](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/a979202ae0563f8ce00dee98bbf15d0bcfcfd3cc)) +- **metrics:** store service name in defaultDimensions to avoid clearing it ([#1146](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1146)) ([a979202](https://github.com/aws-powertools/powertools-lambda-typescript/commit/a979202ae0563f8ce00dee98bbf15d0bcfcfd3cc)) -# [1.4.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.3.0...v1.4.0) (2022-10-27) +# [1.4.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.3.0...v1.4.0) (2022-10-27) ### Bug Fixes -- **metrics:** metadata and dimensions not cleared on publish ([#1129](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1129)) ([b209c30](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/b209c30df92da07875f204f7f211294feea729db)) +- **metrics:** metadata and dimensions not cleared on publish ([#1129](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1129)) ([b209c30](https://github.com/aws-powertools/powertools-lambda-typescript/commit/b209c30df92da07875f204f7f211294feea729db)) ### Features -- **all:** moved EnvService to commons + exposed getXrayTraceId in tracer ([#1123](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1123)) ([c8e3c15](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c8e3c15b64142ebe6f43835a5917ecba26293a32)) +- **all:** moved EnvService to commons + exposed getXrayTraceId in tracer ([#1123](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1123)) ([c8e3c15](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c8e3c15b64142ebe6f43835a5917ecba26293a32)) -# [1.3.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.2.1...v1.3.0) (2022-10-17) +# [1.3.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.2.1...v1.3.0) (2022-10-17) ### Bug Fixes -- **all:** update version command to use lint-fix ([#1119](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1119)) ([6f14fb3](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/6f14fb3229882b1dd0c20d18c87a542993432da9)) -- captureColdStartMetric and throwOnEmptyMetrics when set to false was interpreted as true ([#1090](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1090)) ([127aad4](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/127aad4698412d72368c093812dd4034839119ca)) +- **all:** update version command to use lint-fix ([#1119](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1119)) ([6f14fb3](https://github.com/aws-powertools/powertools-lambda-typescript/commit/6f14fb3229882b1dd0c20d18c87a542993432da9)) +- captureColdStartMetric and throwOnEmptyMetrics when set to false was interpreted as true ([#1090](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1090)) ([127aad4](https://github.com/aws-powertools/powertools-lambda-typescript/commit/127aad4698412d72368c093812dd4034839119ca)) ### Reverts -- Revert "chore(release): v1.3.0 [skip ci]" ([237b99f](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/237b99f9f6eff5e6e26d779603cf13cd4422c156)) +- Revert "chore(release): v1.3.0 [skip ci]" ([237b99f](https://github.com/aws-powertools/powertools-lambda-typescript/commit/237b99f9f6eff5e6e26d779603cf13cd4422c156)) -## [1.2.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.2.0...v1.2.1) (2022-08-25) +## [1.2.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.2.0...v1.2.1) (2022-08-25) **Note:** Version bump only for package @aws-lambda-powertools/metrics -# [1.2.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.1.1...v1.2.0) (2022-08-23) +# [1.2.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.1.1...v1.2.0) (2022-08-23) ### Features -- **metrics:** increase maximum dimensions to 29 ([#1072](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1072)) ([7b9a027](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/7b9a0278ccf801a521cab3f74372a4748231fd11)) +- **metrics:** increase maximum dimensions to 29 ([#1072](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1072)) ([7b9a027](https://github.com/aws-powertools/powertools-lambda-typescript/commit/7b9a0278ccf801a521cab3f74372a4748231fd11)) -## [1.1.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.1.0...v1.1.1) (2022-08-18) +## [1.1.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.1.0...v1.1.1) (2022-08-18) **Note:** Version bump only for package @aws-lambda-powertools/metrics -# [1.1.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.0.2...v1.1.0) (2022-08-12) +# [1.1.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.0.2...v1.1.0) (2022-08-12) **Note:** Version bump only for package @aws-lambda-powertools/metrics -## [1.0.2](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.0.1...v1.0.2) (2022-07-19) +## [1.0.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.0.1...v1.0.2) (2022-07-19) **Note:** Version bump only for package @aws-lambda-powertools/metrics -## [1.0.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.12.0-rc.1...v1.0.1) (2022-07-14) +## [1.0.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.12.0-rc.1...v1.0.1) (2022-07-14) **Note:** Version bump only for package @aws-lambda-powertools/metrics -# [0.12.0-rc.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.12.0-rc.0...v0.12.0-rc.1) (2022-07-14) +# [0.12.0-rc.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.12.0-rc.0...v0.12.0-rc.1) (2022-07-14) **Note:** Version bump only for package @aws-lambda-powertools/metrics -# [0.12.0-rc.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.11.1-rc.0...v0.12.0-rc.0) (2022-07-14) +# [0.12.0-rc.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.11.1-rc.0...v0.12.0-rc.0) (2022-07-14) ### Reverts -- Revert "chore(release): v0.12.0-rc.0 [skip ci]" ([9397f1d](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/9397f1d3624eb0bfbeb5e4c2702ae51e558a5b4a)) -- Revert "chore(release): v0.12.0-rc.0 [skip ci]" (#1017) ([51c18da](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/51c18da20db434f8b12f320e5074e3e0a146046e)), closes [#1017](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1017) +- Revert "chore(release): v0.12.0-rc.0 [skip ci]" ([9397f1d](https://github.com/aws-powertools/powertools-lambda-typescript/commit/9397f1d3624eb0bfbeb5e4c2702ae51e558a5b4a)) +- Revert "chore(release): v0.12.0-rc.0 [skip ci]" (#1017) ([51c18da](https://github.com/aws-powertools/powertools-lambda-typescript/commit/51c18da20db434f8b12f320e5074e3e0a146046e)), closes [#1017](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1017) -## [0.11.1-rc.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.11.0...v0.11.1-rc.0) (2022-06-24) +## [0.11.1-rc.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.11.0...v0.11.1-rc.0) (2022-06-24) **Note:** Version bump only for package @aws-lambda-powertools/metrics -# [0.11.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.10.0...v0.11.0) (2022-06-23) +# [0.11.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.10.0...v0.11.0) (2022-06-23) **Note:** Version bump only for package @aws-lambda-powertools/metrics -# [0.10.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.1...v0.10.0) (2022-06-02) +# [0.10.0](https://github.com/aws-powertools/powertools-lambda-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)) +- **all:** nodejs16x support ([#877](https://github.com/aws-powertools/powertools-lambda-typescript/issues/877)) ([d2b13c9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d2b13c945adb1a74b7c5f76d45f28a6979ce6429)) -## [0.9.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) +## [0.9.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) **Note:** Version bump only for package @aws-lambda-powertools/metrics -# [0.9.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.1...v0.9.0) (2022-05-16) +# [0.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.8.1...v0.9.0) (2022-05-16) **Note:** Version bump only for package @aws-lambda-powertools/metrics -## [0.8.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) +## [0.8.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) **Note:** Version bump only for package @aws-lambda-powertools/metrics -# [0.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) +# [0.8.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) **Note:** Version bump only for package @aws-lambda-powertools/metrics -## [0.7.2](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.1...v0.7.2) (2022-04-01) +## [0.7.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.7.1...v0.7.2) (2022-04-01) **Note:** Version bump only for package @aws-lambda-powertools/metrics -## [0.7.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.0...v0.7.1) (2022-03-17) +## [0.7.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.7.0...v0.7.1) (2022-03-17) ### Bug Fixes -- **tracer, metrics:** use polling instead of fixed wait in e2e tests ([#654](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/654)) ([6d4ab75](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/6d4ab751bc98eb823d2a68b4973fa9f8405971a2)) +- **tracer, metrics:** use polling instead of fixed wait in e2e tests ([#654](https://github.com/aws-powertools/powertools-lambda-typescript/issues/654)) ([6d4ab75](https://github.com/aws-powertools/powertools-lambda-typescript/commit/6d4ab751bc98eb823d2a68b4973fa9f8405971a2)) -# [0.7.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.6.0...v0.7.0) (2022-03-08) +# [0.7.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.6.0...v0.7.0) (2022-03-08) ### Features -- **metrics:** adopted Utility class ([#548](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/548)) ([672e6a8](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/672e6a82a2c66f99153c63a53e9d31481afd897a)) +- **metrics:** adopted Utility class ([#548](https://github.com/aws-powertools/powertools-lambda-typescript/issues/548)) ([672e6a8](https://github.com/aws-powertools/powertools-lambda-typescript/commit/672e6a82a2c66f99153c63a53e9d31481afd897a)) -# [0.6.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.5.1...v0.6.0) (2022-02-17) +# [0.6.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.5.1...v0.6.0) (2022-02-17) **Note:** Version bump only for package @aws-lambda-powertools/metrics -## [0.5.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.5.0...v0.5.1) (2022-02-09) +## [0.5.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.5.0...v0.5.1) (2022-02-09) ### Reverts -- Revert "build(deps-dev): bump aws-cdk from 1.139.0 to 1.143.0 (#532)" (#544) ([e96c9ba](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/e96c9ba5bd4f738e5ed7c5850e06856a8c69bff1)), closes [#532](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/532) [#544](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/544) -- Revert "build(deps-dev): bump @aws-cdk/aws-lambda-nodejs from 1.139.0 to 1.143.0 (#531)" (#545) ([7dffbd8](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/7dffbd8708555fcc9817ea4373ccf71b0aea3c89)), closes [#531](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/531) [#545](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/545) +- Revert "build(deps-dev): bump aws-cdk from 1.139.0 to 1.143.0 (#532)" (#544) ([e96c9ba](https://github.com/aws-powertools/powertools-lambda-typescript/commit/e96c9ba5bd4f738e5ed7c5850e06856a8c69bff1)), closes [#532](https://github.com/aws-powertools/powertools-lambda-typescript/issues/532) [#544](https://github.com/aws-powertools/powertools-lambda-typescript/issues/544) +- Revert "build(deps-dev): bump @aws-cdk/aws-lambda-nodejs from 1.139.0 to 1.143.0 (#531)" (#545) ([7dffbd8](https://github.com/aws-powertools/powertools-lambda-typescript/commit/7dffbd8708555fcc9817ea4373ccf71b0aea3c89)), closes [#531](https://github.com/aws-powertools/powertools-lambda-typescript/issues/531) [#545](https://github.com/aws-powertools/powertools-lambda-typescript/issues/545) -# [0.5.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.4.0...v0.5.0) (2022-01-26) +# [0.5.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.4.0...v0.5.0) (2022-01-26) ### Bug Fixes -- **examples:** fix errors in logger and metrics examples ([#509](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/509)) ([c19b47c](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c19b47cb4cdb71e0ae404e9302226256d02fb7d5)) -- **logger|metrics:** properly return decorated class ([#489](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/489)) ([014c5bd](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/014c5bd7d5c807064af8f04c16d297a8fe3bc0d9)) +- **examples:** fix errors in logger and metrics examples ([#509](https://github.com/aws-powertools/powertools-lambda-typescript/issues/509)) ([c19b47c](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c19b47cb4cdb71e0ae404e9302226256d02fb7d5)) +- **logger|metrics:** properly return decorated class ([#489](https://github.com/aws-powertools/powertools-lambda-typescript/issues/489)) ([014c5bd](https://github.com/aws-powertools/powertools-lambda-typescript/commit/014c5bd7d5c807064af8f04c16d297a8fe3bc0d9)) ### Features -- **all:** make `@middy/core` optional ([#511](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/511)) ([1107f96](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/1107f96e9b4c678d34ee36757366f150d99be4dc)) +- **all:** make `@middy/core` optional ([#511](https://github.com/aws-powertools/powertools-lambda-typescript/issues/511)) ([1107f96](https://github.com/aws-powertools/powertools-lambda-typescript/commit/1107f96e9b4c678d34ee36757366f150d99be4dc)) -# [0.4.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.3...v0.4.0) (2022-01-20) +# [0.4.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.3...v0.4.0) (2022-01-20) **Note:** Version bump only for package @aws-lambda-powertools/metrics -## [0.3.3](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.2...v0.3.3) (2022-01-17) +## [0.3.3](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.2...v0.3.3) (2022-01-17) **Note:** Version bump only for package @aws-lambda-powertools/metrics -## [0.3.2](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.1...v0.3.2) (2022-01-17) +## [0.3.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.1...v0.3.2) (2022-01-17) **Note:** Version bump only for package @aws-lambda-powertools/metrics -## [0.3.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.0...v0.3.1) (2022-01-14) +## [0.3.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.0...v0.3.1) (2022-01-14) ### Bug Fixes -- **all:** fix latest release broken by change of npm pack result on common ([#470](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/470)) ([2c3df93](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/2c3df9378ac191f6da6cb5f458f6227d6466cafa)), closes [#417](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/417) +- **all:** fix latest release broken by change of npm pack result on common ([#470](https://github.com/aws-powertools/powertools-lambda-typescript/issues/470)) ([2c3df93](https://github.com/aws-powertools/powertools-lambda-typescript/commit/2c3df9378ac191f6da6cb5f458f6227d6466cafa)), closes [#417](https://github.com/aws-powertools/powertools-lambda-typescript/issues/417) -# [0.3.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.2.0...v0.3.0) (2022-01-14) +# [0.3.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.2.0...v0.3.0) (2022-01-14) ### Bug Fixes -- **build:** Fix linting issue and add linting to the pre-push hook ([#440](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/440)) ([e7bc53c](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/e7bc53c38b2a906c6952a83c5262db521ea468fb)) -- **build:** Update contributing.md and fix npm ci ([#417](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/417)) ([279ad98](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/279ad984f71d5b157a13cffeab52602f2c09c1f8)), closes [#415](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/415) [#415](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/415) -- **metrics:** Rename purgeStoredMetrics() function usage in CDK example ([#424](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/424)) ([02f0eae](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/02f0eae2c378bd5562facf032fb94a25c69f66df)) +- **build:** Fix linting issue and add linting to the pre-push hook ([#440](https://github.com/aws-powertools/powertools-lambda-typescript/issues/440)) ([e7bc53c](https://github.com/aws-powertools/powertools-lambda-typescript/commit/e7bc53c38b2a906c6952a83c5262db521ea468fb)) +- **build:** Update contributing.md and fix npm ci ([#417](https://github.com/aws-powertools/powertools-lambda-typescript/issues/417)) ([279ad98](https://github.com/aws-powertools/powertools-lambda-typescript/commit/279ad984f71d5b157a13cffeab52602f2c09c1f8)), closes [#415](https://github.com/aws-powertools/powertools-lambda-typescript/issues/415) [#415](https://github.com/aws-powertools/powertools-lambda-typescript/issues/415) +- **metrics:** Rename purgeStoredMetrics() function usage in CDK example ([#424](https://github.com/aws-powertools/powertools-lambda-typescript/issues/424)) ([02f0eae](https://github.com/aws-powertools/powertools-lambda-typescript/commit/02f0eae2c378bd5562facf032fb94a25c69f66df)) ### Features -- **all:** Update to examples use released version (0.2.0) ([#405](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/405)) ([d5e0620](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d5e0620473f31d0839c027a76a88dcdcb98c84de)) +- **all:** Update to examples use released version (0.2.0) ([#405](https://github.com/aws-powertools/powertools-lambda-typescript/issues/405)) ([d5e0620](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d5e0620473f31d0839c027a76a88dcdcb98c84de)) # 0.2.0 (2022-01-05) ### Features -- _metrics:_ beta release (#25 (https://github.com/awslabs/aws-lambda-powertools-python/issues/25)) +- _metrics:_ beta release (#25 (https://github.com/aws-powertools/powertools-lambda-python/issues/25)) ### Contributor List: diff --git a/packages/metrics/LICENSE-THIRD-PARTY b/packages/metrics/LICENSE-THIRD-PARTY index ff4aaa6d51..971ce64ff8 100644 --- a/packages/metrics/LICENSE-THIRD-PARTY +++ b/packages/metrics/LICENSE-THIRD-PARTY @@ -1,5 +1,5 @@ @aws-lambda-powertools/commons -0.0.2 +0.0.2 license: MIT* authors: Amazon Web Services diff --git a/packages/metrics/README.md b/packages/metrics/README.md index cdf50609ab..55b790dc15 100644 --- a/packages/metrics/README.md +++ b/packages/metrics/README.md @@ -1,12 +1,12 @@ # Powertools for AWS Lambda (TypeScript) -Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#features). +Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://docs.powertools.aws.dev/lambda-typescript/latest/#features). You can use the library in both TypeScript and JavaScript code bases. -> Also available in [Python](https://github.com/awslabs/aws-lambda-powertools-python), [Java](https://github.com/awslabs/aws-lambda-powertools-java), and [.NET](https://awslabs.github.io/aws-lambda-powertools-dotnet/). +> Also available in [Python](https://github.com/aws-powertools/powertools-lambda-python), [Java](https://github.com/aws-powertools/powertools-lambda-java), and [.NET](https://docs.powertools.aws.dev/lambda-dotnet/). -**[Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[npm](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/roadmap)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples)** | **[Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo)** +**[Documentation](https://docs.powertools.aws.dev/lambda-typescript/)** | **[npm](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://docs.powertools.aws.dev/lambda-typescript/latest/roadmap)** | **[Examples](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples)** | **[Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo)** ## Table of contents @@ -27,14 +27,14 @@ You can use the library in both TypeScript and JavaScript code bases. ## Features -* **[Tracer](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions -* **[Logger](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context -* **[Metrics](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) -* **[Parameters (beta)](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB +* **[Tracer](https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions +* **[Logger](https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context +* **[Metrics](https://docs.powertools.aws.dev/lambda-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) +* **[Parameters (beta)](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB ## Getting started -Find the complete project's [documentation here](https://awslabs.github.io/aws-lambda-powertools-typescript). +Find the complete project's [documentation here](https://docs.powertools.aws.dev/lambda-typescript). ### Installation @@ -49,18 +49,18 @@ npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lam Or refer to the installation guide of each utility: -👉 [Installation guide for the **Tracer** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer#getting-started) +👉 [Installation guide for the **Tracer** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer#getting-started) -👉 [Installation guide for the **Logger** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger#getting-started) +👉 [Installation guide for the **Logger** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger#getting-started) -👉 [Installation guide for the **Metrics** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics#getting-started) +👉 [Installation guide for the **Metrics** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/metrics#getting-started) -👉 [Installation guide for the **Parameters** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/#getting-started) +👉 [Installation guide for the **Parameters** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/#getting-started) ### Examples -* [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) -* [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) +* [CDK](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/cdk) +* [SAM](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/sam) ### Serverless TypeScript Demo application @@ -69,12 +69,12 @@ You can find instructions on how to deploy and load test this application in the ## Contribute -If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/main/CONTRIBUTING.md). +If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/CONTRIBUTING.md). ## Roadmap The roadmap of Powertools for AWS Lambda (TypeScript) is driven by customers’ demand. -Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/awslabs/aws-lambda-powertools-typescript/issues), or [creating new ones](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new/choose), in this GitHub repository. +Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues), or [creating new ones](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new/choose), in this GitHub repository. ## Connect @@ -85,7 +85,7 @@ Help us prioritize upcoming functionalities or utilities by [upvoting existing R ### Becoming a reference customer -Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue. +Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue. The following companies, among others, use Powertools: @@ -99,7 +99,7 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda-typescript/latest/we_made_this). ### Using Lambda Layer diff --git a/packages/metrics/package.json b/packages/metrics/package.json index 5b8f30d1c0..767158c707 100644 --- a/packages/metrics/package.json +++ b/packages/metrics/package.json @@ -27,7 +27,7 @@ "*.ts": "npm run lint-fix", "*.js": "npm run lint-fix" }, - "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/metrics#readme", + "homepage": "https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/packages/metrics#readme", "license": "MIT-0", "main": "./lib/index.js", "types": "./lib/index.d.ts", @@ -41,10 +41,10 @@ ], "repository": { "type": "git", - "url": "git+https://github.com/awslabs/aws-lambda-powertools-typescript.git" + "url": "git+https://github.com/aws-powertools/powertools-lambda-typescript.git" }, "bugs": { - "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" + "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, "dependencies": { "@aws-lambda-powertools/commons": "^1.9.0" diff --git a/packages/parameters/CHANGELOG.md b/packages/parameters/CHANGELOG.md index 4df59dee30..335d4cf257 100644 --- a/packages/parameters/CHANGELOG.md +++ b/packages/parameters/CHANGELOG.md @@ -3,26 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -# [1.9.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) +# [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) ### Features -- **parameters:** add adaptive types to SecretsProvider ([#1411](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1411)) ([5c6d527](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/5c6d527b0ad983e893ba07f8a334b4085b6ae6a7)) +- **parameters:** add adaptive types to SecretsProvider ([#1411](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1411)) ([5c6d527](https://github.com/aws-powertools/powertools-lambda-typescript/commit/5c6d527b0ad983e893ba07f8a334b4085b6ae6a7)) -# [1.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) +# [1.8.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) ### Bug Fixes -- **parameters:** type import path in AppConfigProvider ([#1388](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1388)) ([40a1a24](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/40a1a24de50ee086f76ab9c78d5fc03e5e7945cf)) +- **parameters:** type import path in AppConfigProvider ([#1388](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1388)) ([40a1a24](https://github.com/aws-powertools/powertools-lambda-typescript/commit/40a1a24de50ee086f76ab9c78d5fc03e5e7945cf)) ### Features -- **parameters:** ability to set `maxAge` and `decrypt` via environment variables ([#1384](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1384)) ([dcf6620](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/dcf6620f55004b69186cd69b0c42b1cdd9fd1ce4)) -- **parameters:** add `clearCaches` function ([#1382](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1382)) ([ec49023](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/ec49023c44c3873ba5396a45ee9b2a8ee031e84b)) -- **parameters:** stronger types for SSM getParameter ([#1387](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1387)) ([9d53942](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/9d53942fdd272213cf39c7fa87ffa78513dff37d)) +- **parameters:** ability to set `maxAge` and `decrypt` via environment variables ([#1384](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1384)) ([dcf6620](https://github.com/aws-powertools/powertools-lambda-typescript/commit/dcf6620f55004b69186cd69b0c42b1cdd9fd1ce4)) +- **parameters:** add `clearCaches` function ([#1382](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1382)) ([ec49023](https://github.com/aws-powertools/powertools-lambda-typescript/commit/ec49023c44c3873ba5396a45ee9b2a8ee031e84b)) +- **parameters:** stronger types for SSM getParameter ([#1387](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1387)) ([9d53942](https://github.com/aws-powertools/powertools-lambda-typescript/commit/9d53942fdd272213cf39c7fa87ffa78513dff37d)) -# [1.7.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) +# [1.7.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) ### Features -- **parameters:** AppConfigProvider to return the last valid value when the API returns empty value on subsequent calls ([#1365](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1365)) ([97339d9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/97339d9336ec67568e9e7fd079b3cfe006da1bba)) +- **parameters:** AppConfigProvider to return the last valid value when the API returns empty value on subsequent calls ([#1365](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1365)) ([97339d9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/97339d9336ec67568e9e7fd079b3cfe006da1bba)) diff --git a/packages/parameters/README.md b/packages/parameters/README.md index 3cfd90fc3a..89c4f70157 100644 --- a/packages/parameters/README.md +++ b/packages/parameters/README.md @@ -2,15 +2,15 @@ | ⚠️ **WARNING: Do not use this utility in production just yet!** ⚠️ | | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| **This utility is currently released as beta developer preview** and is intended strictly for feedback and testing purposes **and not for production workloads**.. The version and all future versions tagged with the `-beta` suffix should be treated as not stable. Up until before the [General Availability release](https://github.com/awslabs/aws-lambda-powertools-typescript/milestone/10) we might introduce significant breaking changes and improvements in response to customers feedback. | _ | +| **This utility is currently released as beta developer preview** and is intended strictly for feedback and testing purposes **and not for production workloads**.. The version and all future versions tagged with the `-beta` suffix should be treated as not stable. Up until before the [General Availability release](https://github.com/aws-powertools/powertools-lambda-typescript/milestone/10) we might introduce significant breaking changes and improvements in response to customers feedback. | _ | -Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#features). +Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://docs.powertools.aws.dev/lambda-typescript/latest/#features). You can use the library in both TypeScript and JavaScript code bases. -> Also available in [Python](https://github.com/awslabs/aws-lambda-powertools-python), [Java](https://github.com/awslabs/aws-lambda-powertools-java), and [.NET](https://awslabs.github.io/aws-lambda-powertools-dotnet/). +> Also available in [Python](https://github.com/aws-powertools/powertools-lambda-python), [Java](https://github.com/aws-powertools/powertools-lambda-java), and [.NET](https://docs.powertools.aws.dev/lambda-dotnet/). -**[Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[npm](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/roadmap)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples)** | **[Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo)** +**[Documentation](https://docs.powertools.aws.dev/lambda-typescript/)** | **[npm](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://docs.powertools.aws.dev/lambda-typescript/latest/roadmap)** | **[Examples](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples)** | **[Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo)** ## Table of contents @@ -31,14 +31,14 @@ You can use the library in both TypeScript and JavaScript code bases. ## Features -* **[Tracer](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions -* **[Logger](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context -* **[Metrics](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) -* **[Parameters (beta)](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB +* **[Tracer](https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions +* **[Logger](https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context +* **[Metrics](https://docs.powertools.aws.dev/lambda-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) +* **[Parameters (beta)](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB ## Getting started -Find the complete project's [documentation here](https://awslabs.github.io/aws-lambda-powertools-typescript). +Find the complete project's [documentation here](https://docs.powertools.aws.dev/lambda-typescript). ### Installation @@ -53,18 +53,18 @@ npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lam Or refer to the installation guide of each utility: -👉 [Installation guide for the **Tracer** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer#getting-started) +👉 [Installation guide for the **Tracer** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer#getting-started) -👉 [Installation guide for the **Logger** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger#getting-started) +👉 [Installation guide for the **Logger** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger#getting-started) -👉 [Installation guide for the **Metrics** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics#getting-started) +👉 [Installation guide for the **Metrics** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/metrics#getting-started) -👉 [Installation guide for the **Parameters** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/#getting-started) +👉 [Installation guide for the **Parameters** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/#getting-started) ### Examples -* [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) -* [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) +* [CDK](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/cdk) +* [SAM](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/sam) ### Serverless TypeScript Demo application @@ -73,12 +73,12 @@ You can find instructions on how to deploy and load test this application in the ## Contribute -If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/main/CONTRIBUTING.md). +If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/CONTRIBUTING.md). ## Roadmap The roadmap of Powertools for AWS Lambda (TypeScript) is driven by customers’ demand. -Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/awslabs/aws-lambda-powertools-typescript/issues), or [creating new ones](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new/choose), in this GitHub repository. +Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues), or [creating new ones](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new/choose), in this GitHub repository. ## Connect @@ -89,7 +89,7 @@ Help us prioritize upcoming functionalities or utilities by [upvoting existing R ### Becoming a reference customer -Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue. +Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue. The following companies, among others, use Powertools: @@ -103,7 +103,7 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda-typescript/latest/we_made_this). ### Using Lambda Layer diff --git a/packages/parameters/package.json b/packages/parameters/package.json index fc9a75e71f..eb1765f890 100644 --- a/packages/parameters/package.json +++ b/packages/parameters/package.json @@ -27,7 +27,7 @@ "*.ts": "npm run lint-fix", "*.js": "npm run lint-fix" }, - "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/parameters#readme", + "homepage": "https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/packages/parameters#readme", "license": "MIT-0", "exports": { ".": { @@ -95,10 +95,10 @@ ], "repository": { "type": "git", - "url": "git+https://github.com/awslabs/aws-lambda-powertools-typescript.git" + "url": "git+https://github.com/aws-powertools/powertools-lambda-typescript.git" }, "bugs": { - "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" + "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, "keywords": [ "aws", diff --git a/packages/parameters/src/appconfig/AppConfigProvider.ts b/packages/parameters/src/appconfig/AppConfigProvider.ts index ea28d28f5e..c3695d3dd8 100644 --- a/packages/parameters/src/appconfig/AppConfigProvider.ts +++ b/packages/parameters/src/appconfig/AppConfigProvider.ts @@ -161,7 +161,7 @@ import type { * * This object must be an instance of the [AWS SDK v3 for JavaScript AppConfig Data client](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appconfigdata/classes/appconfigdataclient.html). * - * For more usage examples, see [our documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/). */ class AppConfigProvider extends BaseProvider { public client: AppConfigDataClient; @@ -223,7 +223,7 @@ class AppConfigProvider extends BaseProvider { * * @param {string} name - The name of the configuration profile or its ID * @param {GetAppConfigCombinedInterface} options - Options to configure the provider - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ public async get( name: string, diff --git a/packages/parameters/src/appconfig/getAppConfig.ts b/packages/parameters/src/appconfig/getAppConfig.ts index f5a8506845..cb38bad67a 100644 --- a/packages/parameters/src/appconfig/getAppConfig.ts +++ b/packages/parameters/src/appconfig/getAppConfig.ts @@ -111,11 +111,11 @@ import type { GetAppConfigCombinedInterface } from '../types/AppConfigProvider'; * * For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use the {@link AppConfigProvider} class. * - * For more usage examples, see [our documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/). * * @param {string} name - The name of the configuration profile or its ID * @param {GetAppConfigCombinedInterface} options - Options to configure the provider - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ const getAppConfig = ( name: string, diff --git a/packages/parameters/src/dynamodb/DynamoDBProvider.ts b/packages/parameters/src/dynamodb/DynamoDBProvider.ts index 1800454bf9..8bbedb0b23 100644 --- a/packages/parameters/src/dynamodb/DynamoDBProvider.ts +++ b/packages/parameters/src/dynamodb/DynamoDBProvider.ts @@ -234,7 +234,7 @@ import type { PaginationConfiguration } from '@aws-sdk/types'; * * This object must be an instance of the [AWS SDK v3 for JavaScript DynamoDB client](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dynamodb/classes/dynamodbclient.html). * - * For more usage examples, see [our documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/). */ class DynamoDBProvider extends BaseProvider { public client: DynamoDBClient; @@ -295,7 +295,7 @@ class DynamoDBProvider extends BaseProvider { * * @param {string} name - The name of the value to retrieve (i.e. the partition key) * @param {DynamoDBGetOptionsInterface} options - Options to configure the provider - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ public async get( name: string, @@ -334,7 +334,7 @@ class DynamoDBProvider extends BaseProvider { * * @param {string} path - The path of the values to retrieve (i.e. the partition key) * @param {DynamoDBGetMultipleOptionsInterface} options - Options to configure the provider - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ public async getMultiple( path: string, diff --git a/packages/parameters/src/secrets/SecretsProvider.ts b/packages/parameters/src/secrets/SecretsProvider.ts index c6555518d2..79694f7409 100644 --- a/packages/parameters/src/secrets/SecretsProvider.ts +++ b/packages/parameters/src/secrets/SecretsProvider.ts @@ -145,11 +145,11 @@ import type { * * This object must be an instance of the [AWS SDK v3 for JavaScript Secrets Manager client](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-secrets-manager/classes/secretsmanagerclient.html). * - * For more usage examples, see [our documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/). * * @class * @implements {BaseProvider} - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ class SecretsProvider extends BaseProvider { public client: SecretsManagerClient; @@ -199,7 +199,7 @@ class SecretsProvider extends BaseProvider { * * @param {string} name - The name of the secret * @param {SecretsGetOptions} options - Options to customize the retrieval of the secret - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ public async get< ExplicitUserProvidedType = undefined, diff --git a/packages/parameters/src/secrets/getSecret.ts b/packages/parameters/src/secrets/getSecret.ts index 4b7994e1b7..4da74decd8 100644 --- a/packages/parameters/src/secrets/getSecret.ts +++ b/packages/parameters/src/secrets/getSecret.ts @@ -100,12 +100,12 @@ import type { * * For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use the {@link SecretsProvider} class. * - * For more usage examples, see [our documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/). * * * @param {string} name - The name of the secret to retrieve * @param {SecretsGetOptions} options - Options to configure the provider - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ const getSecret = async < ExplicitUserProvidedType = undefined, diff --git a/packages/parameters/src/ssm/SSMProvider.ts b/packages/parameters/src/ssm/SSMProvider.ts index 72043f0270..abfc6670e2 100644 --- a/packages/parameters/src/ssm/SSMProvider.ts +++ b/packages/parameters/src/ssm/SSMProvider.ts @@ -268,7 +268,7 @@ import type { PaginationConfiguration } from '@aws-sdk/types'; * * This object must be an instance of the [AWS SDK v3 for JavaScript SSM client](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ssm/classes/ssmclient.html). * - * For more usage examples, see [our documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/). */ class SSMProvider extends BaseProvider { public client: SSMClient; @@ -321,7 +321,7 @@ class SSMProvider extends BaseProvider { * * @param {string} name - The name of the value to retrieve (i.e. the partition key) * @param {SSMGetOptions} options - Options to configure the provider - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ public async get< ExplicitUserProvidedType = undefined, @@ -366,7 +366,7 @@ class SSMProvider extends BaseProvider { * * @param {string} path - The path of the parameters to retrieve * @param {SSMGetMultipleOptions} options - Options to configure the retrieval - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ public async getMultiple< ExplicitUserProvidedType = undefined, @@ -434,7 +434,7 @@ class SSMProvider extends BaseProvider { * * @param {Record} parameters - Object containing parameter names and any optional overrides * @param {SSMGetParametersByNameOptions} options - Options to configure the retrieval - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ public async getParametersByName( parameters: Record, diff --git a/packages/parameters/src/ssm/getParameter.ts b/packages/parameters/src/ssm/getParameter.ts index 8a5a468b69..0360add2af 100644 --- a/packages/parameters/src/ssm/getParameter.ts +++ b/packages/parameters/src/ssm/getParameter.ts @@ -134,11 +134,11 @@ import type { * * `sdkOptions` - Extra options to pass to the AWS SDK v3 for JavaScript client * * `decrypt` - Whether to decrypt the value before returning it. * - * For more usage examples, see [our documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/). * * @param {string} name - The name of the parameter to retrieve * @param {SSMGetOptions} options - Options to configure the provider - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ const getParameter = async < ExplicitUserProvidedType = undefined, diff --git a/packages/parameters/src/ssm/getParameters.ts b/packages/parameters/src/ssm/getParameters.ts index bbf7a1c331..db28d4d889 100644 --- a/packages/parameters/src/ssm/getParameters.ts +++ b/packages/parameters/src/ssm/getParameters.ts @@ -135,11 +135,11 @@ import type { * * `decrypt` - Whether to decrypt the value before returning it. * * `recursive` - Whether to recursively retrieve all parameters within the path. * - * For more usage examples, see [our documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/). * * @param {string} path - The path of the parameters to retrieve * @param {SSMGetMultipleOptions} options - Options to configure the provider - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ const getParameters = async < ExplicitUserProvidedType = undefined, diff --git a/packages/parameters/src/ssm/getParametersByName.ts b/packages/parameters/src/ssm/getParametersByName.ts index 7ba3483271..5d88c5ff53 100644 --- a/packages/parameters/src/ssm/getParametersByName.ts +++ b/packages/parameters/src/ssm/getParametersByName.ts @@ -155,11 +155,11 @@ import type { * └────────────────────┘ * ``` * - * For more usage examples, see [our documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/). * * @param {Record} parameters - The path of the parameters to retrieve * @param {SSMGetParametersByNameOptions} options - Options to configure the provider - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ const getParametersByName = async ( parameters: Record, diff --git a/packages/tracer/CHANGELOG.md b/packages/tracer/CHANGELOG.md index a772413084..ada19ef5e7 100644 --- a/packages/tracer/CHANGELOG.md +++ b/packages/tracer/CHANGELOG.md @@ -3,208 +3,208 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -# [1.9.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) +# [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) ### Features -- **tracer:** add isTraceSampled method ([#1435](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1435)) ([194bbd3](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/194bbd366b726a477523225f446add054c20566e)) +- **tracer:** add isTraceSampled method ([#1435](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1435)) ([194bbd3](https://github.com/aws-powertools/powertools-lambda-typescript/commit/194bbd366b726a477523225f446add054c20566e)) -# [1.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) +# [1.8.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.7.0...v1.8.0) (2023-04-07) **Note:** Version bump only for package @aws-lambda-powertools/tracer -# [1.7.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) +# [1.7.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.6.0...v1.7.0) (2023-03-20) **Note:** Version bump only for package @aws-lambda-powertools/tracer -# [1.6.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.5.1...v1.6.0) (2023-03-02) +# [1.6.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.5.1...v1.6.0) (2023-03-02) **Note:** Version bump only for package @aws-lambda-powertools/tracer -## [1.5.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.5.0...v1.5.1) (2023-01-13) +## [1.5.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.5.0...v1.5.1) (2023-01-13) **Note:** Version bump only for package @aws-lambda-powertools/tracer -# [1.5.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.4.1...v1.5.0) (2022-11-25) +# [1.5.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.4.1...v1.5.0) (2022-11-25) **Note:** Version bump only for package @aws-lambda-powertools/tracer -## [1.4.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.4.0...v1.4.1) (2022-11-09) +## [1.4.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.4.0...v1.4.1) (2022-11-09) **Note:** Version bump only for package @aws-lambda-powertools/tracer -# [1.4.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.3.0...v1.4.0) (2022-10-27) +# [1.4.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.3.0...v1.4.0) (2022-10-27) ### Features -- **all:** moved EnvService to commons + exposed getXrayTraceId in tracer ([#1123](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1123)) ([c8e3c15](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c8e3c15b64142ebe6f43835a5917ecba26293a32)) +- **all:** moved EnvService to commons + exposed getXrayTraceId in tracer ([#1123](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1123)) ([c8e3c15](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c8e3c15b64142ebe6f43835a5917ecba26293a32)) -# [1.3.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.2.1...v1.3.0) (2022-10-17) +# [1.3.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.2.1...v1.3.0) (2022-10-17) ### Bug Fixes -- **all:** update version command to use lint-fix ([#1119](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1119)) ([6f14fb3](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/6f14fb3229882b1dd0c20d18c87a542993432da9)) -- captureMethod correctly detect method name when used with external decorators ([#1109](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1109)) ([a574406](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/a574406134b65c17f56dfb3d3130aa237ece4160)) +- **all:** update version command to use lint-fix ([#1119](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1119)) ([6f14fb3](https://github.com/aws-powertools/powertools-lambda-typescript/commit/6f14fb3229882b1dd0c20d18c87a542993432da9)) +- captureMethod correctly detect method name when used with external decorators ([#1109](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1109)) ([a574406](https://github.com/aws-powertools/powertools-lambda-typescript/commit/a574406134b65c17f56dfb3d3130aa237ece4160)) ### Features -- **tracer:** specify subsegment name when capturing class method ([#1092](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1092)) ([d4174eb](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d4174eb7a894215e2d37f306016429de3bde8029)) +- **tracer:** specify subsegment name when capturing class method ([#1092](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1092)) ([d4174eb](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d4174eb7a894215e2d37f306016429de3bde8029)) ### Reverts -- Revert "chore(release): v1.3.0 [skip ci]" ([237b99f](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/237b99f9f6eff5e6e26d779603cf13cd4422c156)) +- Revert "chore(release): v1.3.0 [skip ci]" ([237b99f](https://github.com/aws-powertools/powertools-lambda-typescript/commit/237b99f9f6eff5e6e26d779603cf13cd4422c156)) -## [1.2.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.2.0...v1.2.1) (2022-08-25) +## [1.2.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.2.0...v1.2.1) (2022-08-25) **Note:** Version bump only for package @aws-lambda-powertools/tracer -# [1.2.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.1.1...v1.2.0) (2022-08-23) +# [1.2.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.1.1...v1.2.0) (2022-08-23) ### Features -- **tracer:** allow disabling result capture for decorators and middleware ([#1065](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1065)) ([c3b9a37](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/c3b9a37b6d5885f1750da4f0b226a18734ff0c29)) +- **tracer:** allow disabling result capture for decorators and middleware ([#1065](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1065)) ([c3b9a37](https://github.com/aws-powertools/powertools-lambda-typescript/commit/c3b9a37b6d5885f1750da4f0b226a18734ff0c29)) -## [1.1.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.1.0...v1.1.1) (2022-08-18) +## [1.1.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.1.0...v1.1.1) (2022-08-18) ### Bug Fixes -- **tracer:** decorated class methods cannot access `this` ([#1055](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1055)) ([107fa04](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/107fa04148ec86c8a0c0a29b5b2d35a62fe2b4e6)) +- **tracer:** decorated class methods cannot access `this` ([#1055](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1055)) ([107fa04](https://github.com/aws-powertools/powertools-lambda-typescript/commit/107fa04148ec86c8a0c0a29b5b2d35a62fe2b4e6)) -# [1.1.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.0.2...v1.1.0) (2022-08-12) +# [1.1.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.0.2...v1.1.0) (2022-08-12) ### Bug Fixes -- wrong scope in captureMethod ([#1026](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1026)) ([1a06fed](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/1a06fed74db02741c58bc05d8d5fce2e688d7879)) +- wrong scope in captureMethod ([#1026](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1026)) ([1a06fed](https://github.com/aws-powertools/powertools-lambda-typescript/commit/1a06fed74db02741c58bc05d8d5fce2e688d7879)) -## [1.0.2](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v1.0.1...v1.0.2) (2022-07-19) +## [1.0.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.0.1...v1.0.2) (2022-07-19) **Note:** Version bump only for package @aws-lambda-powertools/tracer -## [1.0.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.12.0-rc.1...v1.0.1) (2022-07-14) +## [1.0.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.12.0-rc.1...v1.0.1) (2022-07-14) **Note:** Version bump only for package @aws-lambda-powertools/tracer -# [0.12.0-rc.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.12.0-rc.0...v0.12.0-rc.1) (2022-07-14) +# [0.12.0-rc.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.12.0-rc.0...v0.12.0-rc.1) (2022-07-14) **Note:** Version bump only for package @aws-lambda-powertools/tracer -# [0.12.0-rc.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.11.1-rc.0...v0.12.0-rc.0) (2022-07-14) +# [0.12.0-rc.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.11.1-rc.0...v0.12.0-rc.0) (2022-07-14) ### Bug Fixes -- **tracer:** capture method throws errors correctly ([#1016](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1016)) ([fb85238](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/fb8523868e8d5e31c00a017ae1102ed31a0a4245)) +- **tracer:** capture method throws errors correctly ([#1016](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1016)) ([fb85238](https://github.com/aws-powertools/powertools-lambda-typescript/commit/fb8523868e8d5e31c00a017ae1102ed31a0a4245)) ### Features -- **tracer:** auto disable when running inside amplify mock ([#1010](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1010)) ([024d628](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/024d6286f9b9273becce825b5c6ca0db87d4c63a)) +- **tracer:** auto disable when running inside amplify mock ([#1010](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1010)) ([024d628](https://github.com/aws-powertools/powertools-lambda-typescript/commit/024d6286f9b9273becce825b5c6ca0db87d4c63a)) ### Reverts -- Revert "chore(release): v0.12.0-rc.0 [skip ci]" ([9397f1d](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/9397f1d3624eb0bfbeb5e4c2702ae51e558a5b4a)) -- Revert "chore(release): v0.12.0-rc.0 [skip ci]" (#1017) ([51c18da](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/51c18da20db434f8b12f320e5074e3e0a146046e)), closes [#1017](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/1017) +- Revert "chore(release): v0.12.0-rc.0 [skip ci]" ([9397f1d](https://github.com/aws-powertools/powertools-lambda-typescript/commit/9397f1d3624eb0bfbeb5e4c2702ae51e558a5b4a)) +- Revert "chore(release): v0.12.0-rc.0 [skip ci]" (#1017) ([51c18da](https://github.com/aws-powertools/powertools-lambda-typescript/commit/51c18da20db434f8b12f320e5074e3e0a146046e)), closes [#1017](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1017) -## [0.11.1-rc.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.11.0...v0.11.1-rc.0) (2022-06-24) +## [0.11.1-rc.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.11.0...v0.11.1-rc.0) (2022-06-24) **Note:** Version bump only for package @aws-lambda-powertools/tracer -# [0.11.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.10.0...v0.11.0) (2022-06-23) +# [0.11.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.10.0...v0.11.0) (2022-06-23) **Note:** Version bump only for package @aws-lambda-powertools/tracer -# [0.10.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.1...v0.10.0) (2022-06-02) +# [0.10.0](https://github.com/aws-powertools/powertools-lambda-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)) +- **all:** nodejs16x support ([#877](https://github.com/aws-powertools/powertools-lambda-typescript/issues/877)) ([d2b13c9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d2b13c945adb1a74b7c5f76d45f28a6979ce6429)) -## [0.9.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) +## [0.9.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.9.0...v0.9.1) (2022-05-24) **Note:** Version bump only for package @aws-lambda-powertools/tracer -# [0.9.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.1...v0.9.0) (2022-05-16) +# [0.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.8.1...v0.9.0) (2022-05-16) **Note:** Version bump only for package @aws-lambda-powertools/tracer -## [0.8.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) +## [0.8.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.8.0...v0.8.1) (2022-04-14) **Note:** Version bump only for package @aws-lambda-powertools/tracer -# [0.8.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) +# [0.8.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.7.2...v0.8.0) (2022-04-08) ### Features -- added captureHTTPsRequest feature ([#677](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/677)) ([5a36723](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/5a367233b3284c4b1c0c18caffd00e585afc9f55)) +- added captureHTTPsRequest feature ([#677](https://github.com/aws-powertools/powertools-lambda-typescript/issues/677)) ([5a36723](https://github.com/aws-powertools/powertools-lambda-typescript/commit/5a367233b3284c4b1c0c18caffd00e585afc9f55)) -## [0.7.2](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.1...v0.7.2) (2022-04-01) +## [0.7.2](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.7.1...v0.7.2) (2022-04-01) **Note:** Version bump only for package @aws-lambda-powertools/tracer -## [0.7.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.7.0...v0.7.1) (2022-03-17) +## [0.7.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.7.0...v0.7.1) (2022-03-17) ### Bug Fixes -- **tracer, metrics:** use polling instead of fixed wait in e2e tests ([#654](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/654)) ([6d4ab75](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/6d4ab751bc98eb823d2a68b4973fa9f8405971a2)) +- **tracer, metrics:** use polling instead of fixed wait in e2e tests ([#654](https://github.com/aws-powertools/powertools-lambda-typescript/issues/654)) ([6d4ab75](https://github.com/aws-powertools/powertools-lambda-typescript/commit/6d4ab751bc98eb823d2a68b4973fa9f8405971a2)) -# [0.7.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.6.0...v0.7.0) (2022-03-08) +# [0.7.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.6.0...v0.7.0) (2022-03-08) ### Features -- **tracer:** adopted Utility class & updated unit tests ([#549](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/549)) ([3769a69](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/3769a694725cc2a3fe6fb5f90fb045f73ea32a7c)) +- **tracer:** adopted Utility class & updated unit tests ([#549](https://github.com/aws-powertools/powertools-lambda-typescript/issues/549)) ([3769a69](https://github.com/aws-powertools/powertools-lambda-typescript/commit/3769a694725cc2a3fe6fb5f90fb045f73ea32a7c)) -# [0.6.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.5.1...v0.6.0) (2022-02-17) +# [0.6.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.5.1...v0.6.0) (2022-02-17) **Note:** Version bump only for package @aws-lambda-powertools/tracer -## [0.5.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.5.0...v0.5.1) (2022-02-09) +## [0.5.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.5.0...v0.5.1) (2022-02-09) ### Bug Fixes -- **tracer:** properly return DynamoDB.DocumentClient ([#528](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/528)) ([3559e7b](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/3559e7b19339a4649f235fb4af41c6b182da3df1)) +- **tracer:** properly return DynamoDB.DocumentClient ([#528](https://github.com/aws-powertools/powertools-lambda-typescript/issues/528)) ([3559e7b](https://github.com/aws-powertools/powertools-lambda-typescript/commit/3559e7b19339a4649f235fb4af41c6b182da3df1)) ### Reverts -- Revert "build(deps-dev): bump aws-cdk from 1.139.0 to 1.143.0 (#532)" (#544) ([e96c9ba](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/e96c9ba5bd4f738e5ed7c5850e06856a8c69bff1)), closes [#532](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/532) [#544](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/544) -- Revert "build(deps-dev): bump @aws-cdk/aws-lambda-nodejs from 1.139.0 to 1.143.0 (#531)" (#545) ([7dffbd8](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/7dffbd8708555fcc9817ea4373ccf71b0aea3c89)), closes [#531](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/531) [#545](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/545) +- Revert "build(deps-dev): bump aws-cdk from 1.139.0 to 1.143.0 (#532)" (#544) ([e96c9ba](https://github.com/aws-powertools/powertools-lambda-typescript/commit/e96c9ba5bd4f738e5ed7c5850e06856a8c69bff1)), closes [#532](https://github.com/aws-powertools/powertools-lambda-typescript/issues/532) [#544](https://github.com/aws-powertools/powertools-lambda-typescript/issues/544) +- Revert "build(deps-dev): bump @aws-cdk/aws-lambda-nodejs from 1.139.0 to 1.143.0 (#531)" (#545) ([7dffbd8](https://github.com/aws-powertools/powertools-lambda-typescript/commit/7dffbd8708555fcc9817ea4373ccf71b0aea3c89)), closes [#531](https://github.com/aws-powertools/powertools-lambda-typescript/issues/531) [#545](https://github.com/aws-powertools/powertools-lambda-typescript/issues/545) -# [0.5.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.4.0...v0.5.0) (2022-01-26) +# [0.5.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.4.0...v0.5.0) (2022-01-26) ### Features -- **all:** make `@middy/core` optional ([#511](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/511)) ([1107f96](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/1107f96e9b4c678d34ee36757366f150d99be4dc)) -- **tracer:** add support for capturing DynamoDB DocumentClient ([#450](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/450)) ([621ae50](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/621ae50430e4459f90eaaa135eb0ed674b95e108)) +- **all:** make `@middy/core` optional ([#511](https://github.com/aws-powertools/powertools-lambda-typescript/issues/511)) ([1107f96](https://github.com/aws-powertools/powertools-lambda-typescript/commit/1107f96e9b4c678d34ee36757366f150d99be4dc)) +- **tracer:** add support for capturing DynamoDB DocumentClient ([#450](https://github.com/aws-powertools/powertools-lambda-typescript/issues/450)) ([621ae50](https://github.com/aws-powertools/powertools-lambda-typescript/commit/621ae50430e4459f90eaaa135eb0ed674b95e108)) -# [0.4.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.3...v0.4.0) (2022-01-20) +# [0.4.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.3...v0.4.0) (2022-01-20) ### Features -- **logger:** JSDOCS support ([#491](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/491)) ([cd2c2d9](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/cd2c2d93a5822e26d3113a042be1dd0473aa6b2a)) +- **logger:** JSDOCS support ([#491](https://github.com/aws-powertools/powertools-lambda-typescript/issues/491)) ([cd2c2d9](https://github.com/aws-powertools/powertools-lambda-typescript/commit/cd2c2d93a5822e26d3113a042be1dd0473aa6b2a)) -## [0.3.3](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.2...v0.3.3) (2022-01-17) +## [0.3.3](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.2...v0.3.3) (2022-01-17) **Note:** Version bump only for package @aws-lambda-powertools/tracer -## [0.3.1](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.3.0...v0.3.1) (2022-01-14) +## [0.3.1](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.3.0...v0.3.1) (2022-01-14) ### Bug Fixes -- **all:** fix latest release broken by change of npm pack result on common ([#470](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/470)) ([2c3df93](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/2c3df9378ac191f6da6cb5f458f6227d6466cafa)), closes [#417](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/417) +- **all:** fix latest release broken by change of npm pack result on common ([#470](https://github.com/aws-powertools/powertools-lambda-typescript/issues/470)) ([2c3df93](https://github.com/aws-powertools/powertools-lambda-typescript/commit/2c3df9378ac191f6da6cb5f458f6227d6466cafa)), closes [#417](https://github.com/aws-powertools/powertools-lambda-typescript/issues/417) -# [0.3.0](https://github.com/awslabs/aws-lambda-powertools-typescript/compare/v0.2.0...v0.3.0) (2022-01-14) +# [0.3.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v0.2.0...v0.3.0) (2022-01-14) ### Bug Fixes -- **build:** Update contributing.md and fix npm ci ([#417](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/417)) ([279ad98](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/279ad984f71d5b157a13cffeab52602f2c09c1f8)), closes [#415](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/415) [#415](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/415) -- **tracer:** avoid throwing errors in manual instrumentation when running outside of AWS Lambda ([#442](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/442)) ([fd02acb](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/fd02acbbe7de1cd0d1b00ae1cca68148a5114cbf)) +- **build:** Update contributing.md and fix npm ci ([#417](https://github.com/aws-powertools/powertools-lambda-typescript/issues/417)) ([279ad98](https://github.com/aws-powertools/powertools-lambda-typescript/commit/279ad984f71d5b157a13cffeab52602f2c09c1f8)), closes [#415](https://github.com/aws-powertools/powertools-lambda-typescript/issues/415) [#415](https://github.com/aws-powertools/powertools-lambda-typescript/issues/415) +- **tracer:** avoid throwing errors in manual instrumentation when running outside of AWS Lambda ([#442](https://github.com/aws-powertools/powertools-lambda-typescript/issues/442)) ([fd02acb](https://github.com/aws-powertools/powertools-lambda-typescript/commit/fd02acbbe7de1cd0d1b00ae1cca68148a5114cbf)) ### Features -- **all:** Update to examples use released version (0.2.0) ([#405](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/405)) ([d5e0620](https://github.com/awslabs/aws-lambda-powertools-typescript/commit/d5e0620473f31d0839c027a76a88dcdcb98c84de)) +- **all:** Update to examples use released version (0.2.0) ([#405](https://github.com/aws-powertools/powertools-lambda-typescript/issues/405)) ([d5e0620](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d5e0620473f31d0839c027a76a88dcdcb98c84de)) # 0.2.0 (2022-01-05) ### Features -- _tracer:_ beta release (#91 (https://github.com/awslabs/aws-lambda-powertools-python/issues/91)) +- _tracer:_ beta release (#91 (https://github.com/aws-powertools/powertools-lambda-python/issues/91)) ### Contributor List: diff --git a/packages/tracer/LICENSE-THIRD-PARTY b/packages/tracer/LICENSE-THIRD-PARTY index 650db92ec4..9de6740834 100644 --- a/packages/tracer/LICENSE-THIRD-PARTY +++ b/packages/tracer/LICENSE-THIRD-PARTY @@ -1,5 +1,5 @@ @aws-lambda-powertools/commons -0.0.2 +0.0.2 license: MIT* authors: Amazon Web Services diff --git a/packages/tracer/README.md b/packages/tracer/README.md index cdf50609ab..55b790dc15 100644 --- a/packages/tracer/README.md +++ b/packages/tracer/README.md @@ -1,12 +1,12 @@ # Powertools for AWS Lambda (TypeScript) -Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/#features). +Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://docs.powertools.aws.dev/lambda-typescript/latest/#features). You can use the library in both TypeScript and JavaScript code bases. -> Also available in [Python](https://github.com/awslabs/aws-lambda-powertools-python), [Java](https://github.com/awslabs/aws-lambda-powertools-java), and [.NET](https://awslabs.github.io/aws-lambda-powertools-dotnet/). +> Also available in [Python](https://github.com/aws-powertools/powertools-lambda-python), [Java](https://github.com/aws-powertools/powertools-lambda-java), and [.NET](https://docs.powertools.aws.dev/lambda-dotnet/). -**[Documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/)** | **[npm](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/roadmap)** | **[Examples](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples)** | **[Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo)** +**[Documentation](https://docs.powertools.aws.dev/lambda-typescript/)** | **[npm](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://docs.powertools.aws.dev/lambda-typescript/latest/roadmap)** | **[Examples](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples)** | **[Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo)** ## Table of contents @@ -27,14 +27,14 @@ You can use the library in both TypeScript and JavaScript code bases. ## Features -* **[Tracer](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions -* **[Logger](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context -* **[Metrics](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) -* **[Parameters (beta)](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB +* **[Tracer](https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions +* **[Logger](https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context +* **[Metrics](https://docs.powertools.aws.dev/lambda-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) +* **[Parameters (beta)](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB ## Getting started -Find the complete project's [documentation here](https://awslabs.github.io/aws-lambda-powertools-typescript). +Find the complete project's [documentation here](https://docs.powertools.aws.dev/lambda-typescript). ### Installation @@ -49,18 +49,18 @@ npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lam Or refer to the installation guide of each utility: -👉 [Installation guide for the **Tracer** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer#getting-started) +👉 [Installation guide for the **Tracer** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer#getting-started) -👉 [Installation guide for the **Logger** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/logger#getting-started) +👉 [Installation guide for the **Logger** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger#getting-started) -👉 [Installation guide for the **Metrics** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/metrics#getting-started) +👉 [Installation guide for the **Metrics** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/metrics#getting-started) -👉 [Installation guide for the **Parameters** utility](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/utilities/parameters/#getting-started) +👉 [Installation guide for the **Parameters** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/#getting-started) ### Examples -* [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) -* [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) +* [CDK](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/cdk) +* [SAM](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/sam) ### Serverless TypeScript Demo application @@ -69,12 +69,12 @@ You can find instructions on how to deploy and load test this application in the ## Contribute -If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/main/CONTRIBUTING.md). +If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/CONTRIBUTING.md). ## Roadmap The roadmap of Powertools for AWS Lambda (TypeScript) is driven by customers’ demand. -Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/awslabs/aws-lambda-powertools-typescript/issues), or [creating new ones](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new/choose), in this GitHub repository. +Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues), or [creating new ones](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new/choose), in this GitHub repository. ## Connect @@ -85,7 +85,7 @@ Help us prioritize upcoming functionalities or utilities by [upvoting existing R ### Becoming a reference customer -Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue. +Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=customer-reference&template=support_powertools.yml&title=%5BSupport+Lambda+Powertools%5D%3A+%3Cyour+organization+name%3E) issue. The following companies, among others, use Powertools: @@ -99,7 +99,7 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) 💞💞. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda-typescript/latest/we_made_this). ### Using Lambda Layer diff --git a/packages/tracer/package.json b/packages/tracer/package.json index 2d6621f4d1..2a3dea28af 100644 --- a/packages/tracer/package.json +++ b/packages/tracer/package.json @@ -27,7 +27,7 @@ "*.ts": "npm run lint-fix", "*.js": "npm run lint-fix" }, - "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/tracer#readme", + "homepage": "https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/packages/tracer#readme", "license": "MIT-0", "main": "./lib/index.js", "types": "./lib/index.d.ts", @@ -45,10 +45,10 @@ ], "repository": { "type": "git", - "url": "git+https://github.com/awslabs/aws-lambda-powertools-typescript.git" + "url": "git+https://github.com/aws-powertools/powertools-lambda-typescript.git" }, "bugs": { - "url": "https://github.com/awslabs/aws-lambda-powertools-typescript/issues" + "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, "dependencies": { "@aws-lambda-powertools/commons": "^1.9.0", diff --git a/packages/tracer/src/Tracer.ts b/packages/tracer/src/Tracer.ts index b741becc7e..52e687e11f 100644 --- a/packages/tracer/src/Tracer.ts +++ b/packages/tracer/src/Tracer.ts @@ -31,7 +31,7 @@ import { Segment, Subsegment } from 'aws-xray-sdk-core'; * * ## Usage * - * For more usage examples, see [our documentation](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer/). * * ### Functions usage with middleware * @@ -289,7 +289,7 @@ class Tracer extends Utility implements TracerInterface { try { // This is needed because some aws-sdk clients like AWS.DynamoDB.DocumentDB don't comply with the same // instrumentation contract like most base clients. - // For detailed explanation see: https://github.com/awslabs/aws-lambda-powertools-typescript/issues/524#issuecomment-1024493662 + // For detailed explanation see: https://github.com/aws-powertools/powertools-lambda-typescript/issues/524#issuecomment-1024493662 this.provider.captureAWSClient((service as T & { service: T }).service); return service; @@ -542,7 +542,7 @@ class Tracer extends Utility implements TracerInterface { * Usually you won't need to call this method unless you are creating custom subsegments or using manual mode. * * @see https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-segments - * @see https://awslabs.github.io/aws-lambda-powertools-typescript/latest/core/tracer/#escape-hatch-mechanism + * @see https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer/#escape-hatch-mechanism * * @example * ```typescript diff --git a/packages/tracer/tests/e2e/allFeatures.decorator.test.functionCode.ts b/packages/tracer/tests/e2e/allFeatures.decorator.test.functionCode.ts index 1c3f683592..200782dafa 100644 --- a/packages/tracer/tests/e2e/allFeatures.decorator.test.functionCode.ts +++ b/packages/tracer/tests/e2e/allFeatures.decorator.test.functionCode.ts @@ -52,10 +52,9 @@ export class MyFunctionBase { Item: { id: `${serviceName}-${event.invocation}-sdkv2` }, }) .promise(), - axios.get( - 'https://awslabs.github.io/aws-lambda-powertools-typescript/latest/', - { timeout: 5000 } - ), + axios.get('https://docs.powertools.aws.dev/lambda-typescript/latest/', { + timeout: 5000, + }), new Promise((resolve, reject) => { setTimeout(() => { const res = this.myMethod(); diff --git a/packages/tracer/tests/e2e/allFeatures.manual.test.functionCode.ts b/packages/tracer/tests/e2e/allFeatures.manual.test.functionCode.ts index fb16b19681..4e61825c2c 100644 --- a/packages/tracer/tests/e2e/allFeatures.manual.test.functionCode.ts +++ b/packages/tracer/tests/e2e/allFeatures.manual.test.functionCode.ts @@ -56,7 +56,7 @@ export const handler = async ( }) .promise(); await axios.get( - 'https://awslabs.github.io/aws-lambda-powertools-typescript/latest/', + 'https://docs.powertools.aws.dev/lambda-typescript/latest/', { timeout: 5000 } ); diff --git a/packages/tracer/tests/e2e/allFeatures.middy.test.functionCode.ts b/packages/tracer/tests/e2e/allFeatures.middy.test.functionCode.ts index 42bc4d8ee1..9d4af93e62 100644 --- a/packages/tracer/tests/e2e/allFeatures.middy.test.functionCode.ts +++ b/packages/tracer/tests/e2e/allFeatures.middy.test.functionCode.ts @@ -46,7 +46,7 @@ const testHandler = async ( }) ); await axios.get( - 'https://awslabs.github.io/aws-lambda-powertools-typescript/latest/', + 'https://docs.powertools.aws.dev/lambda-typescript/latest/', { timeout: 5000 } ); diff --git a/packages/tracer/tests/e2e/asyncHandler.decorator.test.functionCode.ts b/packages/tracer/tests/e2e/asyncHandler.decorator.test.functionCode.ts index b39d6361d0..ced360f5a5 100644 --- a/packages/tracer/tests/e2e/asyncHandler.decorator.test.functionCode.ts +++ b/packages/tracer/tests/e2e/asyncHandler.decorator.test.functionCode.ts @@ -56,7 +56,7 @@ export class MyFunctionBase { }) ); await axios.get( - 'https://awslabs.github.io/aws-lambda-powertools-typescript/latest/', + 'https://docs.powertools.aws.dev/lambda-typescript/latest/', { timeout: 5000 } ); From ffab3ff233a397b63e5881c81b9ac0cbe0eee76e Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Mon, 19 Jun 2023 17:19:06 +0200 Subject: [PATCH 12/35] chore(docs): temporarily override publish branch for docs (#1510) --- .github/workflows/reusable-publish-docs.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml index 890d00d7a7..2f53f9049d 100644 --- a/.github/workflows/reusable-publish-docs.yml +++ b/.github/workflows/reusable-publish-docs.yml @@ -78,9 +78,9 @@ jobs: run: | rm -rf site mkdocs build - mike deploy --push --update-aliases --no-redirect ${{ env.VERSION }} ${{ env.ALIAS }} + mike deploy --push --update-aliases --no-redirect ${{ env.VERSION }} ${{ env.ALIAS }} --branch backup-gh-pages # Set latest version as a default - mike set-default --push latest + mike set-default --push latest --branch backup-gh-pages - name: Build API docs run: | rm -rf api @@ -92,6 +92,7 @@ jobs: publish_dir: ./api keep_files: true destination_dir: ${{ env.VERSION }}/api + publish_branch: 'backup-gh-pages' - name: Release API docs to latest if: ${{ inputs.alias == 'latest' }} uses: peaceiris/actions-gh-pages@bd8c6b06eba6b3d25d72b7a1767993c0aeee42e7 # v3.9.2 @@ -100,6 +101,7 @@ jobs: publish_dir: ./api keep_files: true destination_dir: latest/api + publish_branch: 'backup-gh-pages' - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@e1e17a757e536f70e52b5a12b2e8d1d1c60e04ef # v2.0.0 with: From 5d035a1d4597d9036cdc4ea58a10b046b8a67f52 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Jun 2023 09:38:24 +0200 Subject: [PATCH 13/35] build(deps): bump aws-cdk-lib from 2.73.0 to 2.80.0 (#1515) Bumps [aws-cdk-lib](https://github.com/aws/aws-cdk/tree/HEAD/packages/aws-cdk-lib) from 2.73.0 to 2.80.0. - [Release notes](https://github.com/aws/aws-cdk/releases) - [Changelog](https://github.com/aws/aws-cdk/blob/main/CHANGELOG.v2.md) - [Commits](https://github.com/aws/aws-cdk/commits/v2.80.0/packages/aws-cdk-lib) --- updated-dependencies: - dependency-name: aws-cdk-lib dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 42 ++++++++++++++++++------------------------ 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8fabead736..c9d7b466f9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -207,16 +207,18 @@ } }, "node_modules/@aws-cdk/asset-awscli-v1": { - "version": "2.2.136", - "license": "Apache-2.0" + "version": "2.2.196", + "resolved": "https://registry.npmjs.org/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.196.tgz", + "integrity": "sha512-F8hU1rEzYS7z5Dt2s+ttd0/jMvPuUE9BcXexgq+dIOLuZsRpDwNnkMBtjNaJXJS48ZGJ2X4b8VlklseepdtoSA==" }, "node_modules/@aws-cdk/asset-kubectl-v20": { "version": "2.1.1", "license": "Apache-2.0" }, "node_modules/@aws-cdk/asset-node-proxy-agent-v5": { - "version": "2.0.112", - "license": "Apache-2.0" + "version": "2.0.165", + "resolved": "https://registry.npmjs.org/@aws-cdk/asset-node-proxy-agent-v5/-/asset-node-proxy-agent-v5-2.0.165.tgz", + "integrity": "sha512-bsyLQD/vqXQcc9RDmlM1XqiFNO/yewgVFXmkMcQkndJbmE/jgYkzewwYGrBlfL725hGLQipXq19+jwWwdsXQqg==" }, "node_modules/@aws-cdk/cfnspec": { "version": "2.73.0-alpha.0", @@ -5604,7 +5606,9 @@ } }, "node_modules/aws-cdk-lib": { - "version": "2.73.0", + "version": "2.80.0", + "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.80.0.tgz", + "integrity": "sha512-PoqD3Yms5I0ajuTi071nTW/hpkH3XsdyZzn5gYsPv0qD7mqP3h6Qr+6RiGx+yQ1KcVFyxWdX15uK+DsC0KwvcQ==", "bundleDependencies": [ "@balena/dockerignore", "case", @@ -5617,19 +5621,18 @@ "table", "yaml" ], - "license": "Apache-2.0", "dependencies": { - "@aws-cdk/asset-awscli-v1": "^2.2.97", + "@aws-cdk/asset-awscli-v1": "^2.2.177", "@aws-cdk/asset-kubectl-v20": "^2.1.1", - "@aws-cdk/asset-node-proxy-agent-v5": "^2.0.77", + "@aws-cdk/asset-node-proxy-agent-v5": "^2.0.148", "@balena/dockerignore": "^1.0.2", "case": "1.6.3", - "fs-extra": "^9.1.0", + "fs-extra": "^11.1.1", "ignore": "^5.2.4", "jsonschema": "^1.4.1", "minimatch": "^3.1.2", "punycode": "^2.3.0", - "semver": "^7.3.8", + "semver": "^7.5.1", "table": "^6.8.1", "yaml": "1.10.2" }, @@ -5690,14 +5693,6 @@ "node": ">=8" } }, - "node_modules/aws-cdk-lib/node_modules/at-least-node": { - "version": "1.0.0", - "inBundle": true, - "license": "ISC", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/aws-cdk-lib/node_modules/balanced-match": { "version": "1.0.2", "inBundle": true, @@ -5752,21 +5747,20 @@ "license": "MIT" }, "node_modules/aws-cdk-lib/node_modules/fs-extra": { - "version": "9.1.0", + "version": "11.1.1", "inBundle": true, "license": "MIT", "dependencies": { - "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=14.14" } }, "node_modules/aws-cdk-lib/node_modules/graceful-fs": { - "version": "4.2.10", + "version": "4.2.11", "inBundle": true, "license": "ISC" }, @@ -5854,7 +5848,7 @@ } }, "node_modules/aws-cdk-lib/node_modules/semver": { - "version": "7.3.8", + "version": "7.5.1", "inBundle": true, "license": "ISC", "dependencies": { @@ -17530,7 +17524,7 @@ "packages/logger": { "name": "@aws-lambda-powertools/logger", "version": "1.9.0", - "license": "MIT", + "license": "MIT-0", "dependencies": { "@aws-lambda-powertools/commons": "^1.9.0", "lodash.merge": "^4.6.2" From 043b4adbc294c7c7ff4bf939be290b1cb262272e Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Tue, 20 Jun 2023 12:23:21 +0200 Subject: [PATCH 14/35] chore(ci): added cached dependencies to e2e workflow (#1517) * chore(ci): added cached dependencies to e2e workflow * fix: runtime key in layers tests --- .../actions/cached-node-modules/action.yml | 4 +++ .github/scripts/get_pr_info.js | 15 ++++---- .github/workflows/run-e2e-tests.yml | 36 ++++--------------- layers/tests/e2e/layerPublisher.test.ts | 2 +- 4 files changed, 21 insertions(+), 36 deletions(-) diff --git a/.github/actions/cached-node-modules/action.yml b/.github/actions/cached-node-modules/action.yml index fbc0f2a2af..a9ebc6b05c 100644 --- a/.github/actions/cached-node-modules/action.yml +++ b/.github/actions/cached-node-modules/action.yml @@ -11,6 +11,10 @@ outputs: runs: using: "composite" steps: + - name: Install npm + if: ${{ inputs.nodeVersion != '18' }} + shell: bash + run: npm i -g npm@next-9 - name: Cache node modules id: cache-node-modules uses: actions/cache@69d9d449aced6a2ede0bc19182fadc3a0a42d2b0 # v3.2.6 diff --git a/.github/scripts/get_pr_info.js b/.github/scripts/get_pr_info.js index ebb6a76d94..ece2f97f44 100644 --- a/.github/scripts/get_pr_info.js +++ b/.github/scripts/get_pr_info.js @@ -1,23 +1,26 @@ module.exports = async ({ github, context, core }) => { const prNumber = process.env.PR_NUMBER; - if (prNumber === "") { + if (prNumber === '') { core.setFailed(`No PR number was passed. Aborting`); } + // Remove the `#` prefix from the PR number if it exists + const prNumberWithoutPrefix = prNumber.replace('#', ''); + try { const { data: { head, base }, } = await github.rest.pulls.get({ owner: context.repo.owner, repo: context.repo.repo, - pull_number: prNumber, + pull_number: prNumberWithoutPrefix, }); - core.setOutput("headRef", head.ref); - core.setOutput("headSHA", head.sha); - core.setOutput("baseRef", base.ref); - core.setOutput("baseSHA", base.sha); + core.setOutput('headRef', head.ref); + core.setOutput('headSHA', head.sha); + core.setOutput('baseRef', base.ref); + core.setOutput('baseSHA', base.sha); } catch (error) { core.setFailed( `Unable to retrieve info from PR number ${prNumber}.\n\n Error details: ${error}` diff --git a/.github/workflows/run-e2e-tests.yml b/.github/workflows/run-e2e-tests.yml index 8e67675b87..1950c89b84 100644 --- a/.github/workflows/run-e2e-tests.yml +++ b/.github/workflows/run-e2e-tests.yml @@ -45,12 +45,10 @@ jobs: uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0 with: node-version: ${{ matrix.version }} - - name: Setup npm - run: npm i -g npm@next-8 - - name: Install dependencies - # This installs all the dependencies of ./packages/* - # See https://github.com/npm/cli/issues/4475 to see why --foreground-scripts - run: npm ci --foreground-scripts + - name: Setup dependencies + uses: ./.github/actions/cached-node-modules + with: + nodeVersion: ${{ matrix.version }} - name: Setup AWS credentials uses: aws-actions/configure-aws-credentials@e1e17a757e536f70e52b5a12b2e8d1d1c60e04ef # v2.0.0 with: @@ -95,36 +93,16 @@ jobs: with: # Always use version 18 node-version: 18 - - name: Setup npm - run: npm i -g npm@next-8 + - name: Setup dependencies + uses: ./.github/actions/cached-node-modules - name: "Configure AWS credentials" uses: aws-actions/configure-aws-credentials@e1e17a757e536f70e52b5a12b2e8d1d1c60e04ef # v2.0.0 with: role-to-assume: ${{ secrets.AWS_ROLE_ARN_TO_ASSUME }} aws-region: eu-west-1 - - name: Cache node modules for commons - id: cache-node-modules - uses: actions/cache@69d9d449aced6a2ede0bc19182fadc3a0a42d2b0 # v3.2.6 - with: - path: "./node_modules" - # Use the combo between node version, name, and SHA-256 hash of the lock file as cache key so that - # if one of them changes the cache is invalidated/discarded - key: ${{ matrix.version }}-cache-utilities-node-modules-${{ hashFiles('./package-lock.json') }} - - name: Install dependencies - # We can skip the install if there was a cache hit - if: steps.cache-node-modules.outputs.cache-hit != 'true' - # See https://github.com/npm/cli/issues/4475 to see why --foreground-scripts - run: npm ci --foreground-scripts - - name: Build packages - # If there's a cache hit we still need to manually build the packages - # this would otherwise have been done automatically as a part of the - # postinstall npm hook - if: steps.cache-node-modules.outputs.cache-hit == 'true' - run: | - npm run build -w packages/commons - name: Create layer files run: | export VERSION=latest bash .github/scripts/setup_tmp_layer_files.sh - name: Run integration test on layers - run: RUNTIME=nodejs${{ matrix.version }}.x npm run test:e2e -w layers + run: RUNTIME=nodejs${{ matrix.version }}x npm run test:e2e -w layers diff --git a/layers/tests/e2e/layerPublisher.test.ts b/layers/tests/e2e/layerPublisher.test.ts index 35efdefae7..3da035472f 100644 --- a/layers/tests/e2e/layerPublisher.test.ts +++ b/layers/tests/e2e/layerPublisher.test.ts @@ -30,7 +30,7 @@ import { v4 } from 'uuid'; import path from 'path'; import packageJson from '../../package.json'; -const runtime: string = process.env.RUNTIME || 'nodejs1x'; +const runtime: string = process.env.RUNTIME || 'nodejs18x'; if (!isValidRuntimeKey(runtime)) { throw new Error(`Invalid runtime key: ${runtime}`); From b9fcef66eb4bd9a7ad1eeac5f5db2cdbccc70c71 Mon Sep 17 00:00:00 2001 From: Alexander Schueren Date: Tue, 20 Jun 2023 12:27:02 +0200 Subject: [PATCH 15/35] fix(idempotency): skip persistence for optional idempotency key (#1507) * add skip idempotency step in the handler in specific cases --- package.json | 1 + packages/commons/tests/utils/e2eUtils.ts | 12 +--- packages/idempotency/src/IdempotencyConfig.ts | 2 + .../idempotency/src/IdempotencyHandler.ts | 31 ++++++++++ .../src/middleware/makeHandlerIdempotent.ts | 24 +++++++- .../src/persistence/BasePersistenceLayer.ts | 7 ++- .../idempotencyDecorator.test.FunctionCode.ts | 21 ++++++- .../tests/e2e/idempotencyDecorator.test.ts | 40 ++++++++++++- .../tests/unit/IdempotencyHandler.test.ts | 38 ++++++++++++ .../tests/unit/makeHandlerIdempotent.test.ts | 60 ++++++++++++++++++- .../persistence/BasePersistenceLayer.test.ts | 2 +- .../tests/e2e/basicFeatures.middy.test.ts | 4 +- .../tests/e2e/allFeatures.decorator.test.ts | 48 +++++++-------- .../tests/e2e/allFeatures.manual.test.ts | 34 +++++------ .../tests/e2e/allFeatures.middy.test.ts | 48 +++++++-------- .../tests/e2e/asyncHandler.decorator.test.ts | 40 ++++++------- packages/tracer/tests/helpers/tracesUtils.ts | 8 +-- 17 files changed, 311 insertions(+), 109 deletions(-) diff --git a/package.json b/package.json index 03e6b8b7a5..6f0304cb42 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "scripts": { "init-environment": "husky install", "test": "npm t -ws", + "test:e2e": "npm run test:e2e -ws", "commit": "commit", "package": "npm run package -ws", "setup-local": "npm ci && npm run build && npm run init-environment", diff --git a/packages/commons/tests/utils/e2eUtils.ts b/packages/commons/tests/utils/e2eUtils.ts index b00810d96d..d8f32ad607 100644 --- a/packages/commons/tests/utils/e2eUtils.ts +++ b/packages/commons/tests/utils/e2eUtils.ts @@ -2,7 +2,7 @@ * E2E utils is used by e2e tests. They are helper function that calls either CDK or SDK * to interact with services. */ -import { App, CfnOutput, Stack, Duration } from 'aws-cdk-lib'; +import { App, CfnOutput, Duration, Stack } from 'aws-cdk-lib'; import { NodejsFunction, NodejsFunctionProps, @@ -91,15 +91,11 @@ export const invokeFunction = async ( ): Promise => { const invocationLogs: InvocationLogs[] = []; - const promiseFactory = ( - index?: number, - includeIndex = true - ): Promise => { + const promiseFactory = (index?: number): Promise => { // in some cases we need to send a payload without the index, i.e. idempotency tests const payloadToSend = includeIndex ? { invocation: index, ...payload } : { ...payload }; - const invokePromise = lambdaClient .send( new InvokeCommand({ @@ -126,9 +122,7 @@ export const invokeFunction = async ( const invocation = invocationMode == 'PARALLEL' - ? Promise.all( - promiseFactories.map((factory, index) => factory(index, includeIndex)) - ) + ? Promise.all(promiseFactories.map((factory, index) => factory(index))) : chainPromises(promiseFactories); await invocation; diff --git a/packages/idempotency/src/IdempotencyConfig.ts b/packages/idempotency/src/IdempotencyConfig.ts index ad494bdc64..95b8a96a99 100644 --- a/packages/idempotency/src/IdempotencyConfig.ts +++ b/packages/idempotency/src/IdempotencyConfig.ts @@ -38,6 +38,8 @@ class IdempotencyConfig { /** * Throw an error if the idempotency key is not found in the event. * In some cases, you may want to allow the request to continue without idempotency. + * If set to false and idempotency key is not found, the request will continue without idempotency. + * @default false */ public throwOnNoIdempotencyKey: boolean; /** diff --git a/packages/idempotency/src/IdempotencyHandler.ts b/packages/idempotency/src/IdempotencyHandler.ts index 66ecae19eb..7fece6ba25 100644 --- a/packages/idempotency/src/IdempotencyHandler.ts +++ b/packages/idempotency/src/IdempotencyHandler.ts @@ -9,6 +9,7 @@ import { import { BasePersistenceLayer, IdempotencyRecord } from './persistence'; import { IdempotencyConfig } from './IdempotencyConfig'; import { MAX_RETRIES } from './constants'; +import { search } from 'jmespath'; /** * @internal @@ -127,6 +128,17 @@ export class IdempotencyHandler { } public async processIdempotency(): Promise { + // early return if we should skip idempotency completely + if ( + IdempotencyHandler.shouldSkipIdempotency( + this.idempotencyConfig.eventKeyJmesPath, + this.idempotencyConfig.throwOnNoIdempotencyKey, + this.fullFunctionPayload + ) + ) { + return await this.functionToMakeIdempotent(this.fullFunctionPayload); + } + try { await this.persistenceStore.saveInProgress( this.functionPayloadToBeHashed @@ -146,4 +158,23 @@ export class IdempotencyHandler { return this.getFunctionResult(); } + + /** + * avoid idempotency if the eventKeyJmesPath is not present in the payload and throwOnNoIdempotencyKey is false + * static so {@link makeHandlerIdempotent} middleware can use it + * TOOD: refactor so middy uses IdempotencyHandler internally wihtout reimplementing the logic + * @param eventKeyJmesPath + * @param throwOnNoIdempotencyKey + * @param fullFunctionPayload + * @private + */ + public static shouldSkipIdempotency( + eventKeyJmesPath: string, + throwOnNoIdempotencyKey: boolean, + fullFunctionPayload: Record + ): boolean { + return (eventKeyJmesPath && + !throwOnNoIdempotencyKey && + !search(fullFunctionPayload, eventKeyJmesPath)) as boolean; + } } diff --git a/packages/idempotency/src/middleware/makeHandlerIdempotent.ts b/packages/idempotency/src/middleware/makeHandlerIdempotent.ts index 38e2eaa704..5af5b2ab23 100644 --- a/packages/idempotency/src/middleware/makeHandlerIdempotent.ts +++ b/packages/idempotency/src/middleware/makeHandlerIdempotent.ts @@ -2,9 +2,9 @@ import { IdempotencyHandler } from '../IdempotencyHandler'; import { IdempotencyConfig } from '../IdempotencyConfig'; import { cleanupMiddlewares } from '@aws-lambda-powertools/commons/lib/middleware'; import { + IdempotencyInconsistentStateError, IdempotencyItemAlreadyExistsError, IdempotencyPersistenceLayerError, - IdempotencyInconsistentStateError, } from '../Exceptions'; import { IdempotencyRecord } from '../persistence'; import { MAX_RETRIES } from '../constants'; @@ -50,6 +50,9 @@ const makeHandlerIdempotent = ( config: idempotencyConfig, }); + // keep the flag for after and onError checks + let shouldSkipIdempotency = false; + /** * Function called before the handler is executed. * @@ -72,6 +75,18 @@ const makeHandlerIdempotent = ( request: MiddyLikeRequest, retryNo = 0 ): Promise => { + if ( + IdempotencyHandler.shouldSkipIdempotency( + idempotencyConfig.eventKeyJmesPath, + idempotencyConfig.throwOnNoIdempotencyKey, + request.event as Record + ) + ) { + // set the flag to skip checks in after and onError + shouldSkipIdempotency = true; + + return; + } try { await persistenceStore.saveInProgress( request.event as Record, @@ -114,7 +129,6 @@ const makeHandlerIdempotent = ( } } }; - /** * Function called after the handler has executed successfully. * @@ -125,6 +139,9 @@ const makeHandlerIdempotent = ( * @param request - The Middy request object */ const after = async (request: MiddyLikeRequest): Promise => { + if (shouldSkipIdempotency) { + return; + } try { await persistenceStore.saveSuccess( request.event as Record, @@ -146,6 +163,9 @@ const makeHandlerIdempotent = ( * @param request - The Middy request object */ const onError = async (request: MiddyLikeRequest): Promise => { + if (shouldSkipIdempotency) { + return; + } try { await persistenceStore.deleteRecord( request.event as Record diff --git a/packages/idempotency/src/persistence/BasePersistenceLayer.ts b/packages/idempotency/src/persistence/BasePersistenceLayer.ts index 66ab7ca085..3f4a41ae29 100644 --- a/packages/idempotency/src/persistence/BasePersistenceLayer.ts +++ b/packages/idempotency/src/persistence/BasePersistenceLayer.ts @@ -1,7 +1,7 @@ import { createHash, Hash } from 'node:crypto'; import { search } from 'jmespath'; -import { IdempotencyRecordStatus } from '../types'; import type { BasePersistenceLayerOptions } from '../types'; +import { IdempotencyRecordStatus } from '../types'; import { EnvironmentVariablesService } from '../config'; import { IdempotencyRecord } from './IdempotencyRecord'; import { BasePersistenceLayerInterface } from './BasePersistenceLayerInterface'; @@ -176,10 +176,13 @@ abstract class BasePersistenceLayer implements BasePersistenceLayerInterface { } protected abstract _deleteRecord(record: IdempotencyRecord): Promise; + protected abstract _getRecord( idempotencyKey: string ): Promise; + protected abstract _putRecord(record: IdempotencyRecord): Promise; + protected abstract _updateRecord(record: IdempotencyRecord): Promise; private deleteFromCache(idempotencyKey: string): void { @@ -294,7 +297,7 @@ abstract class BasePersistenceLayer implements BasePersistenceLayerInterface { * Save record to local cache except for when status is `INPROGRESS`. * * We can't cache `INPROGRESS` records because we have no way to reflect updates - * that might happen to the record outside of the execution context of the function. + * that might happen to the record outside the execution context of the function. * * @param record - record to save */ diff --git a/packages/idempotency/tests/e2e/idempotencyDecorator.test.FunctionCode.ts b/packages/idempotency/tests/e2e/idempotencyDecorator.test.FunctionCode.ts index 244457aab3..9d6d0b4471 100644 --- a/packages/idempotency/tests/e2e/idempotencyDecorator.test.FunctionCode.ts +++ b/packages/idempotency/tests/e2e/idempotencyDecorator.test.FunctionCode.ts @@ -3,6 +3,7 @@ import { LambdaInterface } from '@aws-lambda-powertools/commons'; import { idempotentFunction, idempotentLambdaHandler } from '../../src'; import { Logger } from '../../../logger'; import { DynamoDBPersistenceLayer } from '../../src/persistence/DynamoDBPersistenceLayer'; +import { IdempotencyConfig } from '../../src/'; const IDEMPOTENCY_TABLE_NAME = process.env.IDEMPOTENCY_TABLE_NAME || 'table_name'; @@ -62,10 +63,25 @@ class DefaultLambda implements LambdaInterface { _context: Context ): Promise { logger.info(`Got test event: ${JSON.stringify(_event)}`); - // sleep for 5 seconds throw new Error('Failed'); } + + @idempotentLambdaHandler({ + persistenceStore: dynamoDBPersistenceLayer, + config: new IdempotencyConfig({ + eventKeyJmesPath: 'idempotencyKey', + throwOnNoIdempotencyKey: false, + }), + }) + public async handlerWithOptionalIdempoitencyKey( + _event: TestEvent, + _context: Context + ): Promise { + logger.info(`Got test event: ${JSON.stringify(_event)}`); + + return 'This should not be stored in DynamoDB'; + } } const defaultLambda = new DefaultLambda(); @@ -74,6 +90,9 @@ export const handlerCustomized = defaultLambda.handlerCustomized.bind(defaultLambda); export const handlerFails = defaultLambda.handlerFails.bind(defaultLambda); +export const handlerWithOptionalIdempoitencyKey = + defaultLambda.handlerWithOptionalIdempoitencyKey.bind(defaultLambda); + const logger = new Logger(); class LambdaWithKeywordArgument implements LambdaInterface { diff --git a/packages/idempotency/tests/e2e/idempotencyDecorator.test.ts b/packages/idempotency/tests/e2e/idempotencyDecorator.test.ts index 6f028ac203..9b2fb5c26a 100644 --- a/packages/idempotency/tests/e2e/idempotencyDecorator.test.ts +++ b/packages/idempotency/tests/e2e/idempotencyDecorator.test.ts @@ -22,7 +22,7 @@ import { destroyStack, } from '../../../commons/tests/utils/cdk-cli'; import { LEVEL } from '../../../commons/tests/utils/InvocationLogs'; -import { GetCommand } from '@aws-sdk/lib-dynamodb'; +import { GetCommand, ScanCommand } from '@aws-sdk/lib-dynamodb'; import { createHash } from 'node:crypto'; import { createIdempotencyResources } from '../helpers/idempotencyUtils'; @@ -110,6 +110,23 @@ createIdempotencyResources( functionNameFails, 'handlerFails' ); + +const functionNameOptionalIdempotencyKey = generateUniqueName( + RESOURCE_NAME_PREFIX, + uuid, + runtime, + 'optionalIdempotencyKey' +); +const ddbTableNameOptionalIdempotencyKey = + stackName + '-optional-idempotencyKey-table'; +createIdempotencyResources( + stack, + runtime, + ddbTableNameOptionalIdempotencyKey, + decoratorFunctionFile, + functionNameOptionalIdempotencyKey, + 'handlerWithOptionalIdempoitencyKey' +); describe('Idempotency e2e test decorator, default settings', () => { beforeAll(async () => { await deployStack(app, stack); @@ -285,6 +302,27 @@ describe('Idempotency e2e test decorator, default settings', () => { TEST_CASE_TIMEOUT ); + test( + 'when called with a function with optional idempotency key and thorwOnNoIdempotencyKey is false, it does not create ddb entry', + async () => { + const payload = { foo: 'baz' }; // we set eventKeyJmesPath: 'idempotencyKey' in the idempotency configuration + await invokeFunction( + functionNameOptionalIdempotencyKey, + 2, + 'PARALLEL', + payload, + false + ); + const result = await ddb.send( + new ScanCommand({ + TableName: ddbTableNameOptionalIdempotencyKey, + }) + ); + expect(result?.Items).toEqual([]); + }, + TEST_CASE_TIMEOUT + ); + afterAll(async () => { if (!process.env.DISABLE_TEARDOWN) { await destroyStack(app, stack); diff --git a/packages/idempotency/tests/unit/IdempotencyHandler.test.ts b/packages/idempotency/tests/unit/IdempotencyHandler.test.ts index 8f4b4c3a0d..be0dada29e 100644 --- a/packages/idempotency/tests/unit/IdempotencyHandler.test.ts +++ b/packages/idempotency/tests/unit/IdempotencyHandler.test.ts @@ -209,6 +209,44 @@ describe('Class IdempotencyHandler', () => { expect(mockGetRecord).toHaveBeenCalledTimes(1); expect(mockDetermineResultFromIdempotencyRecord).toHaveBeenCalledTimes(1); }); + + test('when throwOnNoIdempotencyKey is false and the key is missing, we skip idempotency', async () => { + const idempotentHandlerSkips = new IdempotencyHandler({ + functionToMakeIdempotent: mockFunctionToMakeIdempotent, + functionPayloadToBeHashed: mockFunctionPayloadToBeHashed, + persistenceStore: mockIdempotencyOptions.persistenceStore, + fullFunctionPayload: mockFullFunctionPayload, + idempotencyConfig: new IdempotencyConfig({ + throwOnNoIdempotencyKey: false, + eventKeyJmesPath: 'idempotencyKey', + }), + }); + + const mockSaveInProgress = jest.spyOn( + mockIdempotencyOptions.persistenceStore, + 'saveInProgress' + ); + + const mockSaveSuccessfulResult = jest.spyOn( + mockIdempotencyOptions.persistenceStore, + 'saveSuccess' + ); + const mockGetRecord = jest.spyOn( + mockIdempotencyOptions.persistenceStore, + 'getRecord' + ); + + mockFunctionToMakeIdempotent.mockImplementation(() => { + return 'result'; + }); + + await expect(idempotentHandlerSkips.processIdempotency()).resolves.toBe( + 'result' + ); + expect(mockSaveInProgress).toHaveBeenCalledTimes(0); + expect(mockGetRecord).toHaveBeenCalledTimes(0); + expect(mockSaveSuccessfulResult).toHaveBeenCalledTimes(0); + }); }); describe('Method: getFunctionResult', () => { diff --git a/packages/idempotency/tests/unit/makeHandlerIdempotent.test.ts b/packages/idempotency/tests/unit/makeHandlerIdempotent.test.ts index c3677032bc..b36dbaf1be 100644 --- a/packages/idempotency/tests/unit/makeHandlerIdempotent.test.ts +++ b/packages/idempotency/tests/unit/makeHandlerIdempotent.test.ts @@ -9,9 +9,9 @@ import { Custom as dummyEvent } from '../../../commons/src/samples/resources/eve import { IdempotencyRecordStatus } from '../../src/types'; import { IdempotencyRecord } from '../../src/persistence'; import { - IdempotencyPersistenceLayerError, - IdempotencyItemAlreadyExistsError, IdempotencyInconsistentStateError, + IdempotencyItemAlreadyExistsError, + IdempotencyPersistenceLayerError, } from '../../src/Exceptions'; import { IdempotencyConfig } from '../../src/'; import middy from '@middy/core'; @@ -268,4 +268,60 @@ describe('Middleware: makeHandlerIdempotent', () => { expect(saveInProgressSpy).toHaveBeenCalledTimes(0); expect(saveSuccessSpy).toHaveBeenCalledTimes(0); }); + + it('skips idempotency if no idempotency key is provided and throwOnNoIdempotencyKey is false', async () => { + // Prepare + const handler = middy( + async (_event: unknown, _context: Context): Promise => true + ).use( + makeHandlerIdempotent({ + ...mockIdempotencyOptions, + config: new IdempotencyConfig({ + eventKeyJmesPath: 'idempotencyKey', + throwOnNoIdempotencyKey: false, + }), + }) + ); + const saveInProgressSpy = jest.spyOn( + mockIdempotencyOptions.persistenceStore, + 'saveInProgress' + ); + const saveSuccessSpy = jest.spyOn( + mockIdempotencyOptions.persistenceStore, + 'saveSuccess' + ); + + // Act + const result = await handler(event, context); + + // Assess + expect(result).toBe(true); + expect(saveInProgressSpy).toHaveBeenCalledTimes(0); + expect(saveSuccessSpy).toHaveBeenCalledTimes(0); + }); + + it(' skips idempotency if error is thrown in the middleware', async () => { + const handler = middy( + async (_event: unknown, _context: Context): Promise => { + throw new Error('Something went wrong'); + } + ).use( + makeHandlerIdempotent({ + ...mockIdempotencyOptions, + config: new IdempotencyConfig({ + eventKeyJmesPath: 'idempotencyKey', + throwOnNoIdempotencyKey: false, + }), + }) + ); + + const deleteRecordSpy = jest.spyOn( + mockIdempotencyOptions.persistenceStore, + 'deleteRecord' + ); + + await expect(handler(event, context)).rejects.toThrowError(); + + expect(deleteRecordSpy).toHaveBeenCalledTimes(0); + }); }); diff --git a/packages/idempotency/tests/unit/persistence/BasePersistenceLayer.test.ts b/packages/idempotency/tests/unit/persistence/BasePersistenceLayer.test.ts index 93133bc11d..9cc3dc63f5 100644 --- a/packages/idempotency/tests/unit/persistence/BasePersistenceLayer.test.ts +++ b/packages/idempotency/tests/unit/persistence/BasePersistenceLayer.test.ts @@ -6,8 +6,8 @@ import { ContextExamples as dummyContext } from '@aws-lambda-powertools/commons'; import { IdempotencyConfig } from '../../../src'; import { - IdempotencyRecord, BasePersistenceLayer, + IdempotencyRecord, } from '../../../src/persistence'; import { IdempotencyItemAlreadyExistsError, diff --git a/packages/logger/tests/e2e/basicFeatures.middy.test.ts b/packages/logger/tests/e2e/basicFeatures.middy.test.ts index 82a849f6b5..7f16412182 100644 --- a/packages/logger/tests/e2e/basicFeatures.middy.test.ts +++ b/packages/logger/tests/e2e/basicFeatures.middy.test.ts @@ -20,10 +20,10 @@ import { } from '../../../commons/tests/utils/cdk-cli'; import { RESOURCE_NAME_PREFIX, - STACK_OUTPUT_LOG_GROUP, SETUP_TIMEOUT, - TEST_CASE_TIMEOUT, + STACK_OUTPUT_LOG_GROUP, TEARDOWN_TIMEOUT, + TEST_CASE_TIMEOUT, XRAY_TRACE_ID_REGEX, } from './constants'; diff --git a/packages/tracer/tests/e2e/allFeatures.decorator.test.ts b/packages/tracer/tests/e2e/allFeatures.decorator.test.ts index fb8ed7a972..43594d7791 100644 --- a/packages/tracer/tests/e2e/allFeatures.decorator.test.ts +++ b/packages/tracer/tests/e2e/allFeatures.decorator.test.ts @@ -5,8 +5,8 @@ */ import path from 'path'; -import { Table, AttributeType, BillingMode } from 'aws-cdk-lib/aws-dynamodb'; -import { App, Stack, RemovalPolicy } from 'aws-cdk-lib'; +import { AttributeType, BillingMode, Table } from 'aws-cdk-lib/aws-dynamodb'; +import { App, RemovalPolicy, Stack } from 'aws-cdk-lib'; import { XRayClient } from '@aws-sdk/client-xray'; import { STSClient } from '@aws-sdk/client-sts'; import { v4 } from 'uuid'; @@ -15,29 +15,29 @@ import { destroyStack, } from '../../../commons/tests/utils/cdk-cli'; import { - getTraces, - getInvocationSubsegment, - splitSegmentsByName, - invokeAllTestCases, createTracerTestFunction, - getFunctionArn, getFirstSubsegment, + getFunctionArn, + getInvocationSubsegment, + getTraces, + invokeAllTestCases, + splitSegmentsByName, } from '../helpers/tracesUtils'; import { generateUniqueName, isValidRuntimeKey, } from '../../../commons/tests/utils/e2eUtils'; import { - RESOURCE_NAME_PREFIX, - SETUP_TIMEOUT, - TEARDOWN_TIMEOUT, - TEST_CASE_TIMEOUT, expectedCustomAnnotationKey, expectedCustomAnnotationValue, + expectedCustomErrorMessage, expectedCustomMetadataKey, expectedCustomMetadataValue, expectedCustomResponseValue, - expectedCustomErrorMessage, + RESOURCE_NAME_PREFIX, + SETUP_TIMEOUT, + TEARDOWN_TIMEOUT, + TEST_CASE_TIMEOUT, } from './constants'; import { assertAnnotation, @@ -242,7 +242,7 @@ describe(`Tracer E2E tests, all features with decorator instantiation for runtim * 1. Lambda Context (AWS::Lambda) * 2. Lambda Function (AWS::Lambda::Function) * 4. DynamoDB (AWS::DynamoDB) - * 4. Remote call (awslabs.github.io) + * 4. Remote call (docs.powertools.aws.dev) */ expect(trace.Segments.length).toBe(4); const invocationSubsegment = getInvocationSubsegment(trace); @@ -251,7 +251,7 @@ describe(`Tracer E2E tests, all features with decorator instantiation for runtim * Invocation subsegment should have a subsegment '## index.handler' (default behavior for Tracer) * '## index.handler' subsegment should have 3 subsegments * 1. DynamoDB (PutItem on the table) - * 2. awslabs.github.io (Remote call) + * 2. docs.powertools.aws.dev (Remote call) * 3. '### myMethod' (method decorator) */ const handlerSubsegment = getFirstSubsegment(invocationSubsegment); @@ -263,11 +263,11 @@ describe(`Tracer E2E tests, all features with decorator instantiation for runtim } const subsegments = splitSegmentsByName(handlerSubsegment.subsegments, [ 'DynamoDB', - 'awslabs.github.io', + 'docs.powertools.aws.dev', '### myMethod', ]); expect(subsegments.get('DynamoDB')?.length).toBe(1); - expect(subsegments.get('awslabs.github.io')?.length).toBe(1); + expect(subsegments.get('docs.powertools.aws.dev')?.length).toBe(1); expect(subsegments.get('### myMethod')?.length).toBe(1); expect(subsegments.get('other')?.length).toBe(0); @@ -350,7 +350,7 @@ describe(`Tracer E2E tests, all features with decorator instantiation for runtim * 1. Lambda Context (AWS::Lambda) * 2. Lambda Function (AWS::Lambda::Function) * 3. DynamoDB (AWS::DynamoDB) - * 4. Remote call (awslabs.github.io) + * 4. Remote call (docs.powertools.aws.dev) */ expect(trace.Segments.length).toBe(4); const invocationSubsegment = getInvocationSubsegment(trace); @@ -359,7 +359,7 @@ describe(`Tracer E2E tests, all features with decorator instantiation for runtim * Invocation subsegment should have a subsegment '## index.handler' (default behavior for Tracer) * '## index.handler' subsegment should have 3 subsegments * 1. DynamoDB (PutItem on the table) - * 2. awslabs.github.io (Remote call) + * 2. docs.powertools.aws.dev (Remote call) * 3. '### myMethod' (method decorator) */ const handlerSubsegment = getFirstSubsegment(invocationSubsegment); @@ -371,11 +371,11 @@ describe(`Tracer E2E tests, all features with decorator instantiation for runtim } const subsegments = splitSegmentsByName(handlerSubsegment.subsegments, [ 'DynamoDB', - 'awslabs.github.io', + 'docs.powertools.aws.dev', '### myMethod', ]); expect(subsegments.get('DynamoDB')?.length).toBe(1); - expect(subsegments.get('awslabs.github.io')?.length).toBe(1); + expect(subsegments.get('docs.powertools.aws.dev')?.length).toBe(1); expect(subsegments.get('### myMethod')?.length).toBe(1); expect(subsegments.get('other')?.length).toBe(0); @@ -414,7 +414,7 @@ describe(`Tracer E2E tests, all features with decorator instantiation for runtim * 1. Lambda Context (AWS::Lambda) * 2. Lambda Function (AWS::Lambda::Function) * 3. DynamoDB (AWS::DynamoDB) - * 4. Remote call (awslabs.github.io) + * 4. Remote call (docs.powertools.aws.dev) */ expect(trace.Segments.length).toBe(4); const invocationSubsegment = getInvocationSubsegment(trace); @@ -423,7 +423,7 @@ describe(`Tracer E2E tests, all features with decorator instantiation for runtim * Invocation subsegment should have a subsegment '## index.handler' (default behavior for Tracer) * '## index.handler' subsegment should have 3 subsegments * 1. DynamoDB (PutItem on the table) - * 2. awslabs.github.io (Remote call) + * 2. docs.powertools.aws.dev (Remote call) * 3. '### myMethod' (method decorator) */ const handlerSubsegment = getFirstSubsegment(invocationSubsegment); @@ -439,11 +439,11 @@ describe(`Tracer E2E tests, all features with decorator instantiation for runtim } const subsegments = splitSegmentsByName(handlerSubsegment.subsegments, [ 'DynamoDB', - 'awslabs.github.io', + 'docs.powertools.aws.dev', '### myMethod', ]); expect(subsegments.get('DynamoDB')?.length).toBe(1); - expect(subsegments.get('awslabs.github.io')?.length).toBe(1); + expect(subsegments.get('docs.powertools.aws.dev')?.length).toBe(1); expect(subsegments.get('### myMethod')?.length).toBe(1); expect(subsegments.get('other')?.length).toBe(0); diff --git a/packages/tracer/tests/e2e/allFeatures.manual.test.ts b/packages/tracer/tests/e2e/allFeatures.manual.test.ts index 15f331c127..dbbebc34ea 100644 --- a/packages/tracer/tests/e2e/allFeatures.manual.test.ts +++ b/packages/tracer/tests/e2e/allFeatures.manual.test.ts @@ -5,8 +5,8 @@ */ import path from 'path'; -import { Table, AttributeType, BillingMode } from 'aws-cdk-lib/aws-dynamodb'; -import { App, Stack, RemovalPolicy } from 'aws-cdk-lib'; +import { AttributeType, BillingMode, Table } from 'aws-cdk-lib/aws-dynamodb'; +import { App, RemovalPolicy, Stack } from 'aws-cdk-lib'; import { XRayClient } from '@aws-sdk/client-xray'; import { STSClient } from '@aws-sdk/client-sts'; import { v4 } from 'uuid'; @@ -15,13 +15,13 @@ import { destroyStack, } from '../../../commons/tests/utils/cdk-cli'; import { - getTraces, - getInvocationSubsegment, - splitSegmentsByName, - invokeAllTestCases, createTracerTestFunction, - getFunctionArn, getFirstSubsegment, + getFunctionArn, + getInvocationSubsegment, + getTraces, + invokeAllTestCases, + splitSegmentsByName, } from '../helpers/tracesUtils'; import type { ParsedTrace } from '../helpers/traceUtils.types'; import { @@ -29,20 +29,20 @@ import { isValidRuntimeKey, } from '../../../commons/tests/utils/e2eUtils'; import { - RESOURCE_NAME_PREFIX, - SETUP_TIMEOUT, - TEARDOWN_TIMEOUT, - TEST_CASE_TIMEOUT, expectedCustomAnnotationKey, expectedCustomAnnotationValue, + expectedCustomErrorMessage, expectedCustomMetadataKey, expectedCustomMetadataValue, expectedCustomResponseValue, - expectedCustomErrorMessage, + RESOURCE_NAME_PREFIX, + SETUP_TIMEOUT, + TEARDOWN_TIMEOUT, + TEST_CASE_TIMEOUT, } from './constants'; import { - assertErrorAndFault, assertAnnotation, + assertErrorAndFault, } from '../helpers/traceAssertions'; const runtime: string = process.env.RUNTIME || 'nodejs18x'; @@ -146,7 +146,7 @@ describe(`Tracer E2E tests, all features with manual instantiation for runtime: * 1. Lambda Context (AWS::Lambda) * 2. Lambda Function (AWS::Lambda::Function) * 3. DynamoDB (AWS::DynamoDB) - * 4. Remote call (awslabs.github.io) + * 4. Remote call (docs.powertools.aws.dev) */ expect(trace.Segments.length).toBe(4); const invocationSubsegment = getInvocationSubsegment(trace); @@ -155,7 +155,7 @@ describe(`Tracer E2E tests, all features with manual instantiation for runtime: * Invocation subsegment should have a subsegment '## index.handler' (default behavior for Tracer) * '## index.handler' subsegment should have 2 subsegments * 1. DynamoDB (PutItem on the table) - * 2. awslabs.github.io (Remote call) + * 2. docs.powertools.aws.dev (Remote call) */ const handlerSubsegment = getFirstSubsegment(invocationSubsegment); expect(handlerSubsegment.name).toBe('## index.handler'); @@ -166,10 +166,10 @@ describe(`Tracer E2E tests, all features with manual instantiation for runtime: } const subsegments = splitSegmentsByName(handlerSubsegment.subsegments, [ 'DynamoDB', - 'awslabs.github.io', + 'docs.powertools.aws.dev', ]); expect(subsegments.get('DynamoDB')?.length).toBe(1); - expect(subsegments.get('awslabs.github.io')?.length).toBe(1); + expect(subsegments.get('docs.powertools.aws.dev')?.length).toBe(1); expect(subsegments.get('other')?.length).toBe(0); const shouldThrowAnError = i === invocations - 1; diff --git a/packages/tracer/tests/e2e/allFeatures.middy.test.ts b/packages/tracer/tests/e2e/allFeatures.middy.test.ts index 6cf3e24f44..69b612b604 100644 --- a/packages/tracer/tests/e2e/allFeatures.middy.test.ts +++ b/packages/tracer/tests/e2e/allFeatures.middy.test.ts @@ -5,8 +5,8 @@ */ import path from 'path'; -import { Table, AttributeType, BillingMode } from 'aws-cdk-lib/aws-dynamodb'; -import { App, Stack, RemovalPolicy } from 'aws-cdk-lib'; +import { AttributeType, BillingMode, Table } from 'aws-cdk-lib/aws-dynamodb'; +import { App, RemovalPolicy, Stack } from 'aws-cdk-lib'; import { XRayClient } from '@aws-sdk/client-xray'; import { STSClient } from '@aws-sdk/client-sts'; import { v4 } from 'uuid'; @@ -15,29 +15,29 @@ import { destroyStack, } from '../../../commons/tests/utils/cdk-cli'; import { - getTraces, - getInvocationSubsegment, - splitSegmentsByName, - invokeAllTestCases, createTracerTestFunction, - getFunctionArn, getFirstSubsegment, + getFunctionArn, + getInvocationSubsegment, + getTraces, + invokeAllTestCases, + splitSegmentsByName, } from '../helpers/tracesUtils'; import { generateUniqueName, isValidRuntimeKey, } from '../../../commons/tests/utils/e2eUtils'; import { - RESOURCE_NAME_PREFIX, - SETUP_TIMEOUT, - TEARDOWN_TIMEOUT, - TEST_CASE_TIMEOUT, expectedCustomAnnotationKey, expectedCustomAnnotationValue, + expectedCustomErrorMessage, expectedCustomMetadataKey, expectedCustomMetadataValue, expectedCustomResponseValue, - expectedCustomErrorMessage, + RESOURCE_NAME_PREFIX, + SETUP_TIMEOUT, + TEARDOWN_TIMEOUT, + TEST_CASE_TIMEOUT, } from './constants'; import { assertAnnotation, @@ -246,7 +246,7 @@ describe(`Tracer E2E tests, all features with middy instantiation for runtime: $ * 1. Lambda Context (AWS::Lambda) * 2. Lambda Function (AWS::Lambda::Function) * 3. DynamoDB Table (AWS::DynamoDB::Table) - * 4. Remote call (awslabs.github.io) + * 4. Remote call (docs.powertools.aws.dev) */ expect(trace.Segments.length).toBe(4); const invocationSubsegment = getInvocationSubsegment(trace); @@ -255,7 +255,7 @@ describe(`Tracer E2E tests, all features with middy instantiation for runtime: $ * Invocation subsegment should have a subsegment '## index.handler' (default behavior for Tracer) * '## index.handler' subsegment should have 2 subsegments * 1. DynamoDB (PutItem on the table) - * 2. awslabs.github.io (Remote call) + * 2. docs.powertools.aws.dev (Remote call) */ const handlerSubsegment = getFirstSubsegment(invocationSubsegment); expect(handlerSubsegment.name).toBe('## index.handler'); @@ -266,10 +266,10 @@ describe(`Tracer E2E tests, all features with middy instantiation for runtime: $ } const subsegments = splitSegmentsByName(handlerSubsegment.subsegments, [ 'DynamoDB', - 'awslabs.github.io', + 'docs.powertools.aws.dev', ]); expect(subsegments.get('DynamoDB')?.length).toBe(1); - expect(subsegments.get('awslabs.github.io')?.length).toBe(1); + expect(subsegments.get('docs.powertools.aws.dev')?.length).toBe(1); expect(subsegments.get('other')?.length).toBe(0); const shouldThrowAnError = i === invocations - 1; @@ -351,7 +351,7 @@ describe(`Tracer E2E tests, all features with middy instantiation for runtime: $ * 1. Lambda Context (AWS::Lambda) * 2. Lambda Function (AWS::Lambda::Function) * 3. DynamoDB Table (AWS::DynamoDB::Table) - * 4. Remote call (awslabs.github.io) + * 4. Remote call (docs.powertools.aws.dev) */ expect(trace.Segments.length).toBe(4); const invocationSubsegment = getInvocationSubsegment(trace); @@ -360,7 +360,7 @@ describe(`Tracer E2E tests, all features with middy instantiation for runtime: $ * Invocation subsegment should have a subsegment '## index.handler' (default behavior for Tracer) * '## index.handler' subsegment should have 2 subsegments * 1. DynamoDB (PutItem on the table) - * 2. awslabs.github.io (Remote call) + * 2. docs.powertools.aws.dev (Remote call) */ const handlerSubsegment = getFirstSubsegment(invocationSubsegment); expect(handlerSubsegment.name).toBe('## index.handler'); @@ -371,10 +371,10 @@ describe(`Tracer E2E tests, all features with middy instantiation for runtime: $ } const subsegments = splitSegmentsByName(handlerSubsegment.subsegments, [ 'DynamoDB', - 'awslabs.github.io', + 'docs.powertools.aws.dev', ]); expect(subsegments.get('DynamoDB')?.length).toBe(1); - expect(subsegments.get('awslabs.github.io')?.length).toBe(1); + expect(subsegments.get('docs.powertools.aws.dev')?.length).toBe(1); expect(subsegments.get('other')?.length).toBe(0); const shouldThrowAnError = i === invocations - 1; @@ -415,7 +415,7 @@ describe(`Tracer E2E tests, all features with middy instantiation for runtime: $ * 1. Lambda Context (AWS::Lambda) * 2. Lambda Function (AWS::Lambda::Function) * 3. DynamoDB Table (AWS::DynamoDB::Table) - * 4. Remote call (awslabs.github.io) + * 4. Remote call (docs.powertools.aws.dev) */ expect(trace.Segments.length).toBe(4); const invocationSubsegment = getInvocationSubsegment(trace); @@ -424,7 +424,7 @@ describe(`Tracer E2E tests, all features with middy instantiation for runtime: $ * Invocation subsegment should have a subsegment '## index.handlerWithNoCaptureResponseViaMiddlewareOption' (default behavior for Tracer) * '## index.handlerWithNoCaptureResponseViaMiddlewareOption' subsegment should have 2 subsegments * 1. DynamoDB (PutItem on the table) - * 2. awslabs.github.io (Remote call) + * 2. docs.powertools.aws.dev (Remote call) */ const handlerSubsegment = getFirstSubsegment(invocationSubsegment); expect(handlerSubsegment.name).toBe( @@ -439,10 +439,10 @@ describe(`Tracer E2E tests, all features with middy instantiation for runtime: $ } const subsegments = splitSegmentsByName(handlerSubsegment.subsegments, [ 'DynamoDB', - 'awslabs.github.io', + 'docs.powertools.aws.dev', ]); expect(subsegments.get('DynamoDB')?.length).toBe(1); - expect(subsegments.get('awslabs.github.io')?.length).toBe(1); + expect(subsegments.get('docs.powertools.aws.dev')?.length).toBe(1); expect(subsegments.get('other')?.length).toBe(0); const shouldThrowAnError = i === invocations - 1; diff --git a/packages/tracer/tests/e2e/asyncHandler.decorator.test.ts b/packages/tracer/tests/e2e/asyncHandler.decorator.test.ts index 2506e8a514..13693dfbdd 100644 --- a/packages/tracer/tests/e2e/asyncHandler.decorator.test.ts +++ b/packages/tracer/tests/e2e/asyncHandler.decorator.test.ts @@ -5,8 +5,8 @@ */ import path from 'path'; -import { Table, AttributeType, BillingMode } from 'aws-cdk-lib/aws-dynamodb'; -import { App, Stack, RemovalPolicy } from 'aws-cdk-lib'; +import { AttributeType, BillingMode, Table } from 'aws-cdk-lib/aws-dynamodb'; +import { App, RemovalPolicy, Stack } from 'aws-cdk-lib'; import { XRayClient } from '@aws-sdk/client-xray'; import { STSClient } from '@aws-sdk/client-sts'; import { v4 } from 'uuid'; @@ -15,30 +15,30 @@ import { destroyStack, } from '../../../commons/tests/utils/cdk-cli'; import { - getTraces, - getInvocationSubsegment, - splitSegmentsByName, - invokeAllTestCases, createTracerTestFunction, - getFunctionArn, getFirstSubsegment, + getFunctionArn, + getInvocationSubsegment, + getTraces, + invokeAllTestCases, + splitSegmentsByName, } from '../helpers/tracesUtils'; import { generateUniqueName, isValidRuntimeKey, } from '../../../commons/tests/utils/e2eUtils'; import { - RESOURCE_NAME_PREFIX, - SETUP_TIMEOUT, - TEARDOWN_TIMEOUT, - TEST_CASE_TIMEOUT, - expectedCustomErrorMessage, expectedCustomAnnotationKey, expectedCustomAnnotationValue, + expectedCustomErrorMessage, expectedCustomMetadataKey, expectedCustomMetadataValue, expectedCustomResponseValue, expectedCustomSubSegmentName, + RESOURCE_NAME_PREFIX, + SETUP_TIMEOUT, + TEARDOWN_TIMEOUT, + TEST_CASE_TIMEOUT, } from './constants'; import { assertAnnotation, @@ -179,7 +179,7 @@ describe(`Tracer E2E tests, asynchronous handler with decorator instantiation fo * 1. Lambda Context (AWS::Lambda) * 2. Lambda Function (AWS::Lambda::Function) * 3. DynamoDB Table (AWS::DynamoDB::Table) - * 4. Remote call (awslabs.github.io) + * 4. Remote call (docs.powertools.aws.dev) */ expect(trace.Segments.length).toBe(4); const invocationSubsegment = getInvocationSubsegment(trace); @@ -188,7 +188,7 @@ describe(`Tracer E2E tests, asynchronous handler with decorator instantiation fo * Invocation subsegment should have a subsegment '## index.handler' (default behavior for Tracer) * '## index.handler' subsegment should have 3 subsegments * 1. DynamoDB (PutItem on the table) - * 2. awslabs.github.io (Remote call) + * 2. docs.powertools.aws.dev (Remote call) * 3. '### myMethod' (method decorator) */ const handlerSubsegment = getFirstSubsegment(invocationSubsegment); @@ -200,11 +200,11 @@ describe(`Tracer E2E tests, asynchronous handler with decorator instantiation fo } const subsegments = splitSegmentsByName(handlerSubsegment.subsegments, [ 'DynamoDB', - 'awslabs.github.io', + 'docs.powertools.aws.dev', '### myMethod', ]); expect(subsegments.get('DynamoDB')?.length).toBe(1); - expect(subsegments.get('awslabs.github.io')?.length).toBe(1); + expect(subsegments.get('docs.powertools.aws.dev')?.length).toBe(1); expect(subsegments.get('### myMethod')?.length).toBe(1); expect(subsegments.get('other')?.length).toBe(0); @@ -287,7 +287,7 @@ describe(`Tracer E2E tests, asynchronous handler with decorator instantiation fo * 1. Lambda Context (AWS::Lambda) * 2. Lambda Function (AWS::Lambda::Function) * 3. DynamoDB Table (AWS::DynamoDB::Table) - * 4. Remote call (awslabs.github.io) + * 4. Remote call (docs.powertools.aws.dev) */ expect(trace.Segments.length).toBe(4); const invocationSubsegment = getInvocationSubsegment(trace); @@ -296,7 +296,7 @@ describe(`Tracer E2E tests, asynchronous handler with decorator instantiation fo * Invocation subsegment should have a subsegment '## index.handler' (default behavior for Tracer) * '## index.handler' subsegment should have 3 subsegments * 1. DynamoDB (PutItem on the table) - * 2. awslabs.github.io (Remote call) + * 2. docs.powertools.aws.dev (Remote call) * 3. '### mySubsegment' (method decorator with custom name) */ const handlerSubsegment = getFirstSubsegment(invocationSubsegment); @@ -310,11 +310,11 @@ describe(`Tracer E2E tests, asynchronous handler with decorator instantiation fo } const subsegments = splitSegmentsByName(handlerSubsegment.subsegments, [ 'DynamoDB', - 'awslabs.github.io', + 'docs.powertools.aws.dev', expectedCustomSubSegmentName, ]); expect(subsegments.get('DynamoDB')?.length).toBe(1); - expect(subsegments.get('awslabs.github.io')?.length).toBe(1); + expect(subsegments.get('docs.powertools.aws.dev')?.length).toBe(1); expect(subsegments.get(expectedCustomSubSegmentName)?.length).toBe(1); expect(subsegments.get('other')?.length).toBe(0); diff --git a/packages/tracer/tests/helpers/tracesUtils.ts b/packages/tracer/tests/helpers/tracesUtils.ts index b742a1f9b7..3bda9c551c 100644 --- a/packages/tracer/tests/helpers/tracesUtils.ts +++ b/packages/tracer/tests/helpers/tracesUtils.ts @@ -2,25 +2,25 @@ import promiseRetry from 'promise-retry'; import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs'; import { Duration } from 'aws-cdk-lib'; import { Architecture, Tracing } from 'aws-cdk-lib/aws-lambda'; +import type { XRayClient } from '@aws-sdk/client-xray'; import { - GetTraceSummariesCommand, BatchGetTracesCommand, + GetTraceSummariesCommand, } from '@aws-sdk/client-xray'; -import type { XRayClient } from '@aws-sdk/client-xray'; import type { STSClient } from '@aws-sdk/client-sts'; import { GetCallerIdentityCommand } from '@aws-sdk/client-sts'; import { expectedCustomAnnotationKey, expectedCustomAnnotationValue, + expectedCustomErrorMessage, expectedCustomMetadataKey, expectedCustomMetadataValue, expectedCustomResponseValue, - expectedCustomErrorMessage, } from '../e2e/constants'; import { invokeFunction, - TestRuntimesKey, TEST_RUNTIMES, + TestRuntimesKey, } from '../../../commons/tests/utils/e2eUtils'; import { FunctionSegmentNotDefinedError } from './FunctionSegmentNotDefinedError'; import type { From 9c75f9a8a0b2fc4b24bbd37fdb00620d06903283 Mon Sep 17 00:00:00 2001 From: Simon Thulbourn Date: Tue, 20 Jun 2023 13:29:37 +0200 Subject: [PATCH 16/35] fix: update reference in workflow (#1518) --- .github/workflows/reusable_export_pr_details.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable_export_pr_details.yml b/.github/workflows/reusable_export_pr_details.yml index fb184a0a34..8695b522f2 100644 --- a/.github/workflows/reusable_export_pr_details.yml +++ b/.github/workflows/reusable_export_pr_details.yml @@ -36,7 +36,7 @@ on: jobs: export_pr_details: # see https://github.com/aws-powertools/powertools-lambda-python/issues/1349 - if: inputs.workflow_origin == 'aws-powertools/lambda-typescript' + if: inputs.workflow_origin == 'aws-powertools/powertools-lambda-typescript' runs-on: ubuntu-latest env: FILENAME: pr.txt @@ -83,4 +83,4 @@ jobs: run: echo prAction="$(jq -c '.action' "${FILENAME}")" >> "$GITHUB_OUTPUT" - name: "Export Pull Request Merged status" id: prIsMerged - run: echo prIsMerged="$(jq -c '.pull_request.merged' "${FILENAME}")" >> "$GITHUB_OUTPUT" \ No newline at end of file + run: echo prIsMerged="$(jq -c '.pull_request.merged' "${FILENAME}")" >> "$GITHUB_OUTPUT" From 84b029a1c87202b03cf3eb9d93e9477d4647bccf Mon Sep 17 00:00:00 2001 From: Simon Thulbourn Date: Tue, 20 Jun 2023 16:43:42 +0200 Subject: [PATCH 17/35] chore(docs): upload versions.json (#1521) --- .github/workflows/reusable-publish-docs.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml index 2f53f9049d..be135d2443 100644 --- a/.github/workflows/reusable-publish-docs.yml +++ b/.github/workflows/reusable-publish-docs.yml @@ -125,4 +125,16 @@ jobs: run: | aws s3 sync \ site/ \ - s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/${{ env.ALIAS }}/ \ No newline at end of file + s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/${{ env.ALIAS }}/ + - name: Deploy Docs (Version JSON) + env: + VERSION: ${{ inputs.version }} + ALIAS: ${{ inputs.alias }} + run: | + aws s3 cp \ + s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/versions.json \ + versions_old.json + jq '. += [{"version": "${{ env.VERSION }}", "title": "${{ env.VERSION }}", "aliases": []}]' < versions_old.json > versions.json + aws s3 cp \ + versions.json \ + s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/versions.json \ No newline at end of file From 4f1591d699badf8a10f0e30603a650802ecc05e2 Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Tue, 20 Jun 2023 21:22:05 +0200 Subject: [PATCH 18/35] docs: refresh contributing docs (#1526) --- CONTRIBUTING.md | 271 +++++++++++++++++++++++++----------------------- package.json | 1 - 2 files changed, 142 insertions(+), 130 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0bbc622caa..906af7ff70 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,22 +11,6 @@ information to effectively respond to your bug report or contribution. - [Security issue notifications](#security-issue-notifications) - [Code of Conduct](#code-of-conduct) - [Reporting Bugs/Feature Requests](#reporting-bugsfeature-requests) -- [Getting Started](#getting-started) - - [Setup](#setup) - - [Repo Layout](#repo-layout) - - [Tests](#tests) - - [Unit tests](#unit-tests) - - [Write](#write) - - [Run](#run) - - [e2e tests](#e2e-tests) - - [Set up](#set-up) - - [Write](#write-1) - - [Run](#run-1) - - [Automate](#automate) - - [Local documentation](#local-documentation) - - [API reference](#api-reference) - - [Docs website](#docs-website) - - [Conventions](#conventions) - [Contributing via Pull Requests](#contributing-via-pull-requests) - [Summary](#summary) - [Step 1: Find something to work on](#step-1-find-something-to-work-on) @@ -34,6 +18,18 @@ information to effectively respond to your bug report or contribution. - [Step 3: Work your Magic](#step-3-work-your-magic) - [Step 4: Pull Request](#step-4-pull-request) - [Step 5: Merge](#step-5-merge) +- [Setup Development Environment](#setup-development-environment) + - [Prerequisites](#prerequisites) + - [Repo Layout](#repo-layout) + - [Tests](#tests) + - [Unit tests](#unit-tests) + - [Integration tests](#integration-tests) + - [Run e2e tests on your forked project](#run-e2e-tests-on-your-forked-project) + - [Documentation](#documentation) + - [API reference](#api-reference) + - [Docs website](#docs-website) + - [Build \& Package](#build--package) + - [Conventions](#conventions) - [Licensing](#licensing) ## Security issue notifications @@ -57,23 +53,99 @@ reported the issue. Please try to include as much information as you can. Detail * Any modifications you've made relevant to the bug * Anything unusual about your environment or deployment -## Getting Started +## Contributing via Pull Requests + +Contributions via pull requests are much appreciated. + +### Summary + +* This project uses `node@18.x` and `npm@9.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. + +### Step 1: Find something to work on + +If you want to contribute a specific feature or fix you have in mind, look at active [pull +requests](https://github.com/aws-powertools/powertools-lambda-typescript/pulls) to see if someone else is already working on it. If not, you can start designing your changes. + +On the other hand, if you are here looking for an issue to work on, check out our [backlog of +issues](https://github.com/aws-powertools/powertools-lambda-typescript/issues) and find something that piques your interest. Our project, by default, uses the default GitHub issue labels (enhancement/bug/help wanted/invalid/question/documentation), looking at any issue labeled as 'help wanted' or 'good-first-issue' is a great place to start. + +It's a good idea to keep the priority of issues in mind when deciding what to +work on. If we have labelled an issue as `priority:medium` or `priority:low`, it means it's something we won't +get to soon while `priority:high` issues have a bigger impact, so we are much more likely to give a PR for those issues prompt attention. + +### Step 2: Design + +You can start by checking the project's tenets [here](https://docs.powertools.aws.dev/lambda-typescript/latest/#tenets). + +We ask you to seek feedback and consensus on your proposed change by iterating on a design document. This is especially useful when you plan a big change or feature, or you want advice on what would be the best path forward. + +If you're picking up an existing issue, you can simply post your comment and discuss your proposed changes. If instead you're proposing a new feature, you can start by creating a new [RFC issue](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=RFC%2C+triage&template=rfc.md&title=RFC%3A+) and discuss your proposed change with the maintainers. + +This is a great way to get feedback on your proposed change and make sure that it is in line with the project's direction and community needs. You can start working on the change when you've gotten approved by at least one maintainer - we would hate for your time to be wasted. + +### Step 3: Work your Magic + +Work your magic. Before starting, make sure to check the [Getting Started](#Getting-Started) section to setup your dev environment and familiarize yourself with the project's structure and design. Here are some additional guidelines: + +* Working against the latest source on the **main** branch. +* Try to maintain a single feature/bugfix per pull request. It's okay to introduce a little bit of housekeeping + changes along the way, but try to avoid conflating multiple features. Eventually, all these are going to go into a + single commit, so you can use that to frame your scope. +* Try to add [unit tests](#Tests) that test your changes when applicable. This is especially important for new features and bug fixes, as it helps you to make sure that your changes are working as intended. +* Lint and test the code. When you've setup the repository with `npm run init-environment`, pre-commit and push-hooks will automatically lint and test the code. Pull request builds will run the same checks as well. + +### Step 4: Pull Request + +Once you're done with your changes, you can open a pull request. Make sure to follow the checklist inside the pull request template: + +* Create a commit with your changes and push them to a + [fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo). + > Note: Core members can push directly to a branch on the Powertools for AWS Lambda (TypeScript) repo (following the same conventions detailed below). +* Create a [pull request on GitHub](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork). + +Pull request title and message (and PR title and description) must adhere to [conventionalcommits](https://www.conventionalcommits.org), this is enforced by the CI. This is a summary of the rules: +* The title must begin with `feat(module): title`, `fix(module): title`, `refactor(module): title` or `chore(module): title`, etc. +* Title should be lowercase. +* No period at the end of the title. + +The pull request body should describe _motivation_ and follow the template provided as closely as possible. Think about your code reviewers and what information they need in order to understand what you did. If it's a big commit (hopefully not), try to provide some good entry points so it will be easier to follow. + +The body should also include a reference to the issue or RFC that this PR is related to in the appropriate section. + +Once the pull request is submitted, a reviewer will be assigned by the maintainers. -The following steps describe how to set up the Powertools for AWS Lambda (TypeScript) repository on your local machine. +Discuss review comments and iterate until you get at least one "Approve". When iterating, push new commits to the same branch. Usually, all these are going to be squashed when the maintainers merge to `main`. The commit messages should be hints for you when you finalize your merge commit message. + +> **Note** +> Please do not remove the legal notice at the end of the PR message. This is a requirement for any pull request to be reviewed & accepted into the project. + +### Step 5: Merge + +Once approved and tested, one of the maintainers will squash-merge to `main` and will use your PR title/description will be used as the commit message. Your name will be also added to the Release Notes of the next release. + +## Setup Development Environment + +The following sections describe how to set up the Powertools for AWS Lambda (TypeScript) repository on your local machine and perform common development tasks. The alternative is to use a Cloud IDE like [Gitpod](https://www.gitpod.io/) or [GitHub CodeSpaces](https://github.com/features/codespaces) for your development. To quickly get up and running you can click one of these button to open a cloned version of this repo with all of the prerequisites and dependencies installed: [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/aws-powertools/powertools-lambda-typescript) [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=305501331) -### Setup +### Prerequisites -The following tools need to be installed on your system prior to starting working on a pull request: +#### Required - [Node.js 18.x](https://nodejs.org/download/release/latest-v18.x/) - If you use [nvm](https://github.com/nvm-sh/nvm#nvmrc) or [fnm](https://github.com/Schniz/fnm) you can install the version used in the project with `nvm use` or `fnm use` respectively. Both will use the `.nvmrc` file in the project's root. - [npm 9.x](https://www.npmjs.com/) - After installing the Node.js version above, your npm version should be already 9.x as it comes bundled with Node.js. + +#### Optional + - [AWS SAM CLI >= 1.65.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/) @@ -85,19 +157,17 @@ First, [fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) the > In order for the commands below to work you need Node.js `18.x` and npm `9.x` ```console -git clone https://github.com/{your-account}/aws-lambda-powertools-typescript.git +git clone https://github.com/{your-account}/powertools-lambda-typescript.git cd aws-lambda-powertools-typescript npm run setup-local ``` -We recommend that you use [Visual Studio Code](https://code.visualstudio.com/) to work on the repo. -We use `eslint` and `prettier` to keep our code consistent in terms of style and reducing defects. -We recommend installing the [eslint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) and [prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) extensions as well. +We recommend that you use [Visual Studio Code](https://code.visualstudio.com/) to work on the repo. We use `eslint` and `prettier` to keep our code consistent in terms of style and reducing defects, installing [eslint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) and [prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) extensions will help you to keep the code consistent by highlighting any issues in your code and automatically fixing them. ### Repo Layout The Powertools for AWS Lambda (TypeScript) is fully written in [TypeScript](https://www.typescriptlang.org/) and uses a monorepo structure [managed using npm workspaces](https://docs.npmjs.com/cli/v8/using-npm/workspaces). -If you're unfamiliar with any of these technologies, it is useful to learn about them and will make understanding the codebase easier but strictly not necessary for simple contributions. +If you're unfamiliar with any of these topics, it is useful to learn about them and will make understanding the codebase easier but strictly not necessary for simple contributions. The repo contains `packages/` directory that contains the Powertools for AWS Lambda (TypeScript) utilities modules. For instance, the source code for the Logger utility can be found at the location `packages/logger` and so on. The repo also contains a `packages/commons` directory that holds code and logic shared between one or more utilities and that is published as a separate npm package. @@ -106,21 +176,17 @@ There are also other workspaces that are not part of the Powertools for AWS Lamb ### Tests -Tests are under the `tests` folder of each module and split into two categories: unit tests and e2e (end-to-end/integration) tests. +Unit and integration (e2e) tests can be found under the `tests` folder of each module. You can run each group separately or all together thanks to [jest-runner-groups](https://www.npmjs.com/package/jest-runner-groups). -Unit tests, under `tests/unit` folder, are standard [Jest](https://jestjs.io) tests. - -Integration tests, under `tests/e2e` folder, will test the module features by deploying AWS Lambda functions into your AWS Account. We use [aws-cdk](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html) v2 library with TypeScript for creating infrastructure, and the AWS SDK for invoking the functions and asserting on the expected behaviors. All steps are also executed by Jest. +Unit tests, under `tests/unit` folder, are standard [Jest](https://jestjs.io) unit tests that aim to test the module features in isolation. -Running end-to-end tests will deploy AWS resources. You will need an AWS account, and the tests might incur costs. The cost from **some services** are 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) but not all of them. 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/). - -When contributing to this repository, these end-to-end tests are run by the maintainers before merging a PR. +Integration tests, under `tests/e2e` folder, will test the module features by deploying AWS Lambda functions into your AWS Account. We use [AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html) for creating the infrastructure, and the AWS SDK for invoking the functions. #### Unit tests -##### Write +##### Write As mentioned before, tests are split into groups thanks to [jest-runner-groups](https://www.npmjs.com/package/jest-runner-groups), and therefore, each test needs to be tagged properly by adding the following comments in the header of your unit test file: @@ -132,22 +198,25 @@ As mentioned before, tests are split into groups thanks to [jest-runner-groups]( */ ``` -##### Run +##### Run To run unit tests, you can either use: * `npm test -ws` while in the root folder to run them all -* `npm test -w packages/metrics` while in the root folder to run the module specific ones +* `npm test -w packages/metrics` while in the root folder to run all the unit tests that belong to an utility + +#### Integration tests -#### e2e tests +> **Note** +> Running teh end-to-end tests will deploy AWS resources in your AWS account, which might incur costs. The cost from **some services** are 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) but not all of them. 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/). Alternatively, you can we will run the tests for you in CI when you submit a pull request. -##### Set up +##### Set up -We create e2e testing infrastructure with CDK. If you have never used it before, please check its [Getting started guide](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html). You need to run `cdk bootstrap` in the account and region you are going to run e2e tests in. +As mentioned, the integration tests use AWS CDK to create the infrastructure needed for the tests. If this is the first time you use CDK, you need to run [`cdk bootstrap`](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) in the account and region you are going to run e2e tests in. -##### Write +##### Write -As mentioned in the previous section, tests are split into groups thanks to [jest-runner-groups](https://www.npmjs.com/package/jest-runner-groups), and therefore, each test needs to be tagged properly by adding the following comments in the header of your unit test file: +Similar to unit tests, e2e tests are split into groups thanks to [jest-runner-groups](https://www.npmjs.com/package/jest-runner-groups), and therefore, each test needs to be tagged properly by adding the following comments in the header of your unit test file: ```typescript /** @@ -161,22 +230,37 @@ Follow this convention for the test filename: `..tes See `metrics/tests/e2e/basicFeatures.decorator.test.ts` as an example. -##### Run +##### Run To run e2e tests, you can either use: * `npm test:e2e -ws` while in the root folder to run them all * `npm test:e2e -w packages/metrics` while in the root folder to run the module specific ones -Three important environment variables can be used: +Four important environment variables can be used: +* `RUNTIME` to select the runtime to use for the Lambda functions (default: `nodejs18x`) * `AWS_PROFILE` to use the right AWS credentials * `AWS_REGION` to select the region to deploy e2e tests infrastructure to * `DISABLE_TEARDOWN` if you don't want your stack to be destroyed at the end of the test (useful in dev mode when iterating over your code). -Example: `DISABLE_TEARDOWN=true AWS_PROFILE=dev-account AWS_REGION=eu-west-1 npx jest --group=e2e/metrics/decorator` +Example: `DISABLE_TEARDOWN=true RUNTIME=nodejs18 AWS_PROFILE=dev-account AWS_REGION=eu-west-1 npm test:e2e -w packages/metrics` + +Below is a diagram that shows the flow of the integration tests: + +```mermaid +sequenceDiagram + Dev Environment / CI->>+Jest: npm run test:e2e + Jest-->Jest: Synthetize CloudFormation Stack + Jest->>+AWS: Deploy Stack + Jest->>+AWS: Invoke Lambda function + AWS->>Jest: Report logs / results + Jest-->Jest: Assert logs/result + Jest->>+AWS: Destroy Stack + Jest->>+Dev Environment / CI: show test results +``` -##### Automate +##### Run e2e tests on your forked project You can run the end-to-end tests automatically on your forked project by following these steps: @@ -202,7 +286,7 @@ You can run the end-to-end tests automatically on your forked project by followi > :warning: **Don't automatically run end-to-end tests on branch push or PRs**. A malicious attacker can submit a pull request to attack your AWS account. Ideally, use a blank account without any important workload/data, and limit `AWS_ROLE_ARN_TO_ASSUME` permission to least minimum privilege. -### Local documentation +### Documentation You might find useful to run both the documentation website and the API reference locally while contributing. @@ -224,6 +308,19 @@ Alternatively you can run these two commands: * `npm run docs-buildDockerImage` OR `docker build -t squidfunk/mkdocs-material ./docs/` * `npm run docs-runLocalDocker` OR `docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material` +### Build & Package + +In some cases, you might want to build and package the utilities to test them in a separate project or to make sure that the bundling is working as expected. + +Before running the following commands, make sure that you have installed the dependencies for the current branch by running `npm ci` in the root folder: +- `npm run build` to build the project, this will generate a `lib` folder in each one of the packages folders. +- `npm pack -w packages/metrics` to package a specific utility, this will generate a `.tgz` file in the root folder. +- `git restore .` to restore the changes made by the build and package commands. + +If you want to package more than one utility, you can append one or more flags to the same command, for example: `npm pack -w packages/metrics -w packages/logger`. + +You can then install the package in your project by running `npm install `. + ### Conventions | Category | Convention | @@ -234,90 +331,6 @@ Alternatively you can run these two commands: | **Git commits** | We follow [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/). These are not enforced as we squash and merge PRs, but PR titles are enforced during CI. | | **Documentation** | API reference docs are generated from docstrings which should have an Examples section to allow developers to have what they need within their own IDE. Documentation website covers the wider usage, tips, and strives to be concise. | -## Contributing via Pull Requests - -Contributions via pull requests are much appreciated. - -### Summary - -* This project uses `node@18.x` and `npm@9.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. - -### Step 1: Find something to work on - -If you want to contribute a specific feature or fix you have in mind, look at active [pull -requests](https://github.com/aws-powertools/powertools-lambda-typescript/pulls) to see if someone else is already working on it. If not, you can start designing your changes. - -On the other hand, if you are here looking for an issue to work on, check out our [backlog of -issues](https://github.com/aws-powertools/powertools-lambda-typescript/issues) and find something that piques your interest. Our project, by default, uses the default GitHub issue labels (enhancement/bug/help wanted/invalid/question/documentation), looking at any issue labeled as 'help wanted' or 'good-first-issue' is a great place to start. - -It's a good idea to keep the priority of issues in mind when deciding what to -work on. If we have labelled an issue as `priority:medium` or `priority:low`, it means it's something we won't -get to soon while `priority:high` issues have a bigger impact, so we are much more likely to give a PR for those issues prompt attention. - -### Step 2: Design - -You can start by checking the project's tenets [here](https://docs.powertools.aws.dev/lambda-typescript/latest/#tenets). - -We ask you to seek feedback and consensus on your proposed change by iterating on a design document. This is especially useful when you plan a big change or feature, or you want advice on what would be the best path forward. - -If you're picking up an existing issue, you can simply post your comment and discuss your proposed changes. If instead you're proposing a new feature, you can start by creating a new [RFC issue](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=RFC%2C+triage&template=rfc.md&title=RFC%3A+) and discuss your proposed change with the maintainers. - -This is a great way to get feedback on your proposed change and make sure that it is in line with the project's direction and community needs. You can start working on the change when you've gotten approved by at least one maintainer - we would hate for your time to be wasted. - -### Step 3: Work your Magic - -Work your magic. Before starting, make sure to check the [Getting Started](#Getting-Started) section to setup your dev environment and familiarize yourself with the project's structure and design. Here are some additional guidelines: - -* Working against the latest source on the **main** branch. -* Try to maintain a single feature/bugfix per pull request. It's okay to introduce a little bit of housekeeping - changes along the way, but try to avoid conflating multiple features. Eventually, all these are going to go into a - single commit, so you can use that to frame your scope. -* Try to add [unit tests](#Tests) that test your changes when applicable. This is especially important for new features and bug fixes, as it helps you to make sure that your changes are working as intended. -* Lint and test the code. When you've setup the repository with `npm run init-environment`, pre-commit and push-hooks will automatically lint and test the code. Pull request builds will run the same checks as well. - -### Step 4: Pull Request - -* Create a commit with your changes and push them to a - [fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo). - > Note: Core members can push directly to a branch on the Powertools for AWS Lambda (TypeScript) repo (following the same conventions detailed below). -* Create a [pull request on GitHub](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork). - -* Pull request title and message (and PR title and description) must adhere to - [conventionalcommits](https://www.conventionalcommits.org). - * The title must begin with `feat(module): title`, `fix(module): title`, `refactor(module): title` or - `chore(module): title`, etc. - * Title should be lowercase. - * No period at the end of the title. - -* Pull request message should describe _motivation_ and follow the template provided as closely as possible. Think about your code reviewers and what information they need in order to understand what you did. If it's a big commit (hopefully not), try to provide some good entry points so it will be easier to follow. - -* Pull request message should indicate which issue or RFC it relates to in the "Related issues, RFCs" section. - -* Shout out to collaborators. - -* If not obvious (i.e. from unit tests), describe how you verified that your change works. - -* If this PR includes breaking changes, they must be listed at the end in the "Breaking change checklist" section. - -* Once the pull request is submitted, a reviewer will be assigned by the maintainers. - -* Discuss review comments and iterate until you get at least one "Approve". When iterating, push new commits to the - same branch. Usually, all these are going to be squashed when the maintainers merge to `main`. The commit messages should be hints - for you when you finalize your merge commit message. - -* Make sure to update the PR title/description if things change. The PR title/description are going to be used as the - commit title/message and will appear in the CHANGELOG and Release Notes, so maintain them all the way throughout the process. - -* Do not remove the legal notice at the end of the PR message. This is a requirement for any pull request to be - reviewed & accepted. - -### Step 5: Merge - -* Once approved and tested, one of the maintainers will squash-merge to `main` and will use your PR title/description will be used as the commit message. Your name will be also added to the Release Notes of the next release. - ## Licensing See the [LICENSE](LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution. diff --git a/package.json b/package.json index 6f0304cb42..4ef939bb63 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,6 @@ "test": "npm t -ws", "test:e2e": "npm run test:e2e -ws", "commit": "commit", - "package": "npm run package -ws", "setup-local": "npm ci && npm run build && npm run init-environment", "build": "npm run build -ws", "docs-website-build-run": "npm run docs-buildDockerImage && npm run docs-runLocalDocker", From 4c9f3ebccc7aa104a1eccdcb05d1f6c1544665de Mon Sep 17 00:00:00 2001 From: Simon Thulbourn Date: Wed, 21 Jun 2023 15:58:06 +0200 Subject: [PATCH 19/35] chore(docs): publish aliases in versions.json (#1522) * fix(docs): aliases in versions.json * fix alignment * Update .github/workflows/reusable-publish-docs.yml * Update reusable-publish-docs.yml * change stanza name * remove dupe code * remove dupe code * Update reusable-publish-docs.yml --------- Co-authored-by: Andrea Amorosi --- .github/workflows/reusable-publish-docs.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml index be135d2443..47e70910fd 100644 --- a/.github/workflows/reusable-publish-docs.yml +++ b/.github/workflows/reusable-publish-docs.yml @@ -130,11 +130,20 @@ jobs: env: VERSION: ${{ inputs.version }} ALIAS: ${{ inputs.alias }} + # We originally used "mike" from PyPi to manage versions for us, but since we moved to S3, we can't use it to manage versions any more. + # Instead, we're using some shell script that manages the versions. + # + # Operations: + # 1. Download the versions.json file from S3 + # 2. Find any reference to the alias and delete it from the versions file + # 3. We insert the new version to the versions.json file with the corresponding alias + # 4. Once done, we'll upload it back to S3. run: | aws s3 cp \ s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/versions.json \ versions_old.json - jq '. += [{"version": "${{ env.VERSION }}", "title": "${{ env.VERSION }}", "aliases": []}]' < versions_old.json > versions.json + jq 'del(.[].aliases[] | select(. == "${{ env.ALIAS }}"))' < versions_old.json > versions_proc.json + jq '. += [{"version": "${{ env.VERSION }}", "title": "${{ env.VERSION }}", "aliases": ["${{ env.ALIAS }}"]}]' < versions_proc.json > versions.json aws s3 cp \ versions.json \ - s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/versions.json \ No newline at end of file + s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/versions.json From 5cb01609324815e0189293e6a96a0d237352b978 Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Wed, 21 Jun 2023 16:06:49 +0200 Subject: [PATCH 20/35] docs(maintenance): update Middy sections (#1524) * fix: add back code copy button * chore: clarify instrument clients * docs: update middy info --- docs/core/logger.md | 9 ++++++--- docs/core/metrics.md | 9 ++++++--- docs/core/tracer.md | 12 ++++-------- docs/index.md | 2 +- docs/snippets/tracer/captureAWS.ts | 5 ++++- docs/snippets/tracer/captureAWSAll.ts | 6 ++++++ docs/snippets/tracer/captureAWSv3.ts | 5 ++++- docs/snippets/tracer/middy.ts | 2 +- mkdocs.yml | 1 + 9 files changed, 33 insertions(+), 18 deletions(-) diff --git a/docs/core/logger.md b/docs/core/logger.md index 8707da5580..7dcdf04eff 100644 --- a/docs/core/logger.md +++ b/docs/core/logger.md @@ -108,9 +108,9 @@ This functionality will include the following keys in your structured logs: === "Middy Middleware" - !!! tip "Using Middy for the first time?" - You can install Middy by running `npm i @middy/core`. - Learn more about [its usage and lifecycle in the official Middy documentation](https://middy.js.org/docs/intro/getting-started){target="_blank"}. + !!! tip "A note about Middy" + Currently we support only Middy `v3.x` that you can install it by running `npm i @middy/core@~3`. + Check their docs to learn more about [Middy and its middleware stack](https://middy.js.org/docs/intro/getting-started){target="_blank"} as well as [best practices when working with Powertools](https://middy.js.org/docs/integrations/lambda-powertools#best-practices){target="_blank"}. ```typescript hl_lines="1 13" --8<-- "docs/snippets/logger/middy.ts" @@ -118,6 +118,9 @@ This functionality will include the following keys in your structured logs: === "Decorator" + !!! info + Decorators can only be attached to a class declaration, method, accessor, property, or parameter. Therefore, if you prefer to write your handler as a standard function rather than a Class method, use the middleware or the manual instrumentation instead. See the [official TypeScript documentation](https://www.typescriptlang.org/docs/handbook/decorators.html) for more details. + ```typescript hl_lines="8" --8<-- "docs/snippets/logger/decorator.ts" ``` diff --git a/docs/core/metrics.md b/docs/core/metrics.md index c5ebd0fb93..9d1366ad4b 100644 --- a/docs/core/metrics.md +++ b/docs/core/metrics.md @@ -195,9 +195,9 @@ You can add default dimensions to your metrics by passing them as parameters in === "Middy middleware" - !!! tip "Using Middy for the first time?" - You can install Middy by running `npm i @middy/core`. - Learn more about [its usage and lifecycle in the official Middy documentation](https://middy.js.org/docs/intro/getting-started){target="_blank"}. + !!! tip "A note about Middy" + Currently we support only Middy `v3.x` that you can install it by running `npm i @middy/core@~3`. + Check their docs to learn more about [Middy and its middleware stack](https://middy.js.org/docs/intro/getting-started){target="_blank"} as well as [best practices when working with Powertools](https://middy.js.org/docs/integrations/lambda-powertools#best-practices){target="_blank"}. ```typescript hl_lines="24-26" --8<-- "docs/snippets/metrics/defaultDimensionsMiddy.ts" @@ -211,6 +211,9 @@ You can add default dimensions to your metrics by passing them as parameters in === "with logMetrics decorator" + !!! info + Decorators can only be attached to a class declaration, method, accessor, property, or parameter. Therefore, if you prefer to write your handler as a standard function rather than a Class method, use the middleware or the manual instrumentation instead. See the [official TypeScript documentation](https://www.typescriptlang.org/docs/handbook/decorators.html) for more details. + ```typescript hl_lines="12" --8<-- "docs/snippets/metrics/defaultDimensionsDecorator.ts" ``` diff --git a/docs/core/tracer.md b/docs/core/tracer.md index 774ad26f30..b70aadb867 100644 --- a/docs/core/tracer.md +++ b/docs/core/tracer.md @@ -85,22 +85,18 @@ You can quickly start by importing the `Tracer` class, initialize it outside the === "Middy Middleware" - !!! tip "Using Middy for the first time?" - You can install Middy by running `npm i @middy/core`. - Learn more about [its usage and lifecycle in the official Middy documentation](https://middy.js.org/docs/intro/getting-started){target="_blank"}. + !!! tip "A note about Middy" + Currently we support only Middy `v3.x` that you can install it by running `npm i @middy/core@~3`. + Check their docs to learn more about [Middy and its middleware stack](https://middy.js.org/docs/intro/getting-started){target="_blank"} as well as [best practices when working with Powertools](https://middy.js.org/docs/integrations/lambda-powertools#best-practices){target="_blank"}. ```typescript hl_lines="1 14 16" --8<-- "docs/snippets/tracer/middy.ts" ``` - 1. Using Middy for the first time? You can install Middy by running `npm i @middy/core`. - Learn more about [its usage and lifecycle in the official Middy documentation](https://github.com/middyjs/middy#usage){target="_blank"}. - === "Decorator" !!! info - Decorators can only be attached to a class declaration, method, accessor, property, or parameter. Therefore, if you prefer to write your handler as a standard function rather than a Class method, use the middleware or the manual instrumentations instead. - See the [official TypeScript documentation](https://www.typescriptlang.org/docs/handbook/decorators.html) for more details. + Decorators can only be attached to a class declaration, method, accessor, property, or parameter. Therefore, if you prefer to write your handler as a standard function rather than a Class method, use the middleware or the manual instrumentation instead. See the [official TypeScript documentation](https://www.typescriptlang.org/docs/handbook/decorators.html) for more details. ```typescript hl_lines="8" --8<-- "docs/snippets/tracer/decorator.ts" diff --git a/docs/index.md b/docs/index.md index 049bd298ac..751799e719 100644 --- a/docs/index.md +++ b/docs/index.md @@ -262,7 +262,7 @@ You can include Powertools for AWS Lambda (TypeScript) Lambda Layer using [AWS L You can instrument your code with Powertools for AWS Lambda (TypeScript) in three different ways: -* **Middy** middleware. It is the best choice if your existing code base relies on the [Middy](https://middy.js.org/docs/) middleware engine. Powertools for AWS Lambda (TypeScript) offers compatible Middy middleware to make this integration seamless. +* **Middy** middleware. It is the best choice if your existing code base relies on the [Middy 3.x](https://middy.js.org/docs/) middleware engine. Powertools for AWS Lambda (TypeScript) offers compatible Middy middleware to make this integration seamless. * **Method decorator**. Use [TypeScript method decorators](https://www.typescriptlang.org/docs/handbook/decorators.html#method-decorators) if you prefer writing your business logic using [TypeScript Classes](https://www.typescriptlang.org/docs/handbook/classes.html). If you aren’t using Classes, this requires the most significant refactoring. * **Manually**. It provides the most granular control. It’s the most verbose approach, with the added benefit of no additional dependency and no refactoring to TypeScript Classes. diff --git a/docs/snippets/tracer/captureAWS.ts b/docs/snippets/tracer/captureAWS.ts index 0f86993e15..b96c0eeb1e 100644 --- a/docs/snippets/tracer/captureAWS.ts +++ b/docs/snippets/tracer/captureAWS.ts @@ -2,4 +2,7 @@ import { S3 } from 'aws-sdk'; import { Tracer } from '@aws-lambda-powertools/tracer'; const tracer = new Tracer({ serviceName: 'serverlessAirline' }); -tracer.captureAWSClient(new S3()); +// Instrument the AWS SDK client +const client = tracer.captureAWSClient(new S3()); + +export default client; diff --git a/docs/snippets/tracer/captureAWSAll.ts b/docs/snippets/tracer/captureAWSAll.ts index bc4d4875e7..5680bec1be 100644 --- a/docs/snippets/tracer/captureAWSAll.ts +++ b/docs/snippets/tracer/captureAWSAll.ts @@ -2,4 +2,10 @@ import { Tracer } from '@aws-lambda-powertools/tracer'; import AWS from 'aws-sdk'; const tracer = new Tracer({ serviceName: 'serverlessAirline' }); + +// Instrument all AWS SDK clients created from this point onwards tracer.captureAWS(AWS); + +// Create a new client which will be automatically instrumented +const client = new AWS.SecretsManager(); +export default client; diff --git a/docs/snippets/tracer/captureAWSv3.ts b/docs/snippets/tracer/captureAWSv3.ts index f6f0d59a8f..a91bebe16b 100644 --- a/docs/snippets/tracer/captureAWSv3.ts +++ b/docs/snippets/tracer/captureAWSv3.ts @@ -2,4 +2,7 @@ import { SecretsManagerClient } from '@aws-sdk/client-secrets-manager'; import { Tracer } from '@aws-lambda-powertools/tracer'; const tracer = new Tracer({ serviceName: 'serverlessAirline' }); -tracer.captureAWSv3Client(new SecretsManagerClient({})); +// Instrument the AWS SDK client +const client = tracer.captureAWSv3Client(new SecretsManagerClient({})); + +export default client; diff --git a/docs/snippets/tracer/middy.ts b/docs/snippets/tracer/middy.ts index e3b4f95df6..22fe705619 100644 --- a/docs/snippets/tracer/middy.ts +++ b/docs/snippets/tracer/middy.ts @@ -1,5 +1,5 @@ import { Tracer, captureLambdaHandler } from '@aws-lambda-powertools/tracer'; -import middy from '@middy/core'; // (1) +import middy from '@middy/core'; const tracer = new Tracer({ serviceName: 'serverlessAirline' }); diff --git a/mkdocs.yml b/mkdocs.yml index b1f2e7fc4e..a0d03992e6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -43,6 +43,7 @@ theme: - navigation.indexes - navigation.tracking - content.code.annotate + - content.code.copy - toc.follow - toc.integrate - announce.dismiss From f83184ddfc6836102bda290cee92748c99b69aed Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Thu, 22 Jun 2023 13:25:30 +0200 Subject: [PATCH 21/35] chore: update codeowners file (#1543) --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 638092f3f2..5404681454 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,3 +1,3 @@ # https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners -* @aws-powertools/lambda-typescript \ No newline at end of file +* @aws-powertools/lambda-typescript-core \ No newline at end of file From 855976d8ff3b162fe63d1782d885330e05d074ad Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Thu, 22 Jun 2023 13:30:50 +0200 Subject: [PATCH 22/35] chore(ci): bump lerna & add provenance config (#1541) --- .github/workflows/make-release.yml | 6 +- package-lock.json | 3447 ++++++++++++++++------------ package.json | 4 +- 3 files changed, 1949 insertions(+), 1508 deletions(-) diff --git a/.github/workflows/make-release.yml b/.github/workflows/make-release.yml index 72bc2ffe34..32ee9c0902 100644 --- a/.github/workflows/make-release.yml +++ b/.github/workflows/make-release.yml @@ -8,6 +8,10 @@ jobs: uses: ./.github/workflows/reusable-run-linting-check-and-unit-tests.yml publish-npm: needs: run-unit-tests + # Needed as recommended by npm docs on publishing with provenance https://docs.npmjs.com/generating-provenance-statements + permissions: + id-token: write + contents: write runs-on: ubuntu-latest outputs: RELEASE_VERSION: ${{ steps.set-release-version.outputs.RELEASE_VERSION }} @@ -37,7 +41,7 @@ jobs: npx lerna version --conventional-commits --force-publish --no-commit-hooks --yes - name: Publish to npm run: | - npx lerna publish from-git --yes + NPM_CONFIG_PROVENANCE=true npx lerna publish from-git --yes - name: Set release version id: set-release-version run: | diff --git a/package-lock.json b/package-lock.json index c9d7b466f9..259bef809a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,7 +45,7 @@ "husky": "^8.0.2", "jest": "^29.3.1", "jest-runner-groups": "^2.2.0", - "lerna": "^6.6.1", + "lerna": "^6.6.2", "lint-staged": "^13.1.2", "prettier": "^2.8.8", "promptly": "^3.2.0", @@ -2552,8 +2552,9 @@ }, "node_modules/@hutson/parse-repository-url": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=6.9.0" } @@ -2656,8 +2657,9 @@ }, "node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz", + "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==", + "dev": true }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", @@ -3062,30 +3064,32 @@ } }, "node_modules/@lerna/child-process": { - "version": "6.6.1", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/@lerna/child-process/-/child-process-6.6.2.tgz", + "integrity": "sha512-QyKIWEnKQFnYu2ey+SAAm1A5xjzJLJJj3bhIZd3QKyXKKjaJ0hlxam/OsWSltxTNbcyH1jRJjC6Cxv31usv0Ag==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.1.0", "execa": "^5.0.0", "strong-log-transformer": "^2.1.0" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": "^14.17.0 || >=16.0.0" } }, "node_modules/@lerna/create": { - "version": "6.6.1", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/@lerna/create/-/create-6.6.2.tgz", + "integrity": "sha512-xQ+1Y7D+9etvUlE+unhG/TwmM6XBzGIdFBaNoW8D8kyOa9M2Jf3vdEtAxVa7mhRz66CENfhL/+I/QkVaa7pwbQ==", "dev": true, - "license": "MIT", "dependencies": { - "@lerna/child-process": "6.6.1", + "@lerna/child-process": "6.6.2", "dedent": "^0.7.0", "fs-extra": "^9.1.0", "init-package-json": "^3.0.2", "npm-package-arg": "8.1.1", "p-reduce": "^2.1.0", - "pacote": "^13.6.1", + "pacote": "15.1.1", "pify": "^5.0.0", "semver": "^7.3.4", "slash": "^3.0.0", @@ -3094,13 +3098,14 @@ "yargs-parser": "20.2.4" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": "^14.17.0 || >=16.0.0" } }, "node_modules/@lerna/legacy-package-management": { - "version": "6.6.1", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/@lerna/legacy-package-management/-/legacy-package-management-6.6.2.tgz", + "integrity": "sha512-0hZxUPKnHwehUO2xC4ldtdX9bW0W1UosxebDIQlZL2STnZnA2IFmIk2lJVUyFW+cmTPQzV93jfS0i69T9Z+teg==", "dev": true, - "license": "MIT", "dependencies": { "@npmcli/arborist": "6.2.3", "@npmcli/run-script": "4.1.7", @@ -3131,7 +3136,7 @@ "inquirer": "8.2.4", "is-ci": "2.0.0", "is-stream": "2.0.0", - "libnpmpublish": "6.0.4", + "libnpmpublish": "7.1.4", "load-json-file": "6.2.0", "make-dir": "3.1.0", "minimatch": "3.0.5", @@ -3145,7 +3150,7 @@ "p-map-series": "2.1.0", "p-queue": "6.6.2", "p-waterfall": "2.1.1", - "pacote": "13.6.2", + "pacote": "15.1.1", "pify": "5.0.0", "pretty-format": "29.4.3", "read-cmd-shim": "3.0.0", @@ -3166,13 +3171,23 @@ "yargs": "16.2.0" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": "^14.17.0 || >=16.0.0" + } + }, + "node_modules/@lerna/legacy-package-management/node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" } }, "node_modules/@lerna/legacy-package-management/node_modules/chalk": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3186,8 +3201,9 @@ }, "node_modules/@lerna/legacy-package-management/node_modules/cliui": { "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -3196,8 +3212,9 @@ }, "node_modules/@lerna/legacy-package-management/node_modules/execa": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", + "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -3218,8 +3235,9 @@ }, "node_modules/@lerna/legacy-package-management/node_modules/get-stream": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", + "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -3229,8 +3247,9 @@ }, "node_modules/@lerna/legacy-package-management/node_modules/glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -3238,10 +3257,25 @@ "node": ">= 6" } }, + "node_modules/@lerna/legacy-package-management/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/@lerna/legacy-package-management/node_modules/inquirer": { "version": "8.2.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", + "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", "dev": true, - "license": "MIT", "dependencies": { "ansi-escapes": "^4.2.1", "chalk": "^4.1.1", @@ -3265,8 +3299,9 @@ }, "node_modules/@lerna/legacy-package-management/node_modules/inquirer/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3280,27 +3315,65 @@ }, "node_modules/@lerna/legacy-package-management/node_modules/is-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/@lerna/legacy-package-management/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/@lerna/legacy-package-management/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", "dev": true, - "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@lerna/legacy-package-management/node_modules/make-fetch-happen/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@lerna/legacy-package-management/node_modules/make-fetch-happen/node_modules/ssri": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", + "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", + "dev": true, + "dependencies": { + "minipass": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@lerna/legacy-package-management/node_modules/minimatch": { "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -3308,10 +3381,70 @@ "node": "*" } }, + "node_modules/@lerna/legacy-package-management/node_modules/minipass-fetch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", + "dev": true, + "dependencies": { + "minipass": "^5.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/@lerna/legacy-package-management/node_modules/minipass-fetch/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@lerna/legacy-package-management/node_modules/npm-registry-fetch": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz", + "integrity": "sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==", + "dev": true, + "dependencies": { + "make-fetch-happen": "^11.0.0", + "minipass": "^4.0.0", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@lerna/legacy-package-management/node_modules/npm-registry-fetch/node_modules/npm-package-arg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/@lerna/legacy-package-management/node_modules/semver": { "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -3322,18 +3455,58 @@ "node": ">=10" } }, + "node_modules/@lerna/legacy-package-management/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@lerna/legacy-package-management/node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/@lerna/legacy-package-management/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, - "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, + "node_modules/@lerna/legacy-package-management/node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dev": true, + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/@lerna/legacy-package-management/node_modules/write-file-atomic": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", + "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", "dev": true, - "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -3344,8 +3517,9 @@ }, "node_modules/@lerna/legacy-package-management/node_modules/yargs": { "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, - "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -3400,8 +3574,9 @@ }, "node_modules/@npmcli/arborist": { "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-6.2.3.tgz", + "integrity": "sha512-lpGOC2ilSJXcc2zfW9QtukcCTcMbl3fVI0z4wvFB2AFIl0C+Q6Wv7ccrpdrQa8rvJ1ZVuc6qkX7HVTyKlzGqKA==", "dev": true, - "license": "ISC", "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/fs": "^3.1.0", @@ -3444,39 +3619,11 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/@npmcli/git": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/promise-spawn": "^6.0.0", - "lru-cache": "^7.4.4", - "npm-pick-manifest": "^8.0.0", - "proc-log": "^3.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/arborist/node_modules/@npmcli/promise-spawn": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "which": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/@npmcli/arborist/node_modules/@npmcli/run-script": { - "version": "6.0.0", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz", + "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==", "dev": true, - "license": "ISC", "dependencies": { "@npmcli/node-gyp": "^3.0.0", "@npmcli/promise-spawn": "^6.0.0", @@ -3490,8 +3637,9 @@ }, "node_modules/@npmcli/arborist/node_modules/are-we-there-yet": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-4.0.0.tgz", + "integrity": "sha512-nSXlV+u3vtVjRgihdTzbfWYzxPWGo424zPgQbHD0ZqIla3jqYAewDcvee0Ua2hjS5IfTAmjGlx1Jf0PKwjZDEw==", "dev": true, - "license": "ISC", "dependencies": { "delegates": "^1.0.0", "readable-stream": "^4.1.0" @@ -3502,14 +3650,17 @@ }, "node_modules/@npmcli/arborist/node_modules/brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/@npmcli/arborist/node_modules/buffer": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "funding": [ { @@ -3525,7 +3676,6 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -3533,22 +3683,24 @@ }, "node_modules/@npmcli/arborist/node_modules/events": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.x" } }, "node_modules/@npmcli/arborist/node_modules/gauge": { - "version": "5.0.0", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-5.0.1.tgz", + "integrity": "sha512-CmykPMJGuNan/3S4kZOpvvPYSNqSHANiWnh9XcMU2pSjtBfF0XzZ2p1bFAxTbnFxyBuPxQYHhzwaoOmUdqzvxQ==", "dev": true, - "license": "ISC", "dependencies": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.3", "console-control-strings": "^1.1.0", "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", + "signal-exit": "^4.0.1", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "wide-align": "^1.1.5" @@ -3557,39 +3709,10 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/glob": { - "version": "9.3.2", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^7.4.1", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@npmcli/arborist/node_modules/glob/node_modules/minimatch": { - "version": "7.4.3", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@npmcli/arborist/node_modules/ieee754": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, "funding": [ { @@ -3604,46 +3727,22 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "BSD-3-Clause" - }, - "node_modules/@npmcli/arborist/node_modules/ignore-walk": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "minimatch": "^7.4.2" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/arborist/node_modules/ignore-walk/node_modules/minimatch": { - "version": "7.4.3", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + ] }, "node_modules/@npmcli/arborist/node_modules/json-parse-even-better-errors": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", "dev": true, - "license": "MIT", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/arborist/node_modules/minimatch": { "version": "6.2.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz", + "integrity": "sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3654,24 +3753,20 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@npmcli/arborist/node_modules/normalize-package-data": { + "node_modules/@npmcli/arborist/node_modules/minipass": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^6.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, "node_modules/@npmcli/arborist/node_modules/npm-package-arg": { "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", "dev": true, - "license": "ISC", "dependencies": { "hosted-git-info": "^6.0.0", "proc-log": "^3.0.0", @@ -3682,21 +3777,11 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/npm-packlist": { - "version": "7.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "ignore-walk": "^6.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/@npmcli/arborist/node_modules/npmlog": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-7.0.1.tgz", + "integrity": "sha512-uJ0YFk/mCQpLBt+bxN88AKd+gyqZvZDbtiNxk6Waqcj2aPRyfVx8ITawkyQynxUagInjdYT1+qj4NfA5KJJUxg==", "dev": true, - "license": "ISC", "dependencies": { "are-we-there-yet": "^4.0.0", "console-control-strings": "^1.1.0", @@ -3707,55 +3792,11 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/pacote": { - "version": "15.1.1", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/git": "^4.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/promise-spawn": "^6.0.1", - "@npmcli/run-script": "^6.0.0", - "cacache": "^17.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^4.0.0", - "npm-package-arg": "^10.0.0", - "npm-packlist": "^7.0.0", - "npm-pick-manifest": "^8.0.0", - "npm-registry-fetch": "^14.0.0", - "proc-log": "^3.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^6.0.0", - "read-package-json-fast": "^3.0.0", - "sigstore": "^1.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "lib/bin.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/arborist/node_modules/read-package-json": { - "version": "6.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^9.3.0", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^5.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/@npmcli/arborist/node_modules/readable-stream": { - "version": "4.3.0", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.0.tgz", + "integrity": "sha512-kDMOq0qLtxV9f/SQv522h8cxZBqNZXuXNyjyezmfAAuribMyVXziljpQ/uQhfE1XLg2/TLTW2DsnoE4VAi/krg==", "dev": true, - "license": "MIT", "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", @@ -3766,12 +3807,25 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@npmcli/arborist/node_modules/signal-exit": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@npmcli/arborist/node_modules/ssri": { - "version": "10.0.1", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", + "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", "dev": true, - "license": "ISC", "dependencies": { - "minipass": "^4.0.0" + "minipass": "^5.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -3779,8 +3833,9 @@ }, "node_modules/@npmcli/arborist/node_modules/validate-npm-package-name": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", "dev": true, - "license": "ISC", "dependencies": { "builtins": "^5.0.0" }, @@ -3789,9 +3844,10 @@ } }, "node_modules/@npmcli/arborist/node_modules/which": { - "version": "3.0.0", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -3804,8 +3860,9 @@ }, "node_modules/@npmcli/fs": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", "dev": true, - "license": "ISC", "dependencies": { "semver": "^7.3.5" }, @@ -3814,94 +3871,44 @@ } }, "node_modules/@npmcli/git": { - "version": "3.0.2", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz", + "integrity": "sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==", "dev": true, - "license": "ISC", "dependencies": { - "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", "lru-cache": "^7.4.4", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^7.0.0", - "proc-log": "^2.0.0", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^2.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/git/node_modules/hosted-git-info": { - "version": "5.2.1", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^7.5.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/git/node_modules/npm-install-checks": { - "version": "5.0.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "semver": "^7.1.1" + "which": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/git/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/git/node_modules/npm-package-arg": { - "version": "9.1.2", + "node_modules/@npmcli/git/node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", "dev": true, - "license": "ISC", "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "isexe": "^2.0.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/git/node_modules/npm-pick-manifest": { - "version": "7.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "npm-install-checks": "^5.0.0", - "npm-normalize-package-bin": "^2.0.0", - "npm-package-arg": "^9.0.0", - "semver": "^7.3.5" + "bin": { + "node-which": "bin/which.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/git/node_modules/proc-log": { - "version": "2.0.1", - "dev": true, - "license": "ISC", - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/installed-package-contents": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", "dev": true, - "license": "ISC", "dependencies": { "npm-bundled": "^3.0.0", "npm-normalize-package-bin": "^3.0.0" @@ -3914,13 +3921,14 @@ } }, "node_modules/@npmcli/map-workspaces": { - "version": "3.0.3", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.4.tgz", + "integrity": "sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==", "dev": true, - "license": "ISC", "dependencies": { "@npmcli/name-from-folder": "^2.0.0", - "glob": "^9.3.1", - "minimatch": "^7.4.2", + "glob": "^10.2.2", + "minimatch": "^9.0.0", "read-package-json-fast": "^3.0.0" }, "engines": { @@ -3929,21 +3937,27 @@ }, "node_modules/@npmcli/map-workspaces/node_modules/brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/@npmcli/map-workspaces/node_modules/glob": { - "version": "9.3.2", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.0.tgz", + "integrity": "sha512-AQ1/SB9HH0yCx1jXAT4vmCbTOPe5RQ+kCurjbel5xSCGhebumUv+GJZfa1rEqor3XIViqwSEmlkZCQD43RWrBg==", "dev": true, - "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^7.4.1", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.7.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -3953,23 +3967,34 @@ } }, "node_modules/@npmcli/map-workspaces/node_modules/minimatch": { - "version": "7.4.3", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@npmcli/map-workspaces/node_modules/minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/@npmcli/metavuln-calculator": { - "version": "5.0.0", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-5.0.1.tgz", + "integrity": "sha512-qb8Q9wIIlEPj3WeA1Lba91R4ZboPL0uspzV0F9uwP+9AYMVB2zOoa7Pbk12g6D2NHAinSbHh6QYmGuRyHZ874Q==", "dev": true, - "license": "ISC", "dependencies": { "cacache": "^17.0.0", "json-parse-even-better-errors": "^3.0.0", @@ -3980,305 +4005,173 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/@npmcli/git": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/promise-spawn": "^6.0.0", - "lru-cache": "^7.4.4", - "npm-pick-manifest": "^8.0.0", - "proc-log": "^3.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/@npmcli/promise-spawn": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "which": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/@npmcli/run-script": { - "version": "6.0.0", + "node_modules/@npmcli/metavuln-calculator/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/promise-spawn": "^6.0.0", - "node-gyp": "^9.0.0", - "read-package-json-fast": "^3.0.0", - "which": "^3.0.0" - }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/brace-expansion": { + "node_modules/@npmcli/move-file": { "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/glob": { - "version": "9.3.2", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^7.4.1", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/ignore-walk": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "minimatch": "^7.4.2" + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/minimatch": { - "version": "7.4.3", + "node_modules/@npmcli/move-file/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "glob": "^7.1.3" }, - "engines": { - "node": ">=10" + "bin": { + "rimraf": "bin.js" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/normalize-package-data": { - "version": "5.0.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^6.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/npm-package-arg": { - "version": "10.1.0", + "node_modules/@npmcli/name-from-folder": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz", + "integrity": "sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==", "dev": true, - "license": "ISC", - "dependencies": { - "hosted-git-info": "^6.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" - }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/npm-packlist": { - "version": "7.0.4", + "node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", "dev": true, - "license": "ISC", - "dependencies": { - "ignore-walk": "^6.0.0" - }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/pacote": { - "version": "15.1.1", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/git": "^4.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/promise-spawn": "^6.0.1", - "@npmcli/run-script": "^6.0.0", - "cacache": "^17.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^4.0.0", - "npm-package-arg": "^10.0.0", - "npm-packlist": "^7.0.0", - "npm-pick-manifest": "^8.0.0", - "npm-registry-fetch": "^14.0.0", - "proc-log": "^3.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^6.0.0", - "read-package-json-fast": "^3.0.0", - "sigstore": "^1.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "lib/bin.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/read-package-json": { - "version": "6.0.1", + "node_modules/@npmcli/package-json": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-3.1.1.tgz", + "integrity": "sha512-+UW0UWOYFKCkvszLoTwrYGrjNrT8tI5Ckeb/h+Z1y1fsNJEctl7HmerA5j2FgmoqFaLI2gsA1X9KgMFqx/bRmA==", "dev": true, - "license": "ISC", "dependencies": { - "glob": "^9.3.0", + "@npmcli/git": "^4.1.0", + "glob": "^10.2.2", "json-parse-even-better-errors": "^3.0.0", "normalize-package-data": "^5.0.0", - "npm-normalize-package-bin": "^3.0.0" + "npm-normalize-package-bin": "^3.0.1", + "proc-log": "^3.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/ssri": { - "version": "10.0.1", + "node_modules/@npmcli/package-json/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "ISC", "dependencies": { - "minipass": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "balanced-match": "^1.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/validate-npm-package-name": { - "version": "5.0.0", + "node_modules/@npmcli/package-json/node_modules/glob": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.0.tgz", + "integrity": "sha512-AQ1/SB9HH0yCx1jXAT4vmCbTOPe5RQ+kCurjbel5xSCGhebumUv+GJZfa1rEqor3XIViqwSEmlkZCQD43RWrBg==", "dev": true, - "license": "ISC", "dependencies": { - "builtins": "^5.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.7.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/which": { + "node_modules/@npmcli/package-json/node_modules/json-parse-even-better-errors": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/which.js" - }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/move-file": { - "version": "2.0.1", + "node_modules/@npmcli/package-json/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, - "license": "MIT", "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/move-file/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@npmcli/name-from-folder": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/node-gyp": { - "version": "3.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/package-json": { - "version": "3.0.0", + "node_modules/@npmcli/package-json/node_modules/minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", "dev": true, - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^3.0.0" - }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/@npmcli/package-json/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", + "node_modules/@npmcli/promise-spawn": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", + "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", "dev": true, - "license": "MIT", + "dependencies": { + "which": "^3.0.0" + }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/promise-spawn": { - "version": "3.0.0", + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", "dev": true, - "license": "ISC", "dependencies": { - "infer-owner": "^1.0.4" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/query": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-3.0.0.tgz", + "integrity": "sha512-MFNDSJNgsLZIEBVZ0Q9w9K7o07j5N4o4yjtdz2uEpuCZlXGMuPENiRaFYk0vRqAA64qVuUQwC05g27fRtfUgnA==", "dev": true, - "license": "ISC", "dependencies": { "postcss-selector-parser": "^6.0.10" }, @@ -4288,8 +4181,9 @@ }, "node_modules/@npmcli/run-script": { "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.1.7.tgz", + "integrity": "sha512-WXr/MyM4tpKA4BotB81NccGAv8B48lNH0gRoILucbcAhTQXLCoi6HflMV3KdXubIqvP9SuLsFn68Z7r4jl+ppw==", "dev": true, - "license": "ISC", "dependencies": { "@npmcli/node-gyp": "^2.0.0", "@npmcli/promise-spawn": "^3.0.0", @@ -4303,21 +4197,36 @@ }, "node_modules/@npmcli/run-script/node_modules/@npmcli/node-gyp": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz", + "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==", "dev": true, - "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/@npmcli/promise-spawn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz", + "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==", + "dev": true, + "dependencies": { + "infer-owner": "^1.0.4" + }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/@npmcli/run-script/node_modules/npm-normalize-package-bin": { "version": "1.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true }, "node_modules/@npmcli/run-script/node_modules/read-package-json-fast": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", "dev": true, - "license": "ISC", "dependencies": { "json-parse-even-better-errors": "^2.3.0", "npm-normalize-package-bin": "^1.0.1" @@ -4327,17 +4236,19 @@ } }, "node_modules/@nrwl/cli": { - "version": "15.9.2", + "version": "15.9.4", + "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-15.9.4.tgz", + "integrity": "sha512-FoiGFCLpb/r4HXCM3KYqT0xteP+MRV6bIHjz3bdPHIDLmBNQQnRRaV2K47jtJ6zjh1eOU5UHKyDtDDYf80Idpw==", "dev": true, - "license": "MIT", "dependencies": { - "nx": "15.9.2" + "nx": "15.9.4" } }, "node_modules/@nrwl/devkit": { - "version": "15.9.2", + "version": "15.9.4", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.9.4.tgz", + "integrity": "sha512-mUX1kXTuPMdTzFxIzH+MsSNvdppOmstPDOEtiGFZJTuJ625ki0HhNJILO3N2mJ7MeMrLqIlAiNdvelQaObxYsQ==", "dev": true, - "license": "MIT", "dependencies": { "ejs": "^3.1.7", "ignore": "^5.0.4", @@ -4351,8 +4262,9 @@ }, "node_modules/@nrwl/devkit/node_modules/lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -4362,8 +4274,9 @@ }, "node_modules/@nrwl/devkit/node_modules/semver": { "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -4374,8 +4287,58 @@ "node": ">=10" } }, + "node_modules/@nrwl/nx-darwin-arm64": { + "version": "15.9.4", + "resolved": "https://registry.npmjs.org/@nrwl/nx-darwin-arm64/-/nx-darwin-arm64-15.9.4.tgz", + "integrity": "sha512-XnvrnT9BJsgThY/4xUcYtE077ERq/img8CkRj7MOOBNOh0/nVcR4LGbBKDHtwE3HPk0ikyS/SxRyNa9msvi3QQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/nx-darwin-x64": { + "version": "15.9.4", + "resolved": "https://registry.npmjs.org/@nrwl/nx-darwin-x64/-/nx-darwin-x64-15.9.4.tgz", + "integrity": "sha512-WKSfSlpVMLchpXkax0geeUNyhvNxwO7qUz/s0/HJWBekt8fizwKDwDj1gP7fOu+YWb/tHiSscbR1km8PtdjhQw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/nx-linux-arm-gnueabihf": { + "version": "15.9.4", + "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-15.9.4.tgz", + "integrity": "sha512-a/b4PP7lP/Cgrh0LjC4O2YTt5pyf4DQTGtuE8qlo8o486UiofCtk4QGJX72q80s23L0ejCaKY2ULKx/3zMLjuA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@nrwl/nx-linux-arm64-gnu": { - "version": "15.9.2", + "version": "15.9.4", + "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-15.9.4.tgz", + "integrity": "sha512-ibBV8fMhSfLVd/2WzcDuUm32BoZsattuKkvMmOoyU6Pzoznc3AqyDjJR4xCIoAn5Rf+Nu1oeQONr5FAtb1Ugow==", "cpu": [ "arm64" ], @@ -4389,7 +4352,9 @@ } }, "node_modules/@nrwl/nx-linux-arm64-musl": { - "version": "15.9.2", + "version": "15.9.4", + "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-arm64-musl/-/nx-linux-arm64-musl-15.9.4.tgz", + "integrity": "sha512-iIjvVYd7+uM4jVD461+PvU5XTALgSvJOODUaMRGOoDl0KlMuTe6pQZlw0eXjl5rcTd6paKaVFWT5j6awr8kj7w==", "cpu": [ "arm64" ], @@ -4402,32 +4367,96 @@ "node": ">= 10" } }, + "node_modules/@nrwl/nx-linux-x64-gnu": { + "version": "15.9.4", + "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-x64-gnu/-/nx-linux-x64-gnu-15.9.4.tgz", + "integrity": "sha512-q4OyH72mdrE4KellBWtwpr5EwfxHKNoFP9//7FAILO68ROh0rpMd7YQMlTB7T04UEUHjKEEsFGTlVXIee3Viwg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/nx-linux-x64-musl": { + "version": "15.9.4", + "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-x64-musl/-/nx-linux-x64-musl-15.9.4.tgz", + "integrity": "sha512-67+/XNMR1CgLPyeGX8jqSG6l8yYD0iiwUgcu1Vaxq6N05WwnqVisIW8XzLSRUtKt4WyVQgOWk3aspImpMVOG3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/nx-win32-arm64-msvc": { + "version": "15.9.4", + "resolved": "https://registry.npmjs.org/@nrwl/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-15.9.4.tgz", + "integrity": "sha512-2rEsq3eOGVCYpYJn2tTJkOGNJm/U8rP/FmqtZXYa6VJv/00XP3Gl00IXFEDaYV6rZo7SWqLxtEPUbjK5LwPzZA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nrwl/nx-win32-x64-msvc": { + "version": "15.9.4", + "resolved": "https://registry.npmjs.org/@nrwl/nx-win32-x64-msvc/-/nx-win32-x64-msvc-15.9.4.tgz", + "integrity": "sha512-bogVju4Z/hy1jbppqaTNbmV1R4Kg0R5fKxXAXC2LaL7FL0dup31wPumdV+mXttXBNOBDjV8V/Oz1ZqdmxpOJUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@nrwl/tao": { - "version": "15.9.2", + "version": "15.9.4", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-15.9.4.tgz", + "integrity": "sha512-m90iz8UsXx1rgPm1dxsBQjSrCViWYZIrp8bpwjSCW24j3kifyilYSXGuKaRwZwUn7eNmH/kZcI9/8qeGIPF4Sg==", "dev": true, - "license": "MIT", "dependencies": { - "nx": "15.9.2" + "nx": "15.9.4" }, "bin": { "tao": "index.js" } }, "node_modules/@octokit/auth-token": { - "version": "3.0.3", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz", + "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/types": "^9.0.0" - }, "engines": { "node": ">= 14" } }, "node_modules/@octokit/core": { - "version": "4.2.0", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.4.tgz", + "integrity": "sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==", "dev": true, - "license": "MIT", "dependencies": { "@octokit/auth-token": "^3.0.0", "@octokit/graphql": "^5.0.0", @@ -4442,9 +4471,10 @@ } }, "node_modules/@octokit/endpoint": { - "version": "7.0.5", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz", + "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==", "dev": true, - "license": "MIT", "dependencies": { "@octokit/types": "^9.0.0", "is-plain-object": "^5.0.0", @@ -4455,9 +4485,10 @@ } }, "node_modules/@octokit/graphql": { - "version": "5.0.5", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", + "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", "dev": true, - "license": "MIT", "dependencies": { "@octokit/request": "^6.0.0", "@octokit/types": "^9.0.0", @@ -4468,9 +4499,10 @@ } }, "node_modules/@octokit/openapi-types": { - "version": "16.0.0", - "dev": true, - "license": "MIT" + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", + "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==", + "dev": true }, "node_modules/@octokit/plugin-enterprise-rest": { "version": "6.0.1", @@ -4479,8 +4511,9 @@ }, "node_modules/@octokit/plugin-paginate-rest": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.1.0.tgz", + "integrity": "sha512-+cfc40pMzWcLkoDcLb1KXqjX0jTGYXjKuQdFQDc6UAknISJHnZTiBqld6HDwRJvD4DsouDKrWXNbNV0lE/3AXA==", "dev": true, - "license": "MIT", "dependencies": { "@octokit/types": "^6.41.0" }, @@ -4493,29 +4526,33 @@ }, "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { "version": "12.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==", + "dev": true }, "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", "dev": true, - "license": "MIT", "dependencies": { "@octokit/openapi-types": "^12.11.0" } }, "node_modules/@octokit/plugin-request-log": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", "dev": true, - "license": "MIT", "peerDependencies": { "@octokit/core": ">=3" } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { "version": "6.8.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.8.1.tgz", + "integrity": "sha512-QrlaTm8Lyc/TbU7BL/8bO49vp+RZ6W3McxxmmQTgYxf2sWkO8ZKuj4dLhPNJD6VCUW1hetCmeIM0m6FTVpDiEg==", "dev": true, - "license": "MIT", "dependencies": { "@octokit/types": "^8.1.1", "deprecation": "^2.3.1" @@ -4529,21 +4566,24 @@ }, "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { "version": "14.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz", + "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==", + "dev": true }, "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.2.1.tgz", + "integrity": "sha512-8oWMUji8be66q2B9PmEIUyQm00VPDPun07umUWSaCwxmeaquFBro4Hcc3ruVoDo3zkQyZBlRvhIMEYS3pBhanw==", "dev": true, - "license": "MIT", "dependencies": { "@octokit/openapi-types": "^14.0.0" } }, "node_modules/@octokit/request": { - "version": "6.2.3", + "version": "6.2.8", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.8.tgz", + "integrity": "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==", "dev": true, - "license": "MIT", "dependencies": { "@octokit/endpoint": "^7.0.0", "@octokit/request-error": "^3.0.0", @@ -4558,8 +4598,9 @@ }, "node_modules/@octokit/request-error": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", + "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", "dev": true, - "license": "MIT", "dependencies": { "@octokit/types": "^9.0.0", "deprecation": "^2.0.0", @@ -4571,8 +4612,9 @@ }, "node_modules/@octokit/rest": { "version": "19.0.3", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.3.tgz", + "integrity": "sha512-5arkTsnnRT7/sbI4fqgSJ35KiFaN7zQm0uQiQtivNQLI8RQx8EHwJCajcTUwmaCMNDg7tdCvqAnc7uvHHPxrtQ==", "dev": true, - "license": "MIT", "dependencies": { "@octokit/core": "^4.0.0", "@octokit/plugin-paginate-rest": "^3.0.0", @@ -4580,67 +4622,185 @@ "@octokit/plugin-rest-endpoint-methods": "^6.0.0" }, "engines": { - "node": ">= 14" + "node": ">= 14" + } + }, + "node_modules/@octokit/types": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", + "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "dev": true, + "dependencies": { + "@octokit/openapi-types": "^18.0.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz", + "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^3.2.1", + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/utils": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "is-glob": "^4.0.3", + "open": "^8.4.0", + "picocolors": "^1.0.0", + "tiny-glob": "^0.2.9", + "tslib": "^2.4.0" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz", + "integrity": "sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.0.tgz", + "integrity": "sha512-bLzi9GeZgMCvjJeLUIfs8LJYCxrPRA8IXQkzUtaFKKVPTz0mucRyqFcV2U20yg9K+kYAD0YSitzGfRZCFLjdHQ==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.1.0", + "make-fetch-happen": "^11.0.1", + "tuf-js": "^1.1.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/tuf/node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@sigstore/tuf/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@sigstore/tuf/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@octokit/types": { - "version": "9.0.0", + "node_modules/@sigstore/tuf/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^16.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/@parcel/watcher": { - "version": "2.0.4", + "node_modules/@sigstore/tuf/node_modules/minipass-fetch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", "dev": true, - "hasInstallScript": true, - "license": "MIT", "dependencies": { - "node-addon-api": "^3.2.1", - "node-gyp-build": "^4.3.0" + "minipass": "^5.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, "engines": { - "node": ">= 10.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=14" + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/@pkgr/utils": { - "version": "2.3.1", + "node_modules/@sigstore/tuf/node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", "dev": true, - "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.3", - "is-glob": "^4.0.3", - "open": "^8.4.0", - "picocolors": "^1.0.0", - "tiny-glob": "^0.2.9", - "tslib": "^2.4.0" + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" }, "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" + "node": ">= 10" } }, - "node_modules/@sigstore/protobuf-specs": { - "version": "0.1.0", + "node_modules/@sigstore/tuf/node_modules/ssri": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", + "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", "dev": true, - "license": "Apache-2.0", + "dependencies": { + "minipass": "^5.0.0" + }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -4740,12 +4900,23 @@ "dev": true, "license": "MIT" }, + "node_modules/@tufjs/canonical-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz", + "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/@tufjs/models": { - "version": "1.0.1", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz", + "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==", "dev": true, - "license": "MIT", "dependencies": { - "minimatch": "^7.4.2" + "@tufjs/canonical-json": "1.0.0", + "minimatch": "^9.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -4753,21 +4924,23 @@ }, "node_modules/@tufjs/models/node_modules/brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/@tufjs/models/node_modules/minimatch": { - "version": "7.4.3", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -4890,13 +5063,15 @@ }, "node_modules/@types/minimatch": { "version": "3.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true }, "node_modules/@types/minimist": { "version": "1.2.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true }, "node_modules/@types/node": { "version": "18.16.18", @@ -4905,13 +5080,15 @@ }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true }, "node_modules/@types/parse-json": { "version": "4.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true }, "node_modules/@types/prettier": { "version": "2.7.2", @@ -5153,13 +5330,15 @@ }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true }, "node_modules/@yarnpkg/parsers": { - "version": "3.0.0-rc.42", + "version": "3.0.0-rc.46", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", + "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "js-yaml": "^3.10.0", "tslib": "^2.4.0" @@ -5170,16 +5349,18 @@ }, "node_modules/@yarnpkg/parsers/node_modules/argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/@yarnpkg/parsers/node_modules/js-yaml": { "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -5190,8 +5371,9 @@ }, "node_modules/@zkochan/js-yaml": { "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz", + "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -5201,16 +5383,18 @@ }, "node_modules/abbrev": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", "dev": true, - "license": "ISC", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/abort-controller": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dev": true, - "license": "MIT", "dependencies": { "event-target-shim": "^5.0.0" }, @@ -5247,8 +5431,9 @@ }, "node_modules/add-stream": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", + "dev": true }, "node_modules/agent-base": { "version": "6.0.2", @@ -5445,8 +5630,9 @@ }, "node_modules/are-we-there-yet": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, - "license": "ISC", "dependencies": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" @@ -5467,8 +5653,9 @@ }, "node_modules/array-differ": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -5523,8 +5710,9 @@ }, "node_modules/arrify": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6333,13 +6521,15 @@ }, "node_modules/before-after-hook": { "version": "2.2.3", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "dev": true }, "node_modules/bin-links": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-4.0.1.tgz", + "integrity": "sha512-bmFEM39CyX336ZGGRsGPlc6jZHriIoHacOQcTt72MktIjpPhZoP4te2jOyUXF3BLILmJ8aNLncoPVeIIFlrDeA==", "dev": true, - "license": "ISC", "dependencies": { "cmd-shim": "^6.0.0", "npm-normalize-package-bin": "^3.0.0", @@ -6352,27 +6542,42 @@ }, "node_modules/bin-links/node_modules/cmd-shim": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-6.0.1.tgz", + "integrity": "sha512-S9iI9y0nKR4hwEQsVWpyxld/6kRfGepGfzff83FcaiEBpmvlbA2nnGe7Cylgrx2f/p1P5S5wpRm9oL8z1PbS3Q==", "dev": true, - "license": "ISC", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/bin-links/node_modules/read-cmd-shim": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz", + "integrity": "sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==", "dev": true, - "license": "ISC", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/bin-links/node_modules/signal-exit": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/bin-links/node_modules/write-file-atomic": { - "version": "5.0.0", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", "dev": true, - "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "signal-exit": "^4.0.1" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -6514,8 +6719,9 @@ }, "node_modules/byte-size": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-7.0.0.tgz", + "integrity": "sha512-NNiBxKgxybMBtWdmvx7ZITJi4ZG+CYUgwOSZTfqB1qogkRHrhbQE/R2r5Fh94X+InN5MCYz6SvB/ejHMj/HbsQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } @@ -6529,20 +6735,20 @@ } }, "node_modules/cacache": { - "version": "17.0.5", + "version": "17.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.3.tgz", + "integrity": "sha512-jAdjGxmPxZh0IipMdR7fK/4sDSrHMLUV0+GvVUsjwyGNKHsh79kW/otg+GkbXwl6Uzvy9wsvHOX4nUoWldeZMg==", "dev": true, - "license": "ISC", "dependencies": { "@npmcli/fs": "^3.1.0", "fs-minipass": "^3.0.0", - "glob": "^9.3.1", + "glob": "^10.2.2", "lru-cache": "^7.7.1", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", "ssri": "^10.0.0", "tar": "^6.1.11", "unique-filename": "^3.0.0" @@ -6553,21 +6759,27 @@ }, "node_modules/cacache/node_modules/brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/cacache/node_modules/glob": { - "version": "9.3.2", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.0.tgz", + "integrity": "sha512-AQ1/SB9HH0yCx1jXAT4vmCbTOPe5RQ+kCurjbel5xSCGhebumUv+GJZfa1rEqor3XIViqwSEmlkZCQD43RWrBg==", "dev": true, - "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^7.4.1", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.7.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -6577,25 +6789,36 @@ } }, "node_modules/cacache/node_modules/minimatch": { - "version": "7.4.3", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/cacache/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/cacache/node_modules/ssri": { - "version": "10.0.1", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", + "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", "dev": true, - "license": "ISC", "dependencies": { - "minipass": "^4.0.0" + "minipass": "^5.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -6631,8 +6854,9 @@ }, "node_modules/camelcase-keys": { "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, - "license": "MIT", "dependencies": { "camelcase": "^5.3.1", "map-obj": "^4.0.0", @@ -7061,8 +7285,9 @@ }, "node_modules/clone-deep": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -7074,8 +7299,9 @@ }, "node_modules/clone-deep/node_modules/is-plain-object": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -7104,8 +7330,9 @@ }, "node_modules/cmd-shim": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-5.0.0.tgz", + "integrity": "sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==", "dev": true, - "license": "ISC", "dependencies": { "mkdirp-infer-owner": "^2.0.0" }, @@ -7145,8 +7372,9 @@ }, "node_modules/color-support": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true, - "license": "ISC", "bin": { "color-support": "bin.js" } @@ -7158,8 +7386,9 @@ }, "node_modules/columnify": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", + "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==", "dev": true, - "license": "MIT", "dependencies": { "strip-ansi": "^6.0.1", "wcwidth": "^1.0.0" @@ -7189,8 +7418,9 @@ }, "node_modules/common-ancestor-path": { "version": "1.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "dev": true }, "node_modules/compare-func": { "version": "2.0.0", @@ -7233,11 +7463,12 @@ }, "node_modules/concat-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", "dev": true, "engines": [ "node >= 6.0" ], - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -7247,6 +7478,8 @@ }, "node_modules/config-chain": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", "dev": true, "dependencies": { "ini": "^1.3.4", @@ -7255,8 +7488,9 @@ }, "node_modules/console-control-strings": { "version": "1.1.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true }, "node_modules/constructs": { "version": "10.1.196", @@ -7279,8 +7513,9 @@ }, "node_modules/conventional-changelog-core": { "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", "dev": true, - "license": "MIT", "dependencies": { "add-stream": "^1.0.0", "conventional-changelog-writer": "^5.0.0", @@ -7301,18 +7536,59 @@ "node": ">=10" } }, + "node_modules/conventional-changelog-core/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/conventional-changelog-preset-loader": { "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/conventional-changelog-writer": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", "dev": true, - "license": "MIT", "dependencies": { "conventional-commits-filter": "^2.0.7", "dateformat": "^3.0.0", @@ -7333,16 +7609,18 @@ }, "node_modules/conventional-changelog-writer/node_modules/semver": { "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/conventional-commits-filter": { "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", "dev": true, - "license": "MIT", "dependencies": { "lodash.ismatch": "^4.4.0", "modify-values": "^1.0.0" @@ -7353,8 +7631,9 @@ }, "node_modules/conventional-commits-parser": { "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", "dev": true, - "license": "MIT", "dependencies": { "is-text-path": "^1.0.1", "JSONStream": "^1.0.4", @@ -7372,8 +7651,9 @@ }, "node_modules/conventional-recommended-bump": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz", + "integrity": "sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==", "dev": true, - "license": "MIT", "dependencies": { "concat-stream": "^2.0.0", "conventional-changelog-preset-loader": "^2.3.4", @@ -7403,8 +7683,9 @@ }, "node_modules/cosmiconfig": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", "dev": true, - "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -7467,16 +7748,18 @@ }, "node_modules/crypto-random-string": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cssesc": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, - "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -7486,8 +7769,9 @@ }, "node_modules/dargs": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -7502,8 +7786,9 @@ }, "node_modules/dateformat": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", "dev": true, - "license": "MIT", "engines": { "node": "*" } @@ -7526,16 +7811,18 @@ }, "node_modules/decamelize": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/decamelize-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, - "license": "MIT", "dependencies": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" @@ -7549,8 +7836,9 @@ }, "node_modules/decamelize-keys/node_modules/map-obj": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7623,8 +7911,9 @@ }, "node_modules/del": { "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", "dev": true, - "license": "MIT", "dependencies": { "globby": "^11.0.1", "graceful-fs": "^4.2.4", @@ -7667,8 +7956,9 @@ }, "node_modules/delegates": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true }, "node_modules/depd": { "version": "2.0.0", @@ -7680,13 +7970,15 @@ }, "node_modules/deprecation": { "version": "2.3.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true }, "node_modules/detect-indent": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -7743,8 +8035,9 @@ }, "node_modules/dot-prop": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", "dev": true, - "license": "MIT", "dependencies": { "is-obj": "^2.0.0" }, @@ -7757,16 +8050,18 @@ }, "node_modules/dotenv": { "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=10" } }, "node_modules/duplexer": { "version": "0.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true }, "node_modules/eastasianwidth": { "version": "0.2.0", @@ -7775,8 +8070,9 @@ }, "node_modules/ejs": { "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "jake": "^10.8.5" }, @@ -7869,8 +8165,9 @@ }, "node_modules/env-paths": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -8820,16 +9117,18 @@ }, "node_modules/event-target-shim": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/eventemitter3": { "version": "4.0.7", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true }, "node_modules/events": { "version": "1.1.1", @@ -8883,6 +9182,12 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "dev": true + }, "node_modules/external-editor": { "version": "3.1.0", "dev": true, @@ -9034,32 +9339,36 @@ }, "node_modules/file-url": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/file-url/-/file-url-3.0.0.tgz", + "integrity": "sha512-g872QGsHexznxkIAdK8UiZRe7SkE6kvylShU4Nsj8NvfvZag7S0QuQ4IgvPDkk75HxgjIVDwycFTDAgIiO4nDA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/filelist": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", "dev": true, - "license": "Apache-2.0", "dependencies": { "minimatch": "^5.0.1" } }, "node_modules/filelist/node_modules/brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/filelist/node_modules/minimatch": { "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -9095,8 +9404,9 @@ }, "node_modules/flat": { "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, - "license": "BSD-3-Clause", "bin": { "flat": "cli.js" } @@ -9208,14 +9518,24 @@ } }, "node_modules/fs-minipass": { - "version": "3.0.1", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.2.tgz", + "integrity": "sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==", "dev": true, - "license": "ISC", "dependencies": { - "minipass": "^4.0.0" + "minipass": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/fs.realpath": { @@ -9287,8 +9607,9 @@ }, "node_modules/gauge": { "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "dev": true, - "license": "ISC", "dependencies": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.3", @@ -9342,8 +9663,9 @@ }, "node_modules/get-pkg-repo": { "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", "dev": true, - "license": "MIT", "dependencies": { "@hutson/parse-repository-url": "^3.0.0", "hosted-git-info": "^4.0.0", @@ -9359,8 +9681,9 @@ }, "node_modules/get-pkg-repo/node_modules/cliui": { "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -9369,8 +9692,9 @@ }, "node_modules/get-pkg-repo/node_modules/hosted-git-info": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -9380,8 +9704,9 @@ }, "node_modules/get-pkg-repo/node_modules/lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -9391,8 +9716,9 @@ }, "node_modules/get-pkg-repo/node_modules/readable-stream": { "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -9405,21 +9731,24 @@ }, "node_modules/get-pkg-repo/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "node_modules/get-pkg-repo/node_modules/string_decoder": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/get-pkg-repo/node_modules/through2": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -9427,8 +9756,9 @@ }, "node_modules/get-pkg-repo/node_modules/yargs": { "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, - "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -9444,8 +9774,9 @@ }, "node_modules/get-port": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", + "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -9534,8 +9865,9 @@ }, "node_modules/git-raw-commits": { "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", "dev": true, - "license": "MIT", "dependencies": { "dargs": "^7.0.0", "lodash": "^4.17.15", @@ -9552,8 +9884,9 @@ }, "node_modules/git-remote-origin-url": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", "dev": true, - "license": "MIT", "dependencies": { "gitconfiglocal": "^1.0.0", "pify": "^2.3.0" @@ -9564,16 +9897,18 @@ }, "node_modules/git-remote-origin-url/node_modules/pify": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/git-semver-tags": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", "dev": true, - "license": "MIT", "dependencies": { "meow": "^8.0.0", "semver": "^6.0.0" @@ -9587,16 +9922,18 @@ }, "node_modules/git-semver-tags/node_modules/semver": { "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/git-up": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", + "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", "dev": true, - "license": "MIT", "dependencies": { "is-ssh": "^1.4.0", "parse-url": "^8.1.0" @@ -9604,16 +9941,18 @@ }, "node_modules/git-url-parse": { "version": "13.1.0", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz", + "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==", "dev": true, - "license": "MIT", "dependencies": { "git-up": "^7.0.0" } }, "node_modules/gitconfiglocal": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", "dev": true, - "license": "BSD", "dependencies": { "ini": "^1.3.2" } @@ -9714,8 +10053,9 @@ }, "node_modules/handlebars": { "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, - "license": "MIT", "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.0", @@ -9734,8 +10074,9 @@ }, "node_modules/hard-rejection": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -9805,13 +10146,15 @@ }, "node_modules/has-unicode": { "version": "2.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true }, "node_modules/hosted-git-info": { "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^7.5.1" }, @@ -9925,8 +10268,9 @@ }, "node_modules/ignore-walk": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz", + "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==", "dev": true, - "license": "ISC", "dependencies": { "minimatch": "^5.0.1" }, @@ -9936,16 +10280,18 @@ }, "node_modules/ignore-walk/node_modules/brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/ignore-walk/node_modules/minimatch": { "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -10031,13 +10377,15 @@ }, "node_modules/ini": { "version": "1.3.8", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true }, "node_modules/init-package-json": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-3.0.2.tgz", + "integrity": "sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A==", "dev": true, - "license": "ISC", "dependencies": { "npm-package-arg": "^9.0.1", "promzard": "^0.3.0", @@ -10053,8 +10401,9 @@ }, "node_modules/init-package-json/node_modules/hosted-git-info": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^7.5.1" }, @@ -10064,8 +10413,9 @@ }, "node_modules/init-package-json/node_modules/npm-package-arg": { "version": "9.1.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.2.tgz", + "integrity": "sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==", "dev": true, - "license": "ISC", "dependencies": { "hosted-git-info": "^5.0.0", "proc-log": "^2.0.1", @@ -10078,8 +10428,9 @@ }, "node_modules/init-package-json/node_modules/proc-log": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", + "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", "dev": true, - "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } @@ -10191,8 +10542,9 @@ }, "node_modules/is-ci": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", "dev": true, - "license": "MIT", "dependencies": { "ci-info": "^2.0.0" }, @@ -10202,8 +10554,9 @@ }, "node_modules/is-ci/node_modules/ci-info": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true }, "node_modules/is-core-module": { "version": "2.11.0", @@ -10349,8 +10702,9 @@ }, "node_modules/is-path-cwd": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -10365,16 +10719,18 @@ }, "node_modules/is-plain-obj": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-plain-object": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10407,8 +10763,9 @@ }, "node_modules/is-ssh": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", + "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", "dev": true, - "license": "MIT", "dependencies": { "protocols": "^2.0.1" } @@ -10454,8 +10811,9 @@ }, "node_modules/is-text-path": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", "dev": true, - "license": "MIT", "dependencies": { "text-extensions": "^1.0.0" }, @@ -10526,8 +10884,9 @@ }, "node_modules/isobject": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10620,14 +10979,15 @@ } }, "node_modules/jake": { - "version": "10.8.5", + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "async": "^3.2.3", "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" + "filelist": "^1.0.4", + "minimatch": "^3.1.2" }, "bin": { "jake": "bin/cli.js" @@ -11237,8 +11597,9 @@ }, "node_modules/json-parse-better-errors": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", @@ -11257,16 +11618,18 @@ }, "node_modules/json-stringify-nice": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz", + "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==", "dev": true, - "license": "ISC", "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/json-stringify-safe": { "version": "5.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true }, "node_modules/json5": { "version": "2.2.3", @@ -11305,8 +11668,9 @@ }, "node_modules/JSONStream": { "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, - "license": "(MIT OR Apache-2.0)", "dependencies": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" @@ -11320,13 +11684,15 @@ }, "node_modules/just-diff": { "version": "6.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz", + "integrity": "sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==", + "dev": true }, "node_modules/just-diff-apply": { "version": "5.5.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz", + "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==", + "dev": true }, "node_modules/just-extend": { "version": "4.2.1", @@ -11335,8 +11701,9 @@ }, "node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -11392,13 +11759,14 @@ } }, "node_modules/lerna": { - "version": "6.6.1", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/lerna/-/lerna-6.6.2.tgz", + "integrity": "sha512-W4qrGhcdutkRdHEaDf9eqp7u4JvI+1TwFy5woX6OI8WPe4PYBdxuILAsvhp614fUG41rKSGDKlOh+AWzdSidTg==", "dev": true, - "license": "MIT", "dependencies": { - "@lerna/child-process": "6.6.1", - "@lerna/create": "6.6.1", - "@lerna/legacy-package-management": "6.6.1", + "@lerna/child-process": "6.6.2", + "@lerna/create": "6.6.2", + "@lerna/legacy-package-management": "6.6.2", "@npmcli/arborist": "6.2.3", "@npmcli/run-script": "4.1.7", "@nrwl/devkit": ">=15.5.2 < 16", @@ -11432,8 +11800,8 @@ "is-ci": "2.0.0", "is-stream": "2.0.0", "js-yaml": "^4.1.0", - "libnpmaccess": "6.0.3", - "libnpmpublish": "6.0.4", + "libnpmaccess": "^6.0.3", + "libnpmpublish": "7.1.4", "load-json-file": "6.2.0", "make-dir": "3.1.0", "minimatch": "3.0.5", @@ -11450,7 +11818,7 @@ "p-queue": "6.6.2", "p-reduce": "2.1.0", "p-waterfall": "2.1.1", - "pacote": "13.6.2", + "pacote": "15.1.1", "pify": "5.0.0", "read-cmd-shim": "3.0.0", "read-package-json": "5.0.1", @@ -11477,7 +11845,7 @@ "lerna": "dist/cli.js" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": "^14.17.0 || >=16.0.0" } }, "node_modules/lerna/node_modules/chalk": { @@ -11782,93 +12150,70 @@ } }, "node_modules/libnpmpublish": { - "version": "6.0.4", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-7.1.4.tgz", + "integrity": "sha512-mMntrhVwut5prP4rJ228eEbEyvIzLWhqFuY90j5QeXBCTT2pWSMno7Yo2S2qplPUr02zPurGH4heGLZ+wORczg==", "dev": true, - "license": "ISC", "dependencies": { - "normalize-package-data": "^4.0.0", - "npm-package-arg": "^9.0.1", - "npm-registry-fetch": "^13.0.0", + "ci-info": "^3.6.1", + "normalize-package-data": "^5.0.0", + "npm-package-arg": "^10.1.0", + "npm-registry-fetch": "^14.0.3", + "proc-log": "^3.0.0", "semver": "^7.3.7", - "ssri": "^9.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/libnpmpublish/node_modules/hosted-git-info": { - "version": "5.2.1", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^7.5.1" + "sigstore": "^1.4.0", + "ssri": "^10.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/libnpmpublish/node_modules/minipass": { - "version": "3.3.6", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/libnpmpublish/node_modules/normalize-package-data": { - "version": "4.0.1", + "node_modules/libnpmpublish/node_modules/npm-package-arg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "hosted-git-info": "^5.0.0", - "is-core-module": "^2.8.1", + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/libnpmpublish/node_modules/npm-package-arg": { - "version": "9.1.2", + "node_modules/libnpmpublish/node_modules/ssri": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", + "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", "dev": true, - "license": "ISC", "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "minipass": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/libnpmpublish/node_modules/npm-registry-fetch": { - "version": "13.3.1", + "node_modules/libnpmpublish/node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", "dev": true, - "license": "ISC", "dependencies": { - "make-fetch-happen": "^10.0.6", - "minipass": "^3.1.6", - "minipass-fetch": "^2.0.3", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^9.0.1", - "proc-log": "^2.0.0" + "builtins": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/libnpmpublish/node_modules/proc-log": { - "version": "2.0.1", - "dev": true, - "license": "ISC", - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/lilconfig": { @@ -12080,8 +12425,9 @@ }, "node_modules/load-json-file": { "version": "6.2.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz", + "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.1.15", "parse-json": "^5.0.0", @@ -12094,8 +12440,9 @@ }, "node_modules/load-json-file/node_modules/type-fest": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } @@ -12141,8 +12488,9 @@ }, "node_modules/lodash.ismatch": { "version": "4.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true }, "node_modules/lodash.isplainobject": { "version": "4.0.6", @@ -12501,8 +12849,9 @@ }, "node_modules/map-obj": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -12534,8 +12883,9 @@ }, "node_modules/meow": { "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", "dev": true, - "license": "MIT", "dependencies": { "@types/minimist": "^1.2.0", "camelcase-keys": "^6.2.2", @@ -12558,8 +12908,9 @@ }, "node_modules/meow/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -12569,14 +12920,22 @@ } }, "node_modules/meow/node_modules/hosted-git-info": { - "version": "2.8.9", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, - "license": "ISC" + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } }, "node_modules/meow/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -12584,10 +12943,38 @@ "node": ">=8" } }, + "node_modules/meow/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/meow/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -12600,8 +12987,9 @@ }, "node_modules/meow/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -12611,8 +12999,9 @@ }, "node_modules/meow/node_modules/read-pkg": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, - "license": "MIT", "dependencies": { "@types/normalize-package-data": "^2.4.0", "normalize-package-data": "^2.5.0", @@ -12625,8 +13014,9 @@ }, "node_modules/meow/node_modules/read-pkg-up": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.1.0", "read-pkg": "^5.2.0", @@ -12641,16 +13031,24 @@ }, "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, + "node_modules/meow/node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -12658,26 +13056,29 @@ "validate-npm-package-license": "^3.0.1" } }, + "node_modules/meow/node_modules/read-pkg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, - "node_modules/meow/node_modules/semver": { - "version": "5.7.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, "node_modules/meow/node_modules/type-fest": { "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -12739,8 +13140,9 @@ }, "node_modules/min-indent": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -12766,8 +13168,9 @@ }, "node_modules/minimist-options": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, - "license": "MIT", "dependencies": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0", @@ -12956,8 +13359,9 @@ }, "node_modules/mkdirp-infer-owner": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz", + "integrity": "sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==", "dev": true, - "license": "ISC", "dependencies": { "chownr": "^2.0.0", "infer-owner": "^1.0.4", @@ -12977,8 +13381,9 @@ }, "node_modules/modify-values": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12990,8 +13395,9 @@ }, "node_modules/multimatch": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", + "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", "dev": true, - "license": "MIT", "dependencies": { "@types/minimatch": "^3.0.3", "array-differ": "^3.0.0", @@ -13008,8 +13414,9 @@ }, "node_modules/multimatch/node_modules/arrify": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -13039,8 +13446,9 @@ }, "node_modules/neo-async": { "version": "2.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true }, "node_modules/netmask": { "version": "2.0.2", @@ -13080,13 +13488,15 @@ }, "node_modules/node-addon-api": { "version": "3.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true }, "node_modules/node-fetch": { "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dev": true, - "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -13103,14 +13513,16 @@ } }, "node_modules/node-gyp": { - "version": "9.3.1", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.0.tgz", + "integrity": "sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==", "dev": true, - "license": "MIT", "dependencies": { "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", "glob": "^7.1.4", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", + "make-fetch-happen": "^11.0.3", "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", @@ -13122,28 +13534,106 @@ "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": "^12.13 || ^14.13 || >=16" + "node": "^12.13 || ^14.13 || >=16" + } + }, + "node_modules/node-gyp-build": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", + "dev": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/node-gyp/node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/node-gyp/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/node-gyp/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/node-gyp-build": { - "version": "4.6.0", + "node_modules/node-gyp/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "dev": true, - "license": "MIT", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "engines": { + "node": ">=8" } }, - "node_modules/node-gyp/node_modules/abbrev": { - "version": "1.1.1", + "node_modules/node-gyp/node_modules/minipass-fetch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", "dev": true, - "license": "ISC" + "dependencies": { + "minipass": "^5.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } }, "node_modules/node-gyp/node_modules/nopt": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", "dev": true, - "license": "ISC", "dependencies": { "abbrev": "^1.0.0" }, @@ -13169,6 +13659,32 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/node-gyp/node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/node-gyp/node_modules/ssri": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", + "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", + "dev": true, + "dependencies": { + "minipass": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/node-int64": { "version": "0.4.0", "dev": true, @@ -13180,9 +13696,10 @@ "license": "MIT" }, "node_modules/nopt": { - "version": "7.1.0", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz", + "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==", "dev": true, - "license": "ISC", "dependencies": { "abbrev": "^2.0.0" }, @@ -13194,39 +13711,18 @@ } }, "node_modules/normalize-package-data": { - "version": "3.0.3", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-package-data/node_modules/hosted-git-info": { - "version": "4.1.0", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/normalize-package-data/node_modules/lru-cache": { - "version": "6.0.0", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", + "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", "dev": true, - "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "hosted-git-info": "^6.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/normalize-path": { @@ -13239,8 +13735,9 @@ }, "node_modules/npm-bundled": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", "dev": true, - "license": "ISC", "dependencies": { "npm-normalize-package-bin": "^3.0.0" }, @@ -13249,9 +13746,10 @@ } }, "node_modules/npm-install-checks": { - "version": "6.1.0", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.1.1.tgz", + "integrity": "sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "semver": "^7.1.1" }, @@ -13260,17 +13758,19 @@ } }, "node_modules/npm-normalize-package-bin": { - "version": "3.0.0", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", "dev": true, - "license": "ISC", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-package-arg": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.1.tgz", + "integrity": "sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==", "dev": true, - "license": "ISC", "dependencies": { "hosted-git-info": "^3.0.6", "semver": "^7.0.0", @@ -13282,13 +13782,15 @@ }, "node_modules/npm-package-arg/node_modules/builtins": { "version": "1.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", + "dev": true }, "node_modules/npm-package-arg/node_modules/hosted-git-info": { "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -13298,8 +13800,9 @@ }, "node_modules/npm-package-arg/node_modules/lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -13309,16 +13812,18 @@ }, "node_modules/npm-package-arg/node_modules/validate-npm-package-name": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", "dev": true, - "license": "ISC", "dependencies": { "builtins": "^1.0.3" } }, "node_modules/npm-packlist": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.1.tgz", + "integrity": "sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw==", "dev": true, - "license": "ISC", "dependencies": { "glob": "^8.0.1", "ignore-walk": "^5.0.1", @@ -13334,16 +13839,18 @@ }, "node_modules/npm-packlist/node_modules/brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/npm-packlist/node_modules/glob": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -13360,8 +13867,9 @@ }, "node_modules/npm-packlist/node_modules/minimatch": { "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -13371,21 +13879,24 @@ }, "node_modules/npm-packlist/node_modules/npm-bundled": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", "dev": true, - "license": "ISC", "dependencies": { "npm-normalize-package-bin": "^1.0.1" } }, "node_modules/npm-packlist/node_modules/npm-normalize-package-bin": { "version": "1.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true }, "node_modules/npm-pick-manifest": { "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz", + "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==", "dev": true, - "license": "ISC", "dependencies": { "npm-install-checks": "^6.0.0", "npm-normalize-package-bin": "^3.0.0", @@ -13398,8 +13909,9 @@ }, "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", "dev": true, - "license": "ISC", "dependencies": { "hosted-git-info": "^6.0.0", "proc-log": "^3.0.0", @@ -13412,8 +13924,9 @@ }, "node_modules/npm-pick-manifest/node_modules/validate-npm-package-name": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", "dev": true, - "license": "ISC", "dependencies": { "builtins": "^5.0.0" }, @@ -13422,12 +13935,13 @@ } }, "node_modules/npm-registry-fetch": { - "version": "14.0.3", + "version": "14.0.5", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz", + "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==", "dev": true, - "license": "ISC", "dependencies": { "make-fetch-happen": "^11.0.0", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minipass-fetch": "^3.0.0", "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", @@ -13440,16 +13954,18 @@ }, "node_modules/npm-registry-fetch/node_modules/@tootallnate/once": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/npm-registry-fetch/node_modules/http-proxy-agent": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, - "license": "MIT", "dependencies": { "@tootallnate/once": "2", "agent-base": "6", @@ -13460,9 +13976,10 @@ } }, "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { - "version": "11.0.3", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", "dev": true, - "license": "ISC", "dependencies": { "agentkeepalive": "^4.2.1", "cacache": "^17.0.0", @@ -13471,7 +13988,7 @@ "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^7.7.1", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", @@ -13484,12 +14001,22 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/npm-registry-fetch/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { - "version": "3.0.1", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", "dev": true, - "license": "MIT", "dependencies": { - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" }, @@ -13502,8 +14029,9 @@ }, "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", "dev": true, - "license": "ISC", "dependencies": { "hosted-git-info": "^6.0.0", "proc-log": "^3.0.0", @@ -13516,8 +14044,9 @@ }, "node_modules/npm-registry-fetch/node_modules/socks-proxy-agent": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", "dev": true, - "license": "MIT", "dependencies": { "agent-base": "^6.0.2", "debug": "^4.3.3", @@ -13528,11 +14057,12 @@ } }, "node_modules/npm-registry-fetch/node_modules/ssri": { - "version": "10.0.1", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", + "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", "dev": true, - "license": "ISC", "dependencies": { - "minipass": "^4.0.0" + "minipass": "^5.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -13540,8 +14070,9 @@ }, "node_modules/npm-registry-fetch/node_modules/validate-npm-package-name": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", "dev": true, - "license": "ISC", "dependencies": { "builtins": "^5.0.0" }, @@ -13562,8 +14093,9 @@ }, "node_modules/npmlog": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "dev": true, - "license": "ISC", "dependencies": { "are-we-there-yet": "^3.0.0", "console-control-strings": "^1.1.0", @@ -13575,13 +14107,14 @@ } }, "node_modules/nx": { - "version": "15.9.2", + "version": "15.9.4", + "resolved": "https://registry.npmjs.org/nx/-/nx-15.9.4.tgz", + "integrity": "sha512-P1G4t59UvE/lkHyruLeSOB5ZuNyh01IwU0tTUOi8f9s/NbP7+OQ8MYVwDV74JHTr6mQgjlS+n+4Eox8tVm9itA==", "dev": true, "hasInstallScript": true, - "license": "MIT", "dependencies": { - "@nrwl/cli": "15.9.2", - "@nrwl/tao": "15.9.2", + "@nrwl/cli": "15.9.4", + "@nrwl/tao": "15.9.4", "@parcel/watcher": "2.0.4", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "^3.0.0-rc.18", @@ -13603,162 +14136,51 @@ "jsonc-parser": "3.2.0", "lines-and-columns": "~2.0.3", "minimatch": "3.0.5", - "npm-run-path": "^4.0.1", - "open": "^8.4.0", - "semver": "7.3.4", - "string-width": "^4.2.3", - "strong-log-transformer": "^2.1.0", - "tar-stream": "~2.2.0", - "tmp": "~0.2.1", - "tsconfig-paths": "^4.1.2", - "tslib": "^2.3.0", - "v8-compile-cache": "2.3.0", - "yargs": "^17.6.2", - "yargs-parser": "21.1.1" - }, - "bin": { - "nx": "bin/nx.js" - }, - "optionalDependencies": { - "@nrwl/nx-darwin-arm64": "15.9.2", - "@nrwl/nx-darwin-x64": "15.9.2", - "@nrwl/nx-linux-arm-gnueabihf": "15.9.2", - "@nrwl/nx-linux-arm64-gnu": "15.9.2", - "@nrwl/nx-linux-arm64-musl": "15.9.2", - "@nrwl/nx-linux-x64-gnu": "15.9.2", - "@nrwl/nx-linux-x64-musl": "15.9.2", - "@nrwl/nx-win32-arm64-msvc": "15.9.2", - "@nrwl/nx-win32-x64-msvc": "15.9.2" - }, - "peerDependencies": { - "@swc-node/register": "^1.4.2", - "@swc/core": "^1.2.173" - }, - "peerDependenciesMeta": { - "@swc-node/register": { - "optional": true - }, - "@swc/core": { - "optional": true - } - } - }, - "node_modules/nx/node_modules/@nrwl/nx-darwin-arm64": { - "version": "15.9.2", - "resolved": "https://registry.npmjs.org/@nrwl/nx-darwin-arm64/-/nx-darwin-arm64-15.9.2.tgz", - "integrity": "sha512-Yv+OVsQt3C/hmWOC+YhJZQlsyph5w1BHfbp4jyCvV1ZXBbb8NdvwxgDHPWXxKPTc1EXuB7aEX3qzxM3/OWEUJg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/nx/node_modules/@nrwl/nx-darwin-x64": { - "version": "15.9.2", - "resolved": "https://registry.npmjs.org/@nrwl/nx-darwin-x64/-/nx-darwin-x64-15.9.2.tgz", - "integrity": "sha512-qHfdluHlPzV0UHOwj1ZJ+qNEhzfLGiBuy1cOth4BSzDlvMnkuqBWoprfaXoztzYcus2NSILY1/7b3Jw4DAWmMw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/nx/node_modules/@nrwl/nx-linux-arm-gnueabihf": { - "version": "15.9.2", - "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-15.9.2.tgz", - "integrity": "sha512-0GzwbablosnYnnJDCJvAeZv8LlelSrNwUnGhe43saeoZdAew35Ay1E34zBrg/GCGTASuz+knEEYFM+gDD9Mc6A==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/nx/node_modules/@nrwl/nx-linux-x64-gnu": { - "version": "15.9.2", - "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-x64-gnu/-/nx-linux-x64-gnu-15.9.2.tgz", - "integrity": "sha512-gHWsP5lbe4FNQCa1Q/VLxIuik+BqAOcSzyPjdUa4gCDcbxPa8xiE57PgXB5E1XUzOWNnDTlXa/Ll07/TIuKuog==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/nx/node_modules/@nrwl/nx-linux-x64-musl": { - "version": "15.9.2", - "resolved": "https://registry.npmjs.org/@nrwl/nx-linux-x64-musl/-/nx-linux-x64-musl-15.9.2.tgz", - "integrity": "sha512-EaFUukCbmoHsYECX2AS4pxXH933yesBFVvBgD38DkoFDxDoJMVt6JqYwm+d5R7S4R2P9U3l++aurljQTRq567Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/nx/node_modules/@nrwl/nx-win32-arm64-msvc": { - "version": "15.9.2", - "resolved": "https://registry.npmjs.org/@nrwl/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-15.9.2.tgz", - "integrity": "sha512-PGAe7QMr51ivx1X3avvs8daNlvv1wGo3OFrobjlu5rSyjC1Y3qHwT9+wdlwzNZ93FIqWOq09s+rE5gfZRfpdAg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/nx/node_modules/@nrwl/nx-win32-x64-msvc": { - "version": "15.9.2", - "resolved": "https://registry.npmjs.org/@nrwl/nx-win32-x64-msvc/-/nx-win32-x64-msvc-15.9.2.tgz", - "integrity": "sha512-Q8onNzhuAZ0l9DNkm8D4Z1AEIzJr8JiT4L2fVBLYrV/R75C2HS3q7lzvfo6oqMY6mXge1cFPcrTtg3YXBQaSWA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "semver": "7.3.4", + "string-width": "^4.2.3", + "strong-log-transformer": "^2.1.0", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "v8-compile-cache": "2.3.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js" + }, + "optionalDependencies": { + "@nrwl/nx-darwin-arm64": "15.9.4", + "@nrwl/nx-darwin-x64": "15.9.4", + "@nrwl/nx-linux-arm-gnueabihf": "15.9.4", + "@nrwl/nx-linux-arm64-gnu": "15.9.4", + "@nrwl/nx-linux-arm64-musl": "15.9.4", + "@nrwl/nx-linux-x64-gnu": "15.9.4", + "@nrwl/nx-linux-x64-musl": "15.9.4", + "@nrwl/nx-win32-arm64-msvc": "15.9.4", + "@nrwl/nx-win32-x64-msvc": "15.9.4" + }, + "peerDependencies": { + "@swc-node/register": "^1.4.2", + "@swc/core": "^1.2.173" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } } }, "node_modules/nx/node_modules/cliui": { "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -13767,8 +14189,9 @@ }, "node_modules/nx/node_modules/fast-glob": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -13782,8 +14205,9 @@ }, "node_modules/nx/node_modules/fs-extra": { "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -13795,8 +14219,9 @@ }, "node_modules/nx/node_modules/glob": { "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -13811,8 +14236,9 @@ }, "node_modules/nx/node_modules/glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -13822,16 +14248,18 @@ }, "node_modules/nx/node_modules/lines-and-columns": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", + "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/nx/node_modules/lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -13841,8 +14269,9 @@ }, "node_modules/nx/node_modules/minimatch": { "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -13852,8 +14281,9 @@ }, "node_modules/nx/node_modules/semver": { "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -13866,16 +14296,18 @@ }, "node_modules/nx/node_modules/strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/nx/node_modules/tsconfig-paths": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", "dev": true, - "license": "MIT", "dependencies": { "json5": "^2.2.2", "minimist": "^1.2.6", @@ -13887,8 +14319,9 @@ }, "node_modules/nx/node_modules/yargs-parser": { "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } @@ -14033,8 +14466,9 @@ }, "node_modules/p-finally": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -14083,8 +14517,9 @@ }, "node_modules/p-map-series": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-2.1.0.tgz", + "integrity": "sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -14102,8 +14537,9 @@ }, "node_modules/p-queue": { "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", "dev": true, - "license": "MIT", "dependencies": { "eventemitter3": "^4.0.4", "p-timeout": "^3.2.0" @@ -14117,16 +14553,18 @@ }, "node_modules/p-reduce": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz", + "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/p-timeout": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", "dev": true, - "license": "MIT", "dependencies": { "p-finally": "^1.0.0" }, @@ -14144,8 +14582,9 @@ }, "node_modules/p-waterfall": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-waterfall/-/p-waterfall-2.1.1.tgz", + "integrity": "sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw==", "dev": true, - "license": "MIT", "dependencies": { "p-reduce": "^2.0.0" }, @@ -14189,338 +14628,217 @@ } }, "node_modules/pacote": { - "version": "13.6.2", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.1.1.tgz", + "integrity": "sha512-eeqEe77QrA6auZxNHIp+1TzHQ0HBKf5V6c8zcaYZ134EJe1lCi+fjXATkNiEEfbG+e50nu02GLvUtmZcGOYabQ==", "dev": true, - "license": "ISC", "dependencies": { - "@npmcli/git": "^3.0.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/run-script": "^4.1.0", - "cacache": "^16.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.6", - "mkdirp": "^1.0.4", - "npm-package-arg": "^9.0.0", - "npm-packlist": "^5.1.0", - "npm-pick-manifest": "^7.0.0", - "npm-registry-fetch": "^13.0.1", - "proc-log": "^2.0.0", + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^4.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", "promise-retry": "^2.0.1", - "read-package-json": "^5.0.0", - "read-package-json-fast": "^2.0.3", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^1.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11" }, "bin": { "pacote": "lib/bin.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/pacote/node_modules/@npmcli/fs": { - "version": "2.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/@npmcli/installed-package-contents": { - "version": "1.0.7", + "node_modules/pacote/node_modules/@npmcli/run-script": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz", + "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==", "dev": true, - "license": "ISC", "dependencies": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - }, - "bin": { - "installed-package-contents": "index.js" + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" }, "engines": { - "node": ">= 10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/pacote/node_modules/brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, - "node_modules/pacote/node_modules/cacache": { - "version": "16.1.3", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/pacote/node_modules/fs-minipass": { - "version": "2.1.0", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/pacote/node_modules/glob": { - "version": "8.1.0", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/pacote/node_modules/hosted-git-info": { - "version": "5.2.1", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^7.5.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/pacote/node_modules/minimatch": { - "version": "5.1.6", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pacote/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pacote/node_modules/npm-bundled": { - "version": "1.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "node_modules/pacote/node_modules/npm-install-checks": { - "version": "5.0.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/pacote/node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/pacote/node_modules/npm-package-arg": { - "version": "9.1.2", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.0.tgz", + "integrity": "sha512-AQ1/SB9HH0yCx1jXAT4vmCbTOPe5RQ+kCurjbel5xSCGhebumUv+GJZfa1rEqor3XIViqwSEmlkZCQD43RWrBg==", "dev": true, - "license": "ISC", "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.7.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/pacote/node_modules/npm-pick-manifest": { - "version": "7.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "npm-install-checks": "^5.0.0", - "npm-normalize-package-bin": "^2.0.0", - "npm-package-arg": "^9.0.0", - "semver": "^7.3.5" + "bin": { + "glob": "dist/cjs/src/bin.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/pacote/node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/pacote/node_modules/npm-registry-fetch": { - "version": "13.3.1", - "dev": true, - "license": "ISC", - "dependencies": { - "make-fetch-happen": "^10.0.6", - "minipass": "^3.1.6", - "minipass-fetch": "^2.0.3", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^9.0.1", - "proc-log": "^2.0.0" + "node": ">=16 || 14 >=14.17" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/pacote/node_modules/proc-log": { - "version": "2.0.1", + "node_modules/pacote/node_modules/glob/node_modules/minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", "dev": true, - "license": "ISC", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/pacote/node_modules/read-package-json-fast": { - "version": "2.0.3", + "node_modules/pacote/node_modules/ignore-walk": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz", + "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==", "dev": true, - "license": "ISC", "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" + "minimatch": "^9.0.0" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/pacote/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "brace-expansion": "^2.0.1" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/pacote/node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/pacote/node_modules/npm-package-arg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/pacote/node_modules/npm-packlist": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", + "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "ignore-walk": "^6.0.0" }, "engines": { - "node": "*" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/read-package-json": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz", + "integrity": "sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==", + "dev": true, + "dependencies": { + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/pacote/node_modules/ssri": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", + "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "minipass": "^5.0.0" }, "engines": { - "node": "*" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/unique-filename": { - "version": "2.0.1", + "node_modules/pacote/node_modules/ssri/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pacote/node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", "dev": true, - "license": "ISC", "dependencies": { - "unique-slug": "^3.0.0" + "builtins": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/unique-slug": { - "version": "3.0.0", + "node_modules/pacote/node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", "dev": true, - "license": "ISC", "dependencies": { - "imurmurhash": "^0.1.4" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/parent-module": { @@ -14536,8 +14854,9 @@ }, "node_modules/parse-conflict-json": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz", + "integrity": "sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==", "dev": true, - "license": "ISC", "dependencies": { "json-parse-even-better-errors": "^3.0.0", "just-diff": "^6.0.0", @@ -14549,8 +14868,9 @@ }, "node_modules/parse-conflict-json/node_modules/json-parse-even-better-errors": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", "dev": true, - "license": "MIT", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -14574,16 +14894,18 @@ }, "node_modules/parse-path": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz", + "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==", "dev": true, - "license": "MIT", "dependencies": { "protocols": "^2.0.0" } }, "node_modules/parse-url": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz", + "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==", "dev": true, - "license": "MIT", "dependencies": { "parse-path": "^7.0.0" } @@ -14712,8 +15034,9 @@ }, "node_modules/pify": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-5.0.0.tgz", + "integrity": "sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -14789,9 +15112,10 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.11", + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, - "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -14861,16 +15185,18 @@ }, "node_modules/proc-log": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", "dev": true, - "license": "ISC", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/process": { "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6.0" } @@ -14882,16 +15208,18 @@ }, "node_modules/promise-all-reject-late": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz", + "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==", "dev": true, - "license": "ISC", "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/promise-call-limit": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-1.0.2.tgz", + "integrity": "sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA==", "dev": true, - "license": "ISC", "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -14935,21 +15263,24 @@ }, "node_modules/promzard": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", + "integrity": "sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw==", "dev": true, - "license": "ISC", "dependencies": { "read": "1" } }, "node_modules/proto-list": { "version": "1.2.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true }, "node_modules/protocols": { "version": "2.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", + "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==", + "dev": true }, "node_modules/proxy-agent": { "version": "5.0.0", @@ -15032,8 +15363,9 @@ }, "node_modules/quick-lru": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -15070,16 +15402,18 @@ }, "node_modules/read-cmd-shim": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-3.0.0.tgz", + "integrity": "sha512-KQDVjGqhZk92PPNRj9ZEXEuqg8bUobSKRw+q0YQ3TKI5xkce7bUJobL4Z/OtiEbAAv70yEpYIXp4iQ9L8oPVog==", "dev": true, - "license": "ISC", "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/read-package-json": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.1.tgz", + "integrity": "sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg==", "dev": true, - "license": "ISC", "dependencies": { "glob": "^8.0.1", "json-parse-even-better-errors": "^2.3.1", @@ -15092,8 +15426,9 @@ }, "node_modules/read-package-json-fast": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", "dev": true, - "license": "ISC", "dependencies": { "json-parse-even-better-errors": "^3.0.0", "npm-normalize-package-bin": "^3.0.0" @@ -15104,24 +15439,27 @@ }, "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", "dev": true, - "license": "MIT", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/read-package-json/node_modules/brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/read-package-json/node_modules/glob": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -15138,8 +15476,9 @@ }, "node_modules/read-package-json/node_modules/hosted-git-info": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^7.5.1" }, @@ -15149,8 +15488,9 @@ }, "node_modules/read-package-json/node_modules/minimatch": { "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -15160,8 +15500,9 @@ }, "node_modules/read-package-json/node_modules/normalize-package-data": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz", + "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^5.0.0", "is-core-module": "^2.8.1", @@ -15174,13 +15515,15 @@ }, "node_modules/read-package-json/node_modules/npm-normalize-package-bin": { "version": "1.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true }, "node_modules/read-pkg": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", "dev": true, - "license": "MIT", "dependencies": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", @@ -15192,8 +15535,9 @@ }, "node_modules/read-pkg-up": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^2.0.0", "read-pkg": "^3.0.0" @@ -15204,8 +15548,9 @@ }, "node_modules/read-pkg-up/node_modules/find-up": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^2.0.0" }, @@ -15215,8 +15560,9 @@ }, "node_modules/read-pkg-up/node_modules/locate-path": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -15227,8 +15573,9 @@ }, "node_modules/read-pkg-up/node_modules/p-limit": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^1.0.0" }, @@ -15238,8 +15585,9 @@ }, "node_modules/read-pkg-up/node_modules/p-locate": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^1.1.0" }, @@ -15249,29 +15597,33 @@ }, "node_modules/read-pkg-up/node_modules/p-try": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/read-pkg-up/node_modules/path-exists": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/read-pkg/node_modules/hosted-git-info": { "version": "2.8.9", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true }, "node_modules/read-pkg/node_modules/load-json-file": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", @@ -15284,8 +15636,9 @@ }, "node_modules/read-pkg/node_modules/normalize-package-data": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -15295,8 +15648,9 @@ }, "node_modules/read-pkg/node_modules/parse-json": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, - "license": "MIT", "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" @@ -15307,8 +15661,9 @@ }, "node_modules/read-pkg/node_modules/path-type": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, - "license": "MIT", "dependencies": { "pify": "^3.0.0" }, @@ -15318,24 +15673,27 @@ }, "node_modules/read-pkg/node_modules/pify": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/read-pkg/node_modules/semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/read-pkg/node_modules/strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -15382,8 +15740,9 @@ }, "node_modules/redent": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, - "license": "MIT", "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" @@ -15696,8 +16055,9 @@ }, "node_modules/set-blocking": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true }, "node_modules/setprototypeof": { "version": "1.2.0", @@ -15706,8 +16066,9 @@ }, "node_modules/shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -15769,13 +16130,15 @@ "license": "ISC" }, "node_modules/sigstore": { - "version": "1.2.0", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.6.0.tgz", + "integrity": "sha512-QODKff/qW/TXOZI6V/Clqu74xnInAS6it05mufj4/fSewexLtfEntgLZZcBtUK44CDQyUE5TUXYy1ARYzlfG9g==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@sigstore/protobuf-specs": "^0.1.0", + "@sigstore/tuf": "^1.0.0", "make-fetch-happen": "^11.0.1", - "tuf-js": "^1.0.0" + "tuf-js": "^1.1.3" }, "bin": { "sigstore": "bin/sigstore.js" @@ -15786,16 +16149,18 @@ }, "node_modules/sigstore/node_modules/@tootallnate/once": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/sigstore/node_modules/http-proxy-agent": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, - "license": "MIT", "dependencies": { "@tootallnate/once": "2", "agent-base": "6", @@ -15806,9 +16171,10 @@ } }, "node_modules/sigstore/node_modules/make-fetch-happen": { - "version": "11.0.3", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", "dev": true, - "license": "ISC", "dependencies": { "agentkeepalive": "^4.2.1", "cacache": "^17.0.0", @@ -15817,7 +16183,7 @@ "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^7.7.1", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", @@ -15830,12 +16196,22 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/sigstore/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/sigstore/node_modules/minipass-fetch": { - "version": "3.0.1", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", "dev": true, - "license": "MIT", "dependencies": { - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" }, @@ -15848,8 +16224,9 @@ }, "node_modules/sigstore/node_modules/socks-proxy-agent": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", "dev": true, - "license": "MIT", "dependencies": { "agent-base": "^6.0.2", "debug": "^4.3.3", @@ -15860,11 +16237,12 @@ } }, "node_modules/sigstore/node_modules/ssri": { - "version": "10.0.1", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", + "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", "dev": true, - "license": "ISC", "dependencies": { - "minipass": "^4.0.0" + "minipass": "^5.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -15966,8 +16344,9 @@ }, "node_modules/sort-keys": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", "dev": true, - "license": "MIT", "dependencies": { "is-plain-obj": "^1.0.0" }, @@ -15993,8 +16372,9 @@ }, "node_modules/spdx-correct": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -16002,13 +16382,15 @@ }, "node_modules/spdx-exceptions": { "version": "2.3.0", - "dev": true, - "license": "CC-BY-3.0" + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true }, "node_modules/spdx-expression-parse": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -16016,13 +16398,15 @@ }, "node_modules/spdx-license-ids": { "version": "3.0.13", - "dev": true, - "license": "CC0-1.0" + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true }, "node_modules/split": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", "dev": true, - "license": "MIT", "dependencies": { "through": "2" }, @@ -16032,8 +16416,9 @@ }, "node_modules/split2": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", "dev": true, - "license": "ISC", "dependencies": { "readable-stream": "^3.0.0" } @@ -16220,8 +16605,9 @@ }, "node_modules/strip-indent": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, - "license": "MIT", "dependencies": { "min-indent": "^1.0.0" }, @@ -16247,8 +16633,9 @@ }, "node_modules/strong-log-transformer": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", + "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "duplexer": "^0.1.1", "minimist": "^1.2.0", @@ -16376,16 +16763,18 @@ }, "node_modules/temp-dir": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/tempy": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.0.tgz", + "integrity": "sha512-eLXG5B1G0mRPHmgH2WydPl5v4jH35qEn3y/rA/aahKhIa91Pn119SsU7n7v/433gtT9ONzC8ISvNHIh2JSTm0w==", "dev": true, - "license": "MIT", "dependencies": { "del": "^6.0.0", "is-stream": "^2.0.0", @@ -16402,16 +16791,18 @@ }, "node_modules/tempy/node_modules/temp-dir": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/tempy/node_modules/type-fest": { "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -16434,8 +16825,9 @@ }, "node_modules/text-extensions": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10" } @@ -16452,8 +16844,9 @@ }, "node_modules/through2": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "3" } @@ -16469,8 +16862,9 @@ }, "node_modules/tmp": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "dev": true, - "license": "MIT", "dependencies": { "rimraf": "^3.0.0" }, @@ -16527,21 +16921,24 @@ }, "node_modules/tr46": { "version": "0.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true }, "node_modules/treeverse": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz", + "integrity": "sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==", "dev": true, - "license": "ISC", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/trim-newlines": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -16700,12 +17097,14 @@ "license": "0BSD" }, "node_modules/tuf-js": { - "version": "1.1.2", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz", + "integrity": "sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==", "dev": true, - "license": "MIT", "dependencies": { - "@tufjs/models": "1.0.1", - "make-fetch-happen": "^11.0.1" + "@tufjs/models": "1.0.4", + "debug": "^4.3.4", + "make-fetch-happen": "^11.1.1" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -16713,16 +17112,18 @@ }, "node_modules/tuf-js/node_modules/@tootallnate/once": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/tuf-js/node_modules/http-proxy-agent": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, - "license": "MIT", "dependencies": { "@tootallnate/once": "2", "agent-base": "6", @@ -16733,9 +17134,10 @@ } }, "node_modules/tuf-js/node_modules/make-fetch-happen": { - "version": "11.0.3", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", "dev": true, - "license": "ISC", "dependencies": { "agentkeepalive": "^4.2.1", "cacache": "^17.0.0", @@ -16744,7 +17146,7 @@ "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", "lru-cache": "^7.7.1", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", @@ -16757,12 +17159,22 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/tuf-js/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/tuf-js/node_modules/minipass-fetch": { - "version": "3.0.1", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", "dev": true, - "license": "MIT", "dependencies": { - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minipass-sized": "^1.0.3", "minizlib": "^2.1.2" }, @@ -16775,8 +17187,9 @@ }, "node_modules/tuf-js/node_modules/socks-proxy-agent": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", "dev": true, - "license": "MIT", "dependencies": { "agent-base": "^6.0.2", "debug": "^4.3.3", @@ -16787,11 +17200,12 @@ } }, "node_modules/tuf-js/node_modules/ssri": { - "version": "10.0.1", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", + "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", "dev": true, - "license": "ISC", "dependencies": { - "minipass": "^4.0.0" + "minipass": "^5.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -16829,8 +17243,9 @@ }, "node_modules/typedarray": { "version": "0.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true }, "node_modules/typedoc": { "version": "0.24.7", @@ -16900,8 +17315,9 @@ }, "node_modules/uglify-js": { "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", "dev": true, - "license": "BSD-2-Clause", "optional": true, "bin": { "uglifyjs": "bin/uglifyjs" @@ -16926,8 +17342,9 @@ }, "node_modules/unique-filename": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", "dev": true, - "license": "ISC", "dependencies": { "unique-slug": "^4.0.0" }, @@ -16937,8 +17354,9 @@ }, "node_modules/unique-slug": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", "dev": true, - "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" }, @@ -16948,8 +17366,9 @@ }, "node_modules/unique-string": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", "dev": true, - "license": "MIT", "dependencies": { "crypto-random-string": "^2.0.0" }, @@ -16959,8 +17378,9 @@ }, "node_modules/universal-user-agent": { "version": "6.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", + "dev": true }, "node_modules/universalify": { "version": "2.0.0", @@ -16980,8 +17400,9 @@ }, "node_modules/upath": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", + "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", "dev": true, - "license": "MIT", "engines": { "node": ">=4", "yarn": "*" @@ -17061,8 +17482,9 @@ }, "node_modules/v8-compile-cache": { "version": "2.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", @@ -17089,8 +17511,9 @@ }, "node_modules/validate-npm-package-license": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -17137,8 +17560,9 @@ }, "node_modules/walk-up-path": { "version": "1.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz", + "integrity": "sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==", + "dev": true }, "node_modules/walker": { "version": "1.0.8", @@ -17158,13 +17582,15 @@ }, "node_modules/webidl-conversions": { "version": "3.0.1", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true }, "node_modules/whatwg-url": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, - "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -17220,8 +17646,9 @@ }, "node_modules/wide-align": { "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" } @@ -17236,8 +17663,9 @@ }, "node_modules/wordwrap": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true }, "node_modules/wrap-ansi": { "version": "7.0.0", @@ -17292,8 +17720,9 @@ }, "node_modules/write-json-file": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-3.2.0.tgz", + "integrity": "sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ==", "dev": true, - "license": "MIT", "dependencies": { "detect-indent": "^5.0.0", "graceful-fs": "^4.1.15", @@ -17308,8 +17737,9 @@ }, "node_modules/write-json-file/node_modules/make-dir": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, - "license": "MIT", "dependencies": { "pify": "^4.0.1", "semver": "^5.6.0" @@ -17320,24 +17750,27 @@ }, "node_modules/write-json-file/node_modules/pify": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/write-json-file/node_modules/semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/write-json-file/node_modules/write-file-atomic": { "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dev": true, - "license": "ISC", "dependencies": { "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", @@ -17346,8 +17779,9 @@ }, "node_modules/write-pkg": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-4.0.0.tgz", + "integrity": "sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA==", "dev": true, - "license": "MIT", "dependencies": { "sort-keys": "^2.0.0", "type-fest": "^0.4.1", @@ -17359,8 +17793,9 @@ }, "node_modules/write-pkg/node_modules/type-fest": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz", + "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=6" } @@ -17392,8 +17827,9 @@ }, "node_modules/xtend": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4" } @@ -17413,8 +17849,9 @@ }, "node_modules/yaml": { "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true, - "license": "ISC", "engines": { "node": ">= 6" } diff --git a/package.json b/package.json index 4ef939bb63..467365c53e 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "husky": "^8.0.2", "jest": "^29.3.1", "jest-runner-groups": "^2.2.0", - "lerna": "^6.6.1", + "lerna": "^6.6.2", "lint-staged": "^13.1.2", "prettier": "^2.8.8", "promptly": "^3.2.0", @@ -84,4 +84,4 @@ "engines": { "node": ">=14" } -} \ No newline at end of file +} From d47c3ec64d926d49f3799f361d54a11627d16cc1 Mon Sep 17 00:00:00 2001 From: Alexander Schueren Date: Thu, 22 Jun 2023 14:38:23 +0200 Subject: [PATCH 23/35] fix(idempotency): pass lambda context remaining time to save inprogress (#1540) * fix in_progress_expiration timestamp in idempotency handler * add lambda context mock to tests * adjust handler signature with context * revert tests to create config, if not passed, undefined temporary * decorator can now register context too --- .../idempotency/src/IdempotencyHandler.ts | 3 +- .../idempotency/src/idempotentDecorator.ts | 19 ++++++- ...akeFunctionIdempotent.test.FunctionCode.ts | 7 +++ .../tests/e2e/makeFunctionIdempotent.test.ts | 9 +++ .../tests/unit/IdempotencyHandler.test.ts | 34 +++++++++++ .../tests/unit/idempotentDecorator.test.ts | 56 ++++++++++++++----- .../tests/unit/makeFunctionIdempotent.test.ts | 34 +++++++++-- 7 files changed, 141 insertions(+), 21 deletions(-) diff --git a/packages/idempotency/src/IdempotencyHandler.ts b/packages/idempotency/src/IdempotencyHandler.ts index 7fece6ba25..07b0786732 100644 --- a/packages/idempotency/src/IdempotencyHandler.ts +++ b/packages/idempotency/src/IdempotencyHandler.ts @@ -141,7 +141,8 @@ export class IdempotencyHandler { try { await this.persistenceStore.saveInProgress( - this.functionPayloadToBeHashed + this.functionPayloadToBeHashed, + this.idempotencyConfig.lambdaContext?.getRemainingTimeInMillis() ); } catch (e) { if (e instanceof IdempotencyItemAlreadyExistsError) { diff --git a/packages/idempotency/src/idempotentDecorator.ts b/packages/idempotency/src/idempotentDecorator.ts index 020c3e2cd9..9b97f89bbb 100644 --- a/packages/idempotency/src/idempotentDecorator.ts +++ b/packages/idempotency/src/idempotentDecorator.ts @@ -5,6 +5,16 @@ import { } from './types'; import { IdempotencyHandler } from './IdempotencyHandler'; import { IdempotencyConfig } from './IdempotencyConfig'; +import { Context } from 'aws-lambda'; + +const isContext = (arg: unknown): arg is Context => { + return ( + arg !== undefined && + arg !== null && + typeof arg === 'object' && + 'getRemainingTimeInMillis' in arg + ); +}; /** * use this function to narrow the type of options between IdempotencyHandlerOptions and IdempotencyFunctionOptions @@ -28,13 +38,20 @@ const idempotent = function ( descriptor: PropertyDescriptor ) { const childFunction = descriptor.value; - descriptor.value = function (record: GenericTempRecord) { + descriptor.value = function ( + record: GenericTempRecord, + ...args: unknown[] + ) { const functionPayloadtoBeHashed = isFunctionOption(options) ? record[(options as IdempotencyFunctionOptions).dataKeywordArgument] : record; const idempotencyConfig = options.config ? options.config : new IdempotencyConfig({}); + const context = args[0]; + if (isContext(context)) { + idempotencyConfig.registerLambdaContext(context); + } const idempotencyHandler = new IdempotencyHandler({ functionToMakeIdempotent: childFunction, functionPayloadToBeHashed: functionPayloadtoBeHashed, diff --git a/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.FunctionCode.ts b/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.FunctionCode.ts index af2d3062c6..8e947f7950 100644 --- a/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.FunctionCode.ts +++ b/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.FunctionCode.ts @@ -2,6 +2,7 @@ import type { Context } from 'aws-lambda'; import { DynamoDBPersistenceLayer } from '../../src/persistence/DynamoDBPersistenceLayer'; import { makeFunctionIdempotent } from '../../src'; import { Logger } from '@aws-lambda-powertools/logger'; +import { IdempotencyConfig } from '../../src'; const IDEMPOTENCY_TABLE_NAME = process.env.IDEMPOTENCY_TABLE_NAME || 'table_name'; @@ -32,15 +33,19 @@ const processRecord = (record: Record): string => { return 'Processing done: ' + record['foo']; }; +const idempotencyConfig = new IdempotencyConfig({}); + const processIdempotently = makeFunctionIdempotent(processRecord, { persistenceStore: dynamoDBPersistenceLayer, dataKeywordArgument: 'foo', + config: idempotencyConfig, }); export const handler = async ( _event: EventRecords, _context: Context ): Promise => { + idempotencyConfig.registerLambdaContext(_context); for (const record of _event.records) { const result = await processIdempotently(record); logger.info(result.toString()); @@ -52,12 +57,14 @@ export const handler = async ( const processIdempotentlyCustomized = makeFunctionIdempotent(processRecord, { persistenceStore: ddbPersistenceLayerCustomized, dataKeywordArgument: 'foo', + config: idempotencyConfig, }); export const handlerCustomized = async ( _event: EventRecords, _context: Context ): Promise => { + idempotencyConfig.registerLambdaContext(_context); for (const record of _event.records) { const result = await processIdempotentlyCustomized(record); logger.info(result.toString()); diff --git a/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.ts b/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.ts index 8ee55021d9..cd4344b024 100644 --- a/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.ts +++ b/packages/idempotency/tests/e2e/makeFunctionIdempotent.test.ts @@ -109,6 +109,7 @@ describe('Idempotency e2e test function wrapper, default settings', () => { { id: 3, foo: 'bar' }, ], }; + const invokeStart = Date.now(); await invokeFunction( functionNameDefault, 2, @@ -136,6 +137,10 @@ describe('Idempotency e2e test function wrapper, default settings', () => { }) ); expect(resultFirst?.Item?.data).toEqual('Processing done: bar'); + expect(resultFirst?.Item?.expiration).toBeGreaterThan(Date.now() / 1000); + expect(resultFirst?.Item?.in_progress_expiration).toBeGreaterThan( + invokeStart + ); expect(resultFirst?.Item?.status).toEqual('COMPLETED'); const resultSecond = await ddb.send( @@ -145,6 +150,10 @@ describe('Idempotency e2e test function wrapper, default settings', () => { }) ); expect(resultSecond?.Item?.data).toEqual('Processing done: baz'); + expect(resultSecond?.Item?.expiration).toBeGreaterThan(Date.now() / 1000); + expect(resultSecond?.Item?.in_progress_expiration).toBeGreaterThan( + invokeStart + ); expect(resultSecond?.Item?.status).toEqual('COMPLETED'); }, TEST_CASE_TIMEOUT diff --git a/packages/idempotency/tests/unit/IdempotencyHandler.test.ts b/packages/idempotency/tests/unit/IdempotencyHandler.test.ts index be0dada29e..5ff0558189 100644 --- a/packages/idempotency/tests/unit/IdempotencyHandler.test.ts +++ b/packages/idempotency/tests/unit/IdempotencyHandler.test.ts @@ -14,6 +14,7 @@ import { BasePersistenceLayer, IdempotencyRecord } from '../../src/persistence'; import { IdempotencyHandler } from '../../src/IdempotencyHandler'; import { IdempotencyConfig } from '../../src/'; import { MAX_RETRIES } from '../../src/constants'; +import { Context } from 'aws-lambda'; class PersistenceLayerTestClass extends BasePersistenceLayer { protected _deleteRecord = jest.fn(); @@ -247,6 +248,39 @@ describe('Class IdempotencyHandler', () => { expect(mockGetRecord).toHaveBeenCalledTimes(0); expect(mockSaveSuccessfulResult).toHaveBeenCalledTimes(0); }); + + test('when lambdaContext is registered, we pass it to saveInProgress', async () => { + const mockSaveInProgress = jest.spyOn( + mockIdempotencyOptions.persistenceStore, + 'saveInProgress' + ); + + const mockLambaContext: Context = { + getRemainingTimeInMillis(): number { + return 1000; // we expect this number to be passed to saveInProgress + }, + } as Context; + const idempotencyHandlerWithContext = new IdempotencyHandler({ + functionToMakeIdempotent: mockFunctionToMakeIdempotent, + functionPayloadToBeHashed: mockFunctionPayloadToBeHashed, + persistenceStore: mockIdempotencyOptions.persistenceStore, + fullFunctionPayload: mockFullFunctionPayload, + idempotencyConfig: new IdempotencyConfig({ + lambdaContext: mockLambaContext, + }), + }); + + mockFunctionToMakeIdempotent.mockImplementation(() => + Promise.resolve('result') + ); + + await expect(idempotencyHandlerWithContext.processIdempotency()).resolves; + + expect(mockSaveInProgress).toBeCalledWith( + mockFunctionPayloadToBeHashed, + mockLambaContext.getRemainingTimeInMillis() + ); + }); }); describe('Method: getFunctionResult', () => { diff --git a/packages/idempotency/tests/unit/idempotentDecorator.test.ts b/packages/idempotency/tests/unit/idempotentDecorator.test.ts index 2e15f8c623..9a1b2dc643 100644 --- a/packages/idempotency/tests/unit/idempotentDecorator.test.ts +++ b/packages/idempotency/tests/unit/idempotentDecorator.test.ts @@ -15,6 +15,8 @@ import { IdempotencyPersistenceLayerError, } from '../../src/Exceptions'; import { IdempotencyConfig } from '../../src'; +import { Context } from 'aws-lambda'; +import { helloworldContext } from '@aws-lambda-powertools/commons/lib/samples/resources/contexts'; const mockSaveInProgress = jest .spyOn(BasePersistenceLayer.prototype, 'saveInProgress') @@ -26,6 +28,10 @@ const mockGetRecord = jest .spyOn(BasePersistenceLayer.prototype, 'getRecord') .mockImplementation(); +const dummyContext = helloworldContext; + +const mockConfig: IdempotencyConfig = new IdempotencyConfig({}); + class PersistenceLayerTestClass extends BasePersistenceLayer { protected _deleteRecord = jest.fn(); protected _getRecord = jest.fn(); @@ -39,7 +45,8 @@ class TestinClassWithLambdaHandler { @idempotentLambdaHandler({ persistenceStore: new PersistenceLayerTestClass(), }) - public testing(record: Record): string { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + public testing(record: Record, context: Context): string { functionalityToDecorate(record); return 'Hi'; @@ -47,13 +54,16 @@ class TestinClassWithLambdaHandler { } class TestingClassWithFunctionDecorator { - public handler(record: Record): string { + public handler(record: Record, context: Context): string { + mockConfig.registerLambdaContext(context); + return this.proccessRecord(record); } @idempotentFunction({ persistenceStore: new PersistenceLayerTestClass(), dataKeywordArgument: 'testingKey', + config: mockConfig, }) public proccessRecord(record: Record): string { functionalityToDecorate(record); @@ -72,11 +82,14 @@ describe('Given a class with a function to decorate', (classWithLambdaHandler = describe('When wrapping a function with no previous executions', () => { beforeEach(async () => { - await classWithFunctionDecorator.handler(inputRecord); + await classWithFunctionDecorator.handler(inputRecord, dummyContext); }); test('Then it will save the record to INPROGRESS', () => { - expect(mockSaveInProgress).toBeCalledWith(keyValueToBeSaved); + expect(mockSaveInProgress).toBeCalledWith( + keyValueToBeSaved, + dummyContext.getRemainingTimeInMillis() + ); }); test('Then it will call the function that was decorated', () => { @@ -92,11 +105,14 @@ describe('Given a class with a function to decorate', (classWithLambdaHandler = }); describe('When wrapping a function with no previous executions', () => { beforeEach(async () => { - await classWithLambdaHandler.testing(inputRecord); + await classWithLambdaHandler.testing(inputRecord, dummyContext); }); test('Then it will save the record to INPROGRESS', () => { - expect(mockSaveInProgress).toBeCalledWith(inputRecord); + expect(mockSaveInProgress).toBeCalledWith( + inputRecord, + dummyContext.getRemainingTimeInMillis() + ); }); test('Then it will call the function that was decorated', () => { @@ -122,14 +138,17 @@ describe('Given a class with a function to decorate', (classWithLambdaHandler = new IdempotencyRecord(idempotencyOptions) ); try { - await classWithLambdaHandler.testing(inputRecord); + await classWithLambdaHandler.testing(inputRecord, dummyContext); } catch (e) { resultingError = e as Error; } }); test('Then it will attempt to save the record to INPROGRESS', () => { - expect(mockSaveInProgress).toBeCalledWith(inputRecord); + expect(mockSaveInProgress).toBeCalledWith( + inputRecord, + dummyContext.getRemainingTimeInMillis() + ); }); test('Then it will get the previous execution record', () => { @@ -159,14 +178,17 @@ describe('Given a class with a function to decorate', (classWithLambdaHandler = new IdempotencyRecord(idempotencyOptions) ); try { - await classWithLambdaHandler.testing(inputRecord); + await classWithLambdaHandler.testing(inputRecord, dummyContext); } catch (e) { resultingError = e as Error; } }); test('Then it will attempt to save the record to INPROGRESS', () => { - expect(mockSaveInProgress).toBeCalledWith(inputRecord); + expect(mockSaveInProgress).toBeCalledWith( + inputRecord, + dummyContext.getRemainingTimeInMillis() + ); }); test('Then it will get the previous execution record', () => { @@ -195,11 +217,14 @@ describe('Given a class with a function to decorate', (classWithLambdaHandler = mockGetRecord.mockResolvedValue( new IdempotencyRecord(idempotencyOptions) ); - await classWithLambdaHandler.testing(inputRecord); + await classWithLambdaHandler.testing(inputRecord, dummyContext); }); test('Then it will attempt to save the record to INPROGRESS', () => { - expect(mockSaveInProgress).toBeCalledWith(inputRecord); + expect(mockSaveInProgress).toBeCalledWith( + inputRecord, + dummyContext.getRemainingTimeInMillis() + ); }); test('Then it will get the previous execution record', () => { @@ -215,7 +240,7 @@ describe('Given a class with a function to decorate', (classWithLambdaHandler = class TestinClassWithLambdaHandlerWithConfig { @idempotentLambdaHandler({ persistenceStore: new PersistenceLayerTestClass(), - config: new IdempotencyConfig({}), + config: new IdempotencyConfig({ lambdaContext: dummyContext }), }) public testing(record: Record): string { functionalityToDecorate(record); @@ -237,7 +262,10 @@ describe('Given a class with a function to decorate', (classWithLambdaHandler = }); test('Then it will attempt to save the record to INPROGRESS', () => { - expect(mockSaveInProgress).toBeCalledWith(inputRecord); + expect(mockSaveInProgress).toBeCalledWith( + inputRecord, + dummyContext.getRemainingTimeInMillis() + ); }); test('Then an IdempotencyPersistenceLayerError is thrown', () => { diff --git a/packages/idempotency/tests/unit/makeFunctionIdempotent.test.ts b/packages/idempotency/tests/unit/makeFunctionIdempotent.test.ts index 4310a648a1..e5fb2f6037 100644 --- a/packages/idempotency/tests/unit/makeFunctionIdempotent.test.ts +++ b/packages/idempotency/tests/unit/makeFunctionIdempotent.test.ts @@ -17,6 +17,8 @@ import { IdempotencyItemAlreadyExistsError, IdempotencyPersistenceLayerError, } from '../../src/Exceptions'; +import { IdempotencyConfig } from '../../src'; +import { Context } from 'aws-lambda'; const mockSaveInProgress = jest .spyOn(BasePersistenceLayer.prototype, 'saveInProgress') @@ -25,6 +27,12 @@ const mockGetRecord = jest .spyOn(BasePersistenceLayer.prototype, 'getRecord') .mockImplementation(); +const mockLambaContext: Context = { + getRemainingTimeInMillis(): number { + return 1000; // we expect this number to be passed to saveInProgress + }, +} as Context; + class PersistenceLayerTestClass extends BasePersistenceLayer { protected _deleteRecord = jest.fn(); protected _getRecord = jest.fn(); @@ -37,6 +45,7 @@ describe('Given a function to wrap', (functionToWrap = jest.fn()) => { describe('Given options for idempotency', (options: IdempotencyFunctionOptions = { persistenceStore: new PersistenceLayerTestClass(), dataKeywordArgument: 'testingKey', + config: new IdempotencyConfig({ lambdaContext: mockLambaContext }), }) => { const keyValueToBeSaved = 'thisWillBeSaved'; const inputRecord = { @@ -51,7 +60,10 @@ describe('Given a function to wrap', (functionToWrap = jest.fn()) => { }); test('Then it will save the record to INPROGRESS', () => { - expect(mockSaveInProgress).toBeCalledWith(keyValueToBeSaved); + expect(mockSaveInProgress).toBeCalledWith( + keyValueToBeSaved, + mockLambaContext.getRemainingTimeInMillis() + ); }); test('Then it will call the function that was wrapped with the whole input record', () => { @@ -82,7 +94,10 @@ describe('Given a function to wrap', (functionToWrap = jest.fn()) => { }); test('Then it will attempt to save the record to INPROGRESS', () => { - expect(mockSaveInProgress).toBeCalledWith(keyValueToBeSaved); + expect(mockSaveInProgress).toBeCalledWith( + keyValueToBeSaved, + mockLambaContext.getRemainingTimeInMillis() + ); }); test('Then it will get the previous execution record', () => { @@ -123,7 +138,10 @@ describe('Given a function to wrap', (functionToWrap = jest.fn()) => { }); test('Then it will attempt to save the record to INPROGRESS', () => { - expect(mockSaveInProgress).toBeCalledWith(keyValueToBeSaved); + expect(mockSaveInProgress).toBeCalledWith( + keyValueToBeSaved, + mockLambaContext.getRemainingTimeInMillis() + ); }); test('Then it will get the previous execution record', () => { @@ -159,7 +177,10 @@ describe('Given a function to wrap', (functionToWrap = jest.fn()) => { }); test('Then it will attempt to save the record to INPROGRESS', () => { - expect(mockSaveInProgress).toBeCalledWith(keyValueToBeSaved); + expect(mockSaveInProgress).toBeCalledWith( + keyValueToBeSaved, + mockLambaContext.getRemainingTimeInMillis() + ); }); test('Then it will get the previous execution record', () => { @@ -185,7 +206,10 @@ describe('Given a function to wrap', (functionToWrap = jest.fn()) => { }); test('Then it will attempt to save the record to INPROGRESS', () => { - expect(mockSaveInProgress).toBeCalledWith(keyValueToBeSaved); + expect(mockSaveInProgress).toBeCalledWith( + keyValueToBeSaved, + mockLambaContext.getRemainingTimeInMillis() + ); }); test('Then an IdempotencyPersistenceLayerError is thrown', () => { From 6f96711625e212898b1c227c651beba7e709c9d1 Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Thu, 22 Jun 2023 14:58:35 +0200 Subject: [PATCH 24/35] feat(parameters): review types and exports (#1528) * feat: base types * chore: getMultiple void return * wip: ssm/dynamo * chore: add missing await * fix: types import in ssm * feat: imports * feat: imports * tests: coverage * refactor: transformValue * chore: test coverage for commons * docs: typedocs * chore: remove isUint8Array for nodejs14 compat * docs: explained transformValue fn --- packages/commons/src/index.ts | 1 + packages/commons/src/types/utils.ts | 59 ++++ packages/commons/tests/unit/utils.test.ts | 120 ++++++++ packages/parameters/package.json | 48 ++- packages/parameters/src/BaseProvider.ts | 286 ------------------ .../src/appconfig/AppConfigProvider.ts | 78 +++-- .../parameters/src/appconfig/getAppConfig.ts | 66 +++- packages/parameters/src/base/BaseProvider.ts | 198 ++++++++++++ .../parameters/src/base/DefaultProviders.ts | 19 ++ .../src/{ => base}/ExpirableValue.ts | 9 +- .../src/{ => base}/GetMultipleOptions.ts | 4 +- .../parameters/src/{ => base}/GetOptions.ts | 9 +- packages/parameters/src/base/index.ts | 4 + .../parameters/src/base/transformValue.ts | 77 +++++ packages/parameters/src/constants.ts | 33 +- .../src/dynamodb/DynamoDBProvider.ts | 70 +++-- .../src/{Exceptions.ts => errors.ts} | 12 +- packages/parameters/src/index.ts | 4 +- .../parameters/src/secrets/SecretsProvider.ts | 18 +- packages/parameters/src/secrets/getSecret.ts | 15 +- packages/parameters/src/ssm/SSMProvider.ts | 13 +- packages/parameters/src/ssm/getParameter.ts | 10 +- packages/parameters/src/ssm/getParameters.ts | 5 +- .../parameters/src/types/AppConfigProvider.ts | 62 +++- packages/parameters/src/types/BaseProvider.ts | 14 +- .../parameters/src/types/DynamoDBProvider.ts | 129 ++++++-- packages/parameters/src/types/SSMProvider.ts | 42 +-- .../parameters/src/types/SecretsProvider.ts | 34 +-- packages/parameters/src/types/index.ts | 5 - ...pConfigProvider.class.test.functionCode.ts | 15 +- .../tests/e2e/appConfigProvider.class.test.ts | 2 +- ...ynamoDBProvider.class.test.functionCode.ts | 17 +- ...secretsProvider.class.test.functionCode.ts | 27 +- .../tests/e2e/secretsProvider.class.test.ts | 73 +---- .../ssmProvider.class.test.functionCode.ts | 16 +- .../tests/unit/AppConfigProvider.test.ts | 2 +- .../tests/unit/BaseProvider.test.ts | 28 +- .../parameters/tests/unit/SSMProvider.test.ts | 2 +- .../tests/unit/getAppConfig.test.ts | 94 +++--- .../tests/unit/getParameter.test.ts | 2 +- .../tests/unit/getParameters.test.ts | 2 +- .../tests/unit/getParametersByName.test.ts | 2 +- .../parameters/tests/unit/getSecret.test.ts | 2 +- packages/parameters/typedoc.json | 13 +- 44 files changed, 1073 insertions(+), 668 deletions(-) create mode 100644 packages/commons/src/types/utils.ts create mode 100644 packages/commons/tests/unit/utils.test.ts delete mode 100644 packages/parameters/src/BaseProvider.ts create mode 100644 packages/parameters/src/base/BaseProvider.ts create mode 100644 packages/parameters/src/base/DefaultProviders.ts rename packages/parameters/src/{ => base}/ExpirableValue.ts (77%) rename packages/parameters/src/{ => base}/GetMultipleOptions.ts (79%) rename packages/parameters/src/{ => base}/GetOptions.ts (72%) create mode 100644 packages/parameters/src/base/index.ts create mode 100644 packages/parameters/src/base/transformValue.ts rename packages/parameters/src/{Exceptions.ts => errors.ts} (56%) delete mode 100644 packages/parameters/src/types/index.ts diff --git a/packages/commons/src/index.ts b/packages/commons/src/index.ts index ec26c92bc4..3914c0b48c 100644 --- a/packages/commons/src/index.ts +++ b/packages/commons/src/index.ts @@ -4,3 +4,4 @@ export * from './config'; export * as ContextExamples from './samples/resources/contexts'; export * as Events from './samples/resources/events'; export * from './types/middy'; +export * from './types/utils'; diff --git a/packages/commons/src/types/utils.ts b/packages/commons/src/types/utils.ts new file mode 100644 index 0000000000..64a322020d --- /dev/null +++ b/packages/commons/src/types/utils.ts @@ -0,0 +1,59 @@ +/** + * Returns true if the passed value is a record (object). + * + * @param value + */ +const isRecord = (value: unknown): value is Record => { + return ( + Object.prototype.toString.call(value) === '[object Object]' && + !Object.is(value, null) + ); +}; + +/** + * Returns true if the passed value is truthy. + * + * @param value + */ +const isTruthy = (value: unknown): boolean => { + if (typeof value === 'string') { + return value !== ''; + } else if (typeof value === 'number') { + return value !== 0; + } else if (typeof value === 'boolean') { + return value; + } else if (Array.isArray(value)) { + return value.length > 0; + } else if (isRecord(value)) { + return Object.keys(value).length > 0; + } else { + return false; + } +}; + +/** + * Returns true if the passed value is null or undefined. + * + * @param value + */ +const isNullOrUndefined = (value: unknown): value is null | undefined => { + return Object.is(value, null) || Object.is(value, undefined); +}; + +/** + * Returns true if the passed value is a string. + * @param value + * @returns + */ +const isString = (value: unknown): value is string => { + return typeof value === 'string'; +}; + +export { isRecord, isString, isTruthy, isNullOrUndefined }; + +type JSONPrimitive = string | number | boolean | null | undefined; +type JSONValue = JSONPrimitive | JSONObject | JSONArray; +type JSONObject = { [key: string]: JSONValue }; +type JSONArray = Array; + +export type { JSONPrimitive, JSONValue, JSONObject, JSONArray }; diff --git a/packages/commons/tests/unit/utils.test.ts b/packages/commons/tests/unit/utils.test.ts new file mode 100644 index 0000000000..464b05958f --- /dev/null +++ b/packages/commons/tests/unit/utils.test.ts @@ -0,0 +1,120 @@ +/** + * Test utils functions + * + * @group unit/commons/utils + */ +import { + isRecord, + isTruthy, + isNullOrUndefined, + isString, +} from '../../src/types/utils'; + +describe('Functions: utils', () => { + beforeEach(() => { + jest.clearAllMocks(); + jest.resetModules(); + }); + + describe('Function: isRecord', () => { + it('returns true when the passed object is a Record', () => { + // Prepare + const obj = { a: 1, b: 2, c: 3 }; + + // Act + const result = isRecord(obj); + + // Assert + expect(result).toBe(true); + }); + + it('returns false when the passed object is not a Record', () => { + // Prepare + const obj = [1, 2, 3]; + + // Act + const result = isRecord(obj); + + // Assert + expect(result).toBe(false); + }); + }); + + describe('Function: isTruthy', () => { + it.each(['hello', 1, true, [1], { foo: 1 }])( + 'returns true when the passed value is truthy', + (testValue) => { + // Prepare + const value = testValue; + + // Act + const result = isTruthy(value); + + // Assert + expect(result).toBe(true); + } + ); + + it.each(['', 0, false, [], {}, Symbol])( + 'returns true when the passed value is falsy', + (testValue) => { + // Prepare + const value = testValue; + + // Act + const result = isTruthy(value); + + // Assert + expect(result).toBe(false); + } + ); + }); + + describe('Function: isNullOrUndefined', () => { + it('returns true when the passed value is null or undefined', () => { + // Prepare + const value = undefined; + + // Act + const result = isNullOrUndefined(value); + + // Assert + expect(result).toBe(true); + }); + + it('returns false when the passed value is not null or undefined', () => { + // Prepare + const value = 'hello'; + + // Act + const result = isNullOrUndefined(value); + + // Assert + expect(result).toBe(false); + }); + }); + + describe('Function: isString', () => { + it('returns true when the passed value is a string', () => { + // Prepare + const value = 'hello'; + + // Act + const result = isString(value); + + // Assert + expect(result).toBe(true); + }); + + it('returns false when the passed value is not a string', () => { + // Prepare + const value = 123; + + // Act + const result = isString(value); + + // Assert + expect(result).toBe(false); + }); + }); +}); diff --git a/packages/parameters/package.json b/packages/parameters/package.json index eb1765f890..afd473bc50 100644 --- a/packages/parameters/package.json +++ b/packages/parameters/package.json @@ -34,57 +34,85 @@ "import": "./lib/index.js", "require": "./lib/index.js" }, + "./base/types": { + "import": "./lib/types/BaseProvider.d.ts", + "require": "./lib/types/BaseProvider.d.ts" + }, "./base": { "import": "./lib/base/index.js", "require": "./lib/base/index.js" }, + "./ssm/types": { + "import": "./lib/types/SSMProvider.d.ts", + "require": "./lib/types/SSMProvider.d.ts" + }, "./ssm": { "import": "./lib/ssm/index.js", "require": "./lib/ssm/index.js" }, + "./secrets/types": { + "import": "./lib/types/SecretsProvider.d.ts", + "require": "./lib/types/SecretsProvider.d.ts" + }, "./secrets": { "import": "./lib/secrets/index.js", "require": "./lib/secrets/index.js" }, + "./dynamodb/types": { + "import": "./lib/types/AppConfigProvider.d.ts", + "require": "./lib/types/AppConfigProvider.d.ts" + }, "./dynamodb": { "import": "./lib/dynamodb/index.js", "require": "./lib/dynamodb/index.js" }, + "./appconfig/types": { + "import": "./lib/appconfig/index.js", + "require": "./lib/appconfig/index.js" + }, "./appconfig": { "import": "./lib/appconfig/index.js", "require": "./lib/appconfig/index.js" }, "./errors": { - "import": "./lib/Exceptions.js", - "require": "./lib/Exceptions.js" - }, - "./types": { - "import": "./lib/types/index.d.ts", - "require": "./lib/types/index.d.ts" + "import": "./lib/errors.js", + "require": "./lib/errors.js" } }, "typesVersions": { "*": { + "base/types": [ + "lib/types/BaseProvider.d.ts" + ], "base": [ "lib/base/index.d.ts" ], + "ssm/types": [ + "lib/types/SSMProvider.d.ts" + ], "ssm": [ "lib/ssm/index.d.ts" ], + "secrets/types": [ + "lib/types/SecretsProvider.d.ts" + ], "secrets": [ "lib/secrets/index.d.ts" ], + "dynamodb/types": [ + "./lib/types/DynamoDBProvider.d.ts" + ], "dynamodb": [ "lib/dynamodb/index.d.ts" ], + "appconfig/types": [ + "./lib/types/AppConfigProvider.d.ts" + ], "appconfig": [ "lib/appconfig/index.d.ts" ], "errors": [ - "lib/Exceptions.d.ts" - ], - "types": [ - "lib/types/index.d.ts" + "lib/errors.d.ts" ] } }, diff --git a/packages/parameters/src/BaseProvider.ts b/packages/parameters/src/BaseProvider.ts deleted file mode 100644 index 3d58720724..0000000000 --- a/packages/parameters/src/BaseProvider.ts +++ /dev/null @@ -1,286 +0,0 @@ -import { fromBase64 } from '@aws-sdk/util-base64-node'; -import { GetOptions } from './GetOptions'; -import { GetMultipleOptions } from './GetMultipleOptions'; -import { ExpirableValue } from './ExpirableValue'; -import { TRANSFORM_METHOD_BINARY, TRANSFORM_METHOD_JSON } from './constants'; -import { GetParameterError, TransformParameterError } from './Exceptions'; -import { EnvironmentVariablesService } from './config/EnvironmentVariablesService'; -import type { - BaseProviderInterface, - GetMultipleOptionsInterface, - GetOptionsInterface, - TransformOptions, -} from './types'; - -// These providers are dinamycally intialized on first use of the helper functions -const DEFAULT_PROVIDERS: Record = {}; - -/** - * Base class for all providers. - * - * As an abstract class, it should not be used directly, but rather extended by other providers. - * - * It implements the common logic for all providers, such as caching, transformation, etc. - * Each provider that extends this class must implement the `_get` and `_getMultiple` abstract methods. - * - * These methods are responsible for retrieving the values from the underlying parameter store. They are - * called by the `get` and `getMultiple` methods, which are responsible for caching and transformation. - * - * If there are multiple calls to the same parameter but in a different transform, they will be stored multiple times. - * This allows us to optimize by transforming the data only once per retrieval, thus there is no need to transform cached values multiple times. - * - * However, this means that we need to make multiple calls to the underlying parameter store if we need to return it in different transforms. - * - * Since the number of supported transform is small and the probability that a given parameter will always be used in a specific transform, - * this should be an acceptable tradeoff. - */ -abstract class BaseProvider implements BaseProviderInterface { - public envVarsService: EnvironmentVariablesService; - protected store: Map; - - public constructor() { - this.store = new Map(); - this.envVarsService = new EnvironmentVariablesService(); - } - - /** - * Add a value to the cache. - * - * @param {string} key - Key of the cached value - * @param {string | Uint8Array | Record} value - Value to be cached - * @param {number} maxAge - Maximum age in seconds for the value to be cached - */ - public addToCache( - key: string, - value: string | Uint8Array | Record, - maxAge: number - ): void { - if (maxAge <= 0) return; - - this.store.set(key, new ExpirableValue(value, maxAge)); - } - - /** - * Clear the cache. - */ - public clearCache(): void { - this.store.clear(); - } - - /** - * Retrieve a parameter value or return the cached value. - * - * @param {string} name - Parameter name - * @param {GetOptionsInterface} options - Options to configure maximum age, trasformation, AWS SDK options, or force fetch - */ - public async get( - name: string, - options?: GetOptionsInterface - ): Promise> { - const configs = new GetOptions(options, this.envVarsService); - const key = [name, configs.transform].toString(); - - if (!configs.forceFetch && !this.hasKeyExpiredInCache(key)) { - // If the code enters in this block, then the key must exist & not have been expired - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - return this.store.get(key)!.value; - } - - let value; - try { - value = await this._get(name, options); - } catch (error) { - throw new GetParameterError((error as Error).message); - } - - if (value && configs.transform) { - value = transformValue(value, configs.transform, true, name); - } - - if (value) { - this.addToCache(key, value, configs.maxAge); - } - - return value; - } - - /** - * Retrieve multiple parameter values or return the cached values. - * - * @param {string} path - Parameters path - * @param {GetMultipleOptionsInterface} options - Options to configure maximum age, trasformation, AWS SDK options, or force fetch - * @returns - */ - public async getMultiple( - path: string, - options?: GetMultipleOptionsInterface - ): Promise> { - const configs = new GetMultipleOptions(options, this.envVarsService); - const key = [path, configs.transform].toString(); - - if (!configs.forceFetch && !this.hasKeyExpiredInCache(key)) { - // If the code enters in this block, then the key must exist & not have been expired - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - return this.store.get(key)!.value as Record; - } - - let values = {}; - try { - values = await this._getMultiple(path, options); - } catch (error) { - throw new GetParameterError((error as Error).message); - } - - if (Object.keys(values) && configs.transform) { - values = transformValues( - values, - configs.transform, - configs.throwOnTransformError - ); - } - - if (Array.from(Object.keys(values)).length !== 0) { - this.addToCache(key, values, configs.maxAge); - } - - return values; - } - - /** - * Check whether a key has expired in the cache or not. - * - * It returns true if the key is expired or not present in the cache. - * - * @param {string} key - Stringified representation of the key to retrieve - */ - public hasKeyExpiredInCache(key: string): boolean { - const value = this.store.get(key); - if (value) return value.isExpired(); - - return true; - } - - /** - * Retrieve parameter value from the underlying parameter store. - * - * @param {string} name - Parameter name - * @param {unknown} options - Options to pass to the underlying implemented method - */ - protected abstract _get( - name: string, - options?: unknown - ): Promise; - - /** - * Retrieve multiple parameter values from the underlying parameter store. - * - * @param {string} path - Parameter name - * @param {unknown} options - Options to pass to the underlying implementated method - */ - protected abstract _getMultiple( - path: string, - options?: unknown - ): Promise>; -} - -/** - * Utility function to transform a value. - * - * It supports JSON and binary transformations, as well as an 'auto' mode that will try to transform the value based on the key. - * - * @param {string | Uint8Array | undefined} value - Value to be transformed - * @param {TransformOptions} transform - Transform to be applied, can be 'json', 'binary', or 'auto' - * @param {boolean} throwOnTransformError - Whether to throw an error if the transformation fails, when transforming multiple values this can be set to false - * @param {string} key - Key of the value to be transformed, used to determine the transformation method when using 'auto' - */ -const transformValue = ( - value: string | Uint8Array | undefined, - transform: TransformOptions, - throwOnTransformError: boolean, - key: string -): string | Record | undefined => { - try { - const normalizedTransform = transform.toLowerCase(); - - if (value instanceof Uint8Array) { - value = new TextDecoder('utf-8').decode(value); - } - - if ( - (normalizedTransform === TRANSFORM_METHOD_JSON || - (normalizedTransform === 'auto' && - key.toLowerCase().endsWith(`.${TRANSFORM_METHOD_JSON}`))) && - typeof value === 'string' - ) { - return JSON.parse(value) as Record; - } else if ( - (normalizedTransform === TRANSFORM_METHOD_BINARY || - (normalizedTransform === 'auto' && - key.toLowerCase().endsWith(`.${TRANSFORM_METHOD_BINARY}`))) && - typeof value === 'string' - ) { - return new TextDecoder('utf-8').decode(fromBase64(value)); - } else { - return value; - } - } catch (error) { - if (throwOnTransformError) - throw new TransformParameterError(transform, (error as Error).message); - - return; - } -}; - -/** - * Utility function to transform multiple values. - * - * It iterates over the values and applies the transformation to each one by calling the `transformValue` function. - * - * @param {Record} value - Values to be transformed - * @param {TransformOptions} transform - Transform to be applied, can be 'json', 'binary', or 'auto' - * @param {boolean} throwOnTransformError - Whether to throw an error if the transformation fails, when transforming multiple values this can be set to false - */ -const transformValues = ( - value: Record, - transform: TransformOptions, - throwOnTransformError: boolean -): Record | undefined> => { - const transformedValues: Record< - string, - string | Record | undefined - > = {}; - for (const [entryKey, entryValue] of Object.entries(value)) { - try { - transformedValues[entryKey] = transformValue( - entryValue, - transform, - throwOnTransformError, - entryKey - ); - } catch (error) { - if (throwOnTransformError) - throw new TransformParameterError(transform, (error as Error).message); - } - } - - return transformedValues; -}; - -/** - * Utility function to clear all the caches of the default providers. - * - * This is useful when you want to clear the cache of all the providers at once, for example during testing. - */ -const clearCaches = (): void => { - for (const provider of Object.values(DEFAULT_PROVIDERS)) { - provider.clearCache(); - } -}; - -export { - BaseProvider, - ExpirableValue, - transformValue, - DEFAULT_PROVIDERS, - clearCaches, -}; diff --git a/packages/parameters/src/appconfig/AppConfigProvider.ts b/packages/parameters/src/appconfig/AppConfigProvider.ts index c3695d3dd8..637cc85723 100644 --- a/packages/parameters/src/appconfig/AppConfigProvider.ts +++ b/packages/parameters/src/appconfig/AppConfigProvider.ts @@ -1,4 +1,4 @@ -import { BaseProvider, DEFAULT_PROVIDERS } from '../BaseProvider'; +import { BaseProvider, DEFAULT_PROVIDERS } from '../base'; import { AppConfigDataClient, StartConfigurationSessionCommand, @@ -7,7 +7,8 @@ import { import type { StartConfigurationSessionCommandInput } from '@aws-sdk/client-appconfigdata'; import type { AppConfigProviderOptions, - AppConfigGetOptionsInterface, + AppConfigGetOptions, + AppConfigGetOutput, } from '../types/AppConfigProvider'; /** @@ -31,7 +32,10 @@ import type { * ```typescript * import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; * - * const configProvider = new AppConfigProvider(); + * const configProvider = new AppConfigProvider({ + * application: 'my-app', + * environment: 'prod', + * }); * * export const handler = async (): Promise => { * // Retrieve a configuration profile @@ -52,7 +56,10 @@ import type { * ```typescript * import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; * - * const configProvider = new AppConfigProvider(); + * const configProvider = new AppConfigProvider({ + * application: 'my-app', + * environment: 'prod', + * }); * * export const handler = async (): Promise => { * // Retrieve a configuration profile and cache it for 10 seconds @@ -67,7 +74,10 @@ import type { * ```typescript * import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; * - * const configProvider = new AppConfigProvider(); + * const configProvider = new AppConfigProvider({ + * application: 'my-app', + * environment: 'prod', + * }); * * export const handler = async (): Promise => { * // Retrieve a config and always fetch the latest value @@ -84,7 +94,10 @@ import type { * ```typescript * import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; * - * const configProvider = new AppConfigProvider(); + * const configProvider = new AppConfigProvider({ + * application: 'my-app', + * environment: 'prod', + * }); * * export const handler = async (): Promise => { * // Retrieve a JSON config or Feature Flag and parse it as JSON @@ -98,7 +111,10 @@ import type { * ```typescript * import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; * - * const configProvider = new AppConfigProvider(); + * const configProvider = new AppConfigProvider({ + * application: 'my-app', + * environment: 'prod', + * }); * * export const handler = async (): Promise => { * // Retrieve a base64-encoded string and decode it @@ -114,7 +130,10 @@ import type { * ```typescript * import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; * - * const configProvider = new AppConfigProvider(); + * const configProvider = new AppConfigProvider({ + * application: 'my-app', + * environment: 'prod', + * }); * * export const handler = async (): Promise => { * // Retrieve a config and pass extra options to the AWS SDK v3 for JavaScript client @@ -140,6 +159,8 @@ import type { * import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; * * const configProvider = new AppConfigProvider({ + * application: 'my-app', + * environment: 'prod', * clientConfig: { region: 'eu-west-1' }, * }); * ``` @@ -155,6 +176,8 @@ import type { * * const client = new AppConfigDataClient({ region: 'eu-west-1' }); * const configProvider = new AppConfigProvider({ + * application: 'my-app', + * environment: 'prod', * awsSdkV3Client: client, * }); * ``` @@ -204,7 +227,10 @@ class AppConfigProvider extends BaseProvider { * ```typescript * import { AppConfigProvider } from '@aws-lambda-powertools/parameters/appconfig'; * - * const configProvider = new AppConfigProvider(); + * const configProvider = new AppConfigProvider({ + * application: 'my-app', + * environment: 'prod', + * }); * * export const handler = async (): Promise => { * // Retrieve a configuration profile @@ -222,35 +248,43 @@ class AppConfigProvider extends BaseProvider { * For usage examples check {@link AppConfigProvider}. * * @param {string} name - The name of the configuration profile or its ID - * @param {GetAppConfigCombinedInterface} options - Options to configure the provider + * @param {AppConfigGetOptions} options - Options to configure the provider * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ - public async get( + public async get< + ExplicitUserProvidedType = undefined, + InferredFromOptionsType extends + | AppConfigGetOptions + | undefined = AppConfigGetOptions + >( name: string, - options?: AppConfigGetOptionsInterface - ): Promise> { - return super.get(name, options); + options?: InferredFromOptionsType & AppConfigGetOptions + ): Promise< + | AppConfigGetOutput + | undefined + > { + return super.get(name, options) as Promise< + | AppConfigGetOutput + | undefined + >; } /** * Retrieving multiple configurations is not supported by AWS AppConfig. */ - public async getMultiple( - path: string, - _options?: unknown - ): Promise> { - return super.getMultiple(path); + public async getMultiple(path: string, _options?: unknown): Promise { + await super.getMultiple(path); } /** * Retrieve a configuration from AWS AppConfig. * * @param {string} name - Name of the configuration or its ID - * @param {AppConfigGetOptionsInterface} options - SDK options to propagate to `StartConfigurationSession` API call + * @param {AppConfigGetOptions} options - SDK options to propagate to `StartConfigurationSession` API call */ protected async _get( name: string, - options?: AppConfigGetOptionsInterface + options?: AppConfigGetOptions ): Promise { /** * The new AppConfig APIs require two API calls to return the configuration @@ -321,7 +355,7 @@ class AppConfigProvider extends BaseProvider { protected async _getMultiple( _path: string, _sdkOptions?: unknown - ): Promise> { + ): Promise { throw new Error('Method not implemented.'); } } diff --git a/packages/parameters/src/appconfig/getAppConfig.ts b/packages/parameters/src/appconfig/getAppConfig.ts index cb38bad67a..41ab0f2d18 100644 --- a/packages/parameters/src/appconfig/getAppConfig.ts +++ b/packages/parameters/src/appconfig/getAppConfig.ts @@ -1,5 +1,8 @@ import { AppConfigProvider, DEFAULT_PROVIDERS } from './AppConfigProvider'; -import type { GetAppConfigCombinedInterface } from '../types/AppConfigProvider'; +import type { + AppConfigGetOutput, + GetAppConfigOptions, +} from '../types/AppConfigProvider'; /** * ## Intro @@ -24,7 +27,10 @@ import type { GetAppConfigCombinedInterface } from '../types/AppConfigProvider'; * * export const handler = async (): Promise => { * // Retrieve a configuration profile - * const encodedConfig = await getAppConfig('my-config'); + * const encodedConfig = await getAppConfig('my-config', { + * application: 'my-app', + * environment: 'prod', + * }); * const config = new TextDecoder('utf-8').decode(encodedConfig); * }; * ``` @@ -42,7 +48,10 @@ import type { GetAppConfigCombinedInterface } from '../types/AppConfigProvider'; * * export const handler = async (): Promise => { * // Retrieve a configuration profile and cache it for 10 seconds - * const encodedConfig = await getAppConfig('my-config'); + * const encodedConfig = await getAppConfig('my-config', { + * application: 'my-app', + * environment: 'prod', + * }); * const config = new TextDecoder('utf-8').decode(encodedConfig); * }; * ``` @@ -55,7 +64,11 @@ import type { GetAppConfigCombinedInterface } from '../types/AppConfigProvider'; * * export const handler = async (): Promise => { * // Retrieve a config and always fetch the latest value - * const config = await getAppConfig('my-config', { forceFetch: true }); + * const config = await getAppConfig('my-config', { + * application: 'my-app', + * environment: 'prod', + * forceFetch: true, + * }); * const config = new TextDecoder('utf-8').decode(encodedConfig); * }; * ``` @@ -70,7 +83,11 @@ import type { GetAppConfigCombinedInterface } from '../types/AppConfigProvider'; * * export const handler = async (): Promise => { * // Retrieve a JSON config or Feature Flag and parse it as JSON - * const config = await getAppConfig('my-config', { transform: 'json' }); + * const config = await getAppConfig('my-config', { + * application: 'my-app', + * environment: 'prod', + * transform: 'json' + * }); * }; * ``` * @@ -82,7 +99,11 @@ import type { GetAppConfigCombinedInterface } from '../types/AppConfigProvider'; * * export const handler = async (): Promise => { * // Retrieve a base64-encoded string and decode it - * const config = await getAppConfig('my-config', { transform: 'binary' }); + * const config = await getAppConfig('my-config', { + * application: 'my-app', + * environment: 'prod', + * transform: 'binary' + * }); * }; * ``` * @@ -97,6 +118,8 @@ import type { GetAppConfigCombinedInterface } from '../types/AppConfigProvider'; * export const handler = async (): Promise => { * // Retrieve a config and pass extra options to the AWS SDK v3 for JavaScript client * const config = await getAppConfig('my-config', { + * application: 'my-app', + * environment: 'prod', * sdkOptions: { * RequiredMinimumPollIntervalInSeconds: 60, * }, @@ -114,18 +137,37 @@ import type { GetAppConfigCombinedInterface } from '../types/AppConfigProvider'; * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/). * * @param {string} name - The name of the configuration profile or its ID - * @param {GetAppConfigCombinedInterface} options - Options to configure the provider + * @param {GetAppConfigOptions} options - Options to configure the provider * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ -const getAppConfig = ( +const getAppConfig = < + ExplicitUserProvidedType = undefined, + InferredFromOptionsType extends + | GetAppConfigOptions + | undefined = GetAppConfigOptions +>( name: string, - options: GetAppConfigCombinedInterface -): Promise> => { + options: InferredFromOptionsType & GetAppConfigOptions +): Promise< + | AppConfigGetOutput + | undefined +> => { if (!DEFAULT_PROVIDERS.hasOwnProperty('appconfig')) { - DEFAULT_PROVIDERS.appconfig = new AppConfigProvider(options); + DEFAULT_PROVIDERS.appconfig = new AppConfigProvider({ + application: options?.application, + environment: options.environment, + }); } - return DEFAULT_PROVIDERS.appconfig.get(name, options); + return (DEFAULT_PROVIDERS.appconfig as AppConfigProvider).get(name, { + maxAge: options?.maxAge, + transform: options?.transform, + forceFetch: options?.forceFetch, + sdkOptions: options?.sdkOptions, + }) as Promise< + | AppConfigGetOutput + | undefined + >; }; export { getAppConfig }; diff --git a/packages/parameters/src/base/BaseProvider.ts b/packages/parameters/src/base/BaseProvider.ts new file mode 100644 index 0000000000..a7ada6d5a6 --- /dev/null +++ b/packages/parameters/src/base/BaseProvider.ts @@ -0,0 +1,198 @@ +import { + isNullOrUndefined, + isRecord, + isString, +} from '@aws-lambda-powertools/commons'; +import { GetOptions } from './GetOptions'; +import { GetMultipleOptions } from './GetMultipleOptions'; +import { ExpirableValue } from './ExpirableValue'; +import { GetParameterError, TransformParameterError } from '../errors'; +import { EnvironmentVariablesService } from '../config/EnvironmentVariablesService'; +import { transformValue } from './transformValue'; +import type { + BaseProviderInterface, + GetMultipleOptionsInterface, + GetOptionsInterface, +} from '../types/BaseProvider'; + +/** + * Base class for all providers. + * + * As an abstract class, it should not be used directly, but rather extended by other providers. + * + * It implements the common logic for all providers, such as caching, transformation, etc. + * Each provider that extends this class must implement the `_get` and `_getMultiple` abstract methods. + * + * These methods are responsible for retrieving the values from the underlying parameter store. They are + * called by the `get` and `getMultiple` methods, which are responsible for caching and transformation. + * + * If there are multiple calls to the same parameter but in a different transform, they will be stored multiple times. + * This allows us to optimize by transforming the data only once per retrieval, thus there is no need to transform cached values multiple times. + * + * However, this means that we need to make multiple calls to the underlying parameter store if we need to return it in different transforms. + * + * Since the number of supported transform is small and the probability that a given parameter will always be used in a specific transform, + * this should be an acceptable tradeoff. + */ +abstract class BaseProvider implements BaseProviderInterface { + public envVarsService: EnvironmentVariablesService; + protected store: Map; + + public constructor() { + this.store = new Map(); + this.envVarsService = new EnvironmentVariablesService(); + } + + /** + * Add a value to the cache. + * + * @param {string} key - Key of the cached value + * @param {string | Uint8Array | Record} value - Value to be cached + * @param {number} maxAge - Maximum age in seconds for the value to be cached + */ + public addToCache(key: string, value: unknown, maxAge: number): void { + if (maxAge <= 0) return; + + this.store.set(key, new ExpirableValue(value, maxAge)); + } + + /** + * Clear the cache. + */ + public clearCache(): void { + this.store.clear(); + } + + /** + * Retrieve a parameter value or return the cached value. + * + * @param {string} name - Parameter name + * @param {GetOptionsInterface} options - Options to configure maximum age, trasformation, AWS SDK options, or force fetch + */ + public async get( + name: string, + options?: GetOptionsInterface + ): Promise { + const configs = new GetOptions(options, this.envVarsService); + const key = [name, configs.transform].toString(); + + if (!configs.forceFetch && !this.hasKeyExpiredInCache(key)) { + return this.store.get(key)?.value; + } + + try { + let value = await this._get(name, options); + + if (isNullOrUndefined(value)) return undefined; + + if ( + configs.transform && + (isString(value) || value instanceof Uint8Array) + ) { + value = transformValue(value, configs.transform, true, name); + } + + this.addToCache(key, value, configs.maxAge); + + return value; + } catch (error) { + if (error instanceof TransformParameterError) throw error; + throw new GetParameterError((error as Error).message); + } + } + + /** + * Retrieve multiple parameter values or return the cached values. + * + * @param {string} path - Parameters path + * @param {GetMultipleOptionsInterface} options - Options to configure maximum age, trasformation, AWS SDK options, or force fetch + * @returns + */ + public async getMultiple( + path: string, + options?: GetMultipleOptionsInterface + ): Promise { + const configs = new GetMultipleOptions(options, this.envVarsService); + const key = [path, configs.transform].toString(); + + if (!configs.forceFetch && !this.hasKeyExpiredInCache(key)) { + // If the code enters in this block, then the key must exist & not have been expired + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + return this.store.get(key)!.value as Record; + } + + let values; + try { + values = await this._getMultiple(path, options); + if (!isRecord(values)) { + throw new GetParameterError( + `Expected result to be a Record but got ${typeof values}` + ); + } + } catch (error) { + throw new GetParameterError((error as Error).message); + } + + if (configs.transform) { + for (const [entryKey, entryValue] of Object.entries(values)) { + if (!(isString(entryValue) || entryValue instanceof Uint8Array)) + continue; + try { + values[entryKey] = transformValue( + entryValue, + configs.transform, + configs.throwOnTransformError, + entryKey + ); + } catch (error) { + if (configs.throwOnTransformError) + throw new TransformParameterError( + configs.transform, + (error as Error).message + ); + } + } + } + + if (Object.keys(values).length !== 0) { + this.addToCache(key, values, configs.maxAge); + } + + return values; + } + + /** + * Check whether a key has expired in the cache or not. + * + * It returns true if the key is expired or not present in the cache. + * + * @param {string} key - Stringified representation of the key to retrieve + */ + public hasKeyExpiredInCache(key: string): boolean { + const value = this.store.get(key); + if (value) return value.isExpired(); + + return true; + } + + /** + * Retrieve parameter value from the underlying parameter store. + * + * @param {string} name - Parameter name + * @param {unknown} options - Options to pass to the underlying implemented method + */ + protected abstract _get(name: string, options?: unknown): Promise; + + /** + * Retrieve multiple parameter values from the underlying parameter store. + * + * @param {string} path - Parameter name + * @param {unknown} options - Options to pass to the underlying implementated method + */ + protected abstract _getMultiple( + path: string, + options?: unknown + ): Promise | void>; +} + +export { BaseProvider }; diff --git a/packages/parameters/src/base/DefaultProviders.ts b/packages/parameters/src/base/DefaultProviders.ts new file mode 100644 index 0000000000..692dacdcc3 --- /dev/null +++ b/packages/parameters/src/base/DefaultProviders.ts @@ -0,0 +1,19 @@ +import type { BaseProviderInterface } from '../types/BaseProvider'; + +// These providers are dinamycally intialized on first use of the helper functions +const DEFAULT_PROVIDERS: Record = {}; + +/** + * Utility function to clear all the caches of the default providers. + * + * This is useful when you want to clear the cache of all the providers at once, for example during testing. + */ +const clearCaches = (): void => { + for (const provider of Object.values(DEFAULT_PROVIDERS)) { + if (provider.clearCache) { + provider.clearCache(); + } + } +}; + +export { DEFAULT_PROVIDERS, clearCaches }; diff --git a/packages/parameters/src/ExpirableValue.ts b/packages/parameters/src/base/ExpirableValue.ts similarity index 77% rename from packages/parameters/src/ExpirableValue.ts rename to packages/parameters/src/base/ExpirableValue.ts index 08ed63de5e..7793319e59 100644 --- a/packages/parameters/src/ExpirableValue.ts +++ b/packages/parameters/src/base/ExpirableValue.ts @@ -1,4 +1,4 @@ -import type { ExpirableValueInterface } from './types'; +import type { ExpirableValueInterface } from '../types/BaseProvider'; /** * Class to represent a value that can expire. @@ -8,17 +8,14 @@ import type { ExpirableValueInterface } from './types'; */ class ExpirableValue implements ExpirableValueInterface { public ttl: number; - public value: string | Uint8Array | Record; + public value: unknown; /** * * @param value - Value to be cached * @param maxAge - Maximum age in seconds for the value to be cached */ - public constructor( - value: string | Uint8Array | Record, - maxAge: number - ) { + public constructor(value: unknown, maxAge: number) { this.value = value; const timeNow = new Date(); this.ttl = timeNow.setSeconds(timeNow.getSeconds() + maxAge); diff --git a/packages/parameters/src/GetMultipleOptions.ts b/packages/parameters/src/base/GetMultipleOptions.ts similarity index 79% rename from packages/parameters/src/GetMultipleOptions.ts rename to packages/parameters/src/base/GetMultipleOptions.ts index 9b8c5ded5e..d452062e43 100644 --- a/packages/parameters/src/GetMultipleOptions.ts +++ b/packages/parameters/src/base/GetMultipleOptions.ts @@ -1,6 +1,6 @@ import { GetOptions } from './GetOptions'; -import { EnvironmentVariablesService } from './config/EnvironmentVariablesService'; -import type { GetMultipleOptionsInterface } from './types'; +import { EnvironmentVariablesService } from '../config/EnvironmentVariablesService'; +import type { GetMultipleOptionsInterface } from '../types/BaseProvider'; /** * Options for the `getMultiple` method. diff --git a/packages/parameters/src/GetOptions.ts b/packages/parameters/src/base/GetOptions.ts similarity index 72% rename from packages/parameters/src/GetOptions.ts rename to packages/parameters/src/base/GetOptions.ts index 23f77e5760..e83d0a622f 100644 --- a/packages/parameters/src/GetOptions.ts +++ b/packages/parameters/src/base/GetOptions.ts @@ -1,6 +1,9 @@ -import { DEFAULT_MAX_AGE_SECS } from './constants'; -import { EnvironmentVariablesService } from './config/EnvironmentVariablesService'; -import type { GetOptionsInterface, TransformOptions } from './types'; +import { EnvironmentVariablesService } from '../config/EnvironmentVariablesService'; +import { DEFAULT_MAX_AGE_SECS } from '../constants'; +import type { + GetOptionsInterface, + TransformOptions, +} from '../types/BaseProvider'; /** * Options for the `get` method. diff --git a/packages/parameters/src/base/index.ts b/packages/parameters/src/base/index.ts new file mode 100644 index 0000000000..2833869ad7 --- /dev/null +++ b/packages/parameters/src/base/index.ts @@ -0,0 +1,4 @@ +export * from './DefaultProviders'; +export * from './BaseProvider'; +export * from './GetOptions'; +export * from './GetMultipleOptions'; diff --git a/packages/parameters/src/base/transformValue.ts b/packages/parameters/src/base/transformValue.ts new file mode 100644 index 0000000000..a3b767ddbd --- /dev/null +++ b/packages/parameters/src/base/transformValue.ts @@ -0,0 +1,77 @@ +import type { JSONValue } from '@aws-lambda-powertools/commons'; +import { isString } from '@aws-lambda-powertools/commons'; +import { fromBase64 } from '@aws-sdk/util-base64-node'; +import { TRANSFORM_METHOD_BINARY, TRANSFORM_METHOD_JSON } from '../constants'; +import { TransformParameterError } from '../errors'; +import type { TransformOptions } from '../types/BaseProvider'; + +/** + * Utility function to transform a value. + * + * It supports JSON and binary transformations, as well as an `auto` mode that will try to transform the value based on the key. + * + * The function supports both `string` and `Uint8Array` values as input. Other types will be returned as-is. + * + * If the value is a `Uint8Array`, it will be decoded to a string first. Then, when the transform is `json` or `auto` and the key ends with `.json`, + * the value will be parsed as JSON using the `JSON.parse` function. + * + * When the transform is `binary` or `auto` and the key ends with `.binary`, the value will be decoded from base64 using the `fromBase64` function + * from the `@aws-sdk/util-base64-node` package. + * + * If the transformation fails, the function will return the value as-is unless `throwOnTransformError` is set to `true`. + * + * @note When using `auto` mode, the key must end with either `.json` or `.binary` to be transformed. Automatic transformation is supported only for + * `getMultiple` calls. + * + * @param {string | Uint8Array} value - Value to be transformed + * @param {TransformOptions} transform - Transform to be applied, can be `json`, `binary`, or `auto` + * @param {boolean} throwOnTransformError - Whether to throw an error if the transformation fails, when transforming multiple values this can be set to false + * @param {string} key - Key of the value to be transformed, used to determine the transformation method when using 'auto' + */ +const transformValue = ( + value: string | Uint8Array, + transform: TransformOptions, + throwOnTransformError: boolean, + key: string +): string | JSONValue | Uint8Array | undefined => { + const normalizedTransform = transform.toLowerCase(); + const isAutoTransform = normalizedTransform === 'auto'; + const isAutoJsonTransform = + isAutoTransform && key.toLowerCase().endsWith(`.${TRANSFORM_METHOD_JSON}`); + const isAutoBinaryTransform = + isAutoTransform && + key.toLowerCase().endsWith(`.${TRANSFORM_METHOD_BINARY}`); + const isJsonTransform = normalizedTransform === TRANSFORM_METHOD_JSON; + const isBinaryTransform = normalizedTransform === TRANSFORM_METHOD_BINARY; + + // If the value is not a string or Uint8Array, or if the transform is `auto` + // and the key does not end with `.json` or `.binary`, return the value as-is + if ( + !(value instanceof Uint8Array || isString(value)) || + (isAutoTransform && !isAutoJsonTransform && !isAutoBinaryTransform) + ) { + return value; + } + + try { + // If the value is a Uint8Array, decode it to a string first + if (value instanceof Uint8Array) { + value = new TextDecoder('utf-8').decode(value); + } + + // If the transform is `json` or `auto` and the key ends with `.json`, parse the value as JSON + if (isJsonTransform || isAutoJsonTransform) { + return JSON.parse(value) as JSONValue; + // If the transform is `binary` or `auto` and the key ends with `.binary`, decode the value from base64 + } else if (isBinaryTransform || isAutoBinaryTransform) { + return new TextDecoder('utf-8').decode(fromBase64(value)); + } + } catch (error) { + if (throwOnTransformError) + throw new TransformParameterError(transform, (error as Error).message); + + return; + } +}; + +export { transformValue }; diff --git a/packages/parameters/src/constants.ts b/packages/parameters/src/constants.ts index 7edd7ad9d4..dcb53165c7 100644 --- a/packages/parameters/src/constants.ts +++ b/packages/parameters/src/constants.ts @@ -1,3 +1,30 @@ -export const DEFAULT_MAX_AGE_SECS = 5; -export const TRANSFORM_METHOD_JSON = 'json'; -export const TRANSFORM_METHOD_BINARY = 'binary'; +const DEFAULT_MAX_AGE_SECS = 5; +const TRANSFORM_METHOD_JSON = 'json'; +const TRANSFORM_METHOD_BINARY = 'binary'; +const TRANSFORM_METHOD_AUTO = 'auto'; + +/** + * Transform methods for values retrieved by parameter providers. + */ +const Transform = { + /** + * Transform the retrieved value using `JSON.parse`. + */ + JSON: TRANSFORM_METHOD_JSON, + /** + * Transform a base64-encoded value from `Uint8Array` to `string`. + */ + BINARY: TRANSFORM_METHOD_BINARY, + /** + * Automatically detect the transform method based on the parameter' name suffix. + */ + AUTO: TRANSFORM_METHOD_AUTO, +} as const; + +export { + DEFAULT_MAX_AGE_SECS, + TRANSFORM_METHOD_JSON, + TRANSFORM_METHOD_BINARY, + TRANSFORM_METHOD_AUTO, + Transform, +}; diff --git a/packages/parameters/src/dynamodb/DynamoDBProvider.ts b/packages/parameters/src/dynamodb/DynamoDBProvider.ts index 8bbedb0b23..3aa9f51424 100644 --- a/packages/parameters/src/dynamodb/DynamoDBProvider.ts +++ b/packages/parameters/src/dynamodb/DynamoDBProvider.ts @@ -1,20 +1,23 @@ -import { BaseProvider } from '../BaseProvider'; +import { BaseProvider } from '../base'; import { DynamoDBClient, GetItemCommand, paginateQuery, } from '@aws-sdk/client-dynamodb'; +import { marshall, unmarshall } from '@aws-sdk/util-dynamodb'; import type { DynamoDBProviderOptions, - DynamoDBGetOptionsInterface, - DynamoDBGetMultipleOptionsInterface, + DynamoDBGetOptions, + DynamoDBGetMultipleOptions, + DynamoDBGetOutput, + DynamoDBGetMultipleOutput, } from '../types/DynamoDBProvider'; import type { GetItemCommandInput, QueryCommandInput, } from '@aws-sdk/client-dynamodb'; -import { marshall, unmarshall } from '@aws-sdk/util-dynamodb'; import type { PaginationConfiguration } from '@aws-sdk/types'; +import type { JSONValue } from '@aws-lambda-powertools/commons'; /** * ## Intro @@ -63,6 +66,7 @@ import type { PaginationConfiguration } from '@aws-sdk/types'; * // Retrieve multiple values from DynamoDB * const values = await tableProvider.getMultiple('my-values-path'); * }; + * ``` * * ## Advanced usage * @@ -297,12 +301,21 @@ class DynamoDBProvider extends BaseProvider { * @param {DynamoDBGetOptionsInterface} options - Options to configure the provider * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ - public async get( + public async get< + ExplicitUserProvidedType = undefined, + InferredFromOptionsType extends + | DynamoDBGetOptions + | undefined = DynamoDBGetOptions + >( name: string, - options?: DynamoDBGetOptionsInterface - ): Promise> { + options?: InferredFromOptionsType & DynamoDBGetOptions + ): Promise< + | DynamoDBGetOutput + | undefined + > { return super.get(name, options) as Promise< - undefined | string | Record + | DynamoDBGetOutput + | undefined >; } @@ -333,26 +346,43 @@ class DynamoDBProvider extends BaseProvider { * For usage examples check {@link DynamoDBProvider}. * * @param {string} path - The path of the values to retrieve (i.e. the partition key) - * @param {DynamoDBGetMultipleOptionsInterface} options - Options to configure the provider + * @param {DynamoDBGetMultipleOptions} options - Options to configure the provider * @see https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/ */ - public async getMultiple( + public async getMultiple< + ExplicitUserProvidedType = undefined, + InferredFromOptionsType extends + | DynamoDBGetMultipleOptions + | undefined = DynamoDBGetMultipleOptions + >( path: string, - options?: DynamoDBGetMultipleOptionsInterface - ): Promise> { - return super.getMultiple(path, options); + options?: InferredFromOptionsType & DynamoDBGetMultipleOptions + ): Promise< + | DynamoDBGetMultipleOutput< + ExplicitUserProvidedType, + InferredFromOptionsType + > + | undefined + > { + return super.getMultiple(path, options) as Promise< + | DynamoDBGetMultipleOutput< + ExplicitUserProvidedType, + InferredFromOptionsType + > + | undefined + >; } /** * Retrieve an item from Amazon DynamoDB. * * @param {string} name - Key of the item to retrieve (i.e. the partition key) - * @param {DynamoDBGetOptionsInterface} options - Options to customize the retrieval + * @param {DynamoDBGetOptions} options - Options to customize the retrieval */ protected async _get( name: string, - options?: DynamoDBGetOptionsInterface - ): Promise { + options?: DynamoDBGetOptions + ): Promise { const sdkOptions: GetItemCommandInput = { ...(options?.sdkOptions || {}), TableName: this.tableName, @@ -371,12 +401,12 @@ class DynamoDBProvider extends BaseProvider { * Retrieve multiple items from Amazon DynamoDB. * * @param {string} path - The path of the values to retrieve (i.e. the partition key) - * @param {DynamoDBGetMultipleOptionsInterface} options - Options to customize the retrieval + * @param {DynamoDBGetMultipleOptions} options - Options to customize the retrieval */ protected async _getMultiple( path: string, - options?: DynamoDBGetMultipleOptionsInterface - ): Promise> { + options?: DynamoDBGetMultipleOptions + ): Promise> { const sdkOptions: QueryCommandInput = { ...(options?.sdkOptions || {}), TableName: this.tableName, @@ -394,7 +424,7 @@ class DynamoDBProvider extends BaseProvider { pageSize: options?.sdkOptions?.Limit, }; - const parameters: Record = {}; + const parameters: Record = {}; for await (const page of paginateQuery(paginationOptions, sdkOptions)) { for (const item of page.Items || []) { const unmarshalledItem = unmarshall(item); diff --git a/packages/parameters/src/Exceptions.ts b/packages/parameters/src/errors.ts similarity index 56% rename from packages/parameters/src/Exceptions.ts rename to packages/parameters/src/errors.ts index 21b557e13d..fab94a7702 100644 --- a/packages/parameters/src/Exceptions.ts +++ b/packages/parameters/src/errors.ts @@ -1,4 +1,12 @@ -class GetParameterError extends Error {} +/** + * Error thrown when a parameter cannot be retrieved. + */ +class GetParameterError extends Error { + public constructor(message?: string) { + super(message); + this.name = 'GetParameterError'; + } +} /** * Error thrown when a transform fails. @@ -6,7 +14,7 @@ class GetParameterError extends Error {} class TransformParameterError extends Error { public constructor(transform: string, message: string) { super(message); - + this.name = 'TransformParameterError'; this.message = `Unable to transform value using '${transform}' transform: ${message}`; } } diff --git a/packages/parameters/src/index.ts b/packages/parameters/src/index.ts index 4fdc288aba..13cad811c8 100644 --- a/packages/parameters/src/index.ts +++ b/packages/parameters/src/index.ts @@ -1,2 +1,2 @@ -export * from './BaseProvider'; -export * from './Exceptions'; +export * from './errors'; +export * from './constants'; diff --git a/packages/parameters/src/secrets/SecretsProvider.ts b/packages/parameters/src/secrets/SecretsProvider.ts index 79694f7409..defc552664 100644 --- a/packages/parameters/src/secrets/SecretsProvider.ts +++ b/packages/parameters/src/secrets/SecretsProvider.ts @@ -1,4 +1,4 @@ -import { BaseProvider } from '../BaseProvider'; +import { BaseProvider } from '../base'; import { SecretsManagerClient, GetSecretValueCommand, @@ -8,7 +8,6 @@ import type { SecretsProviderOptions, SecretsGetOptions, SecretsGetOutput, - SecretsGetOptionsUnion, } from '../types/SecretsProvider'; /** @@ -204,8 +203,8 @@ class SecretsProvider extends BaseProvider { public async get< ExplicitUserProvidedType = undefined, InferredFromOptionsType extends - | SecretsGetOptionsUnion - | undefined = SecretsGetOptionsUnion + | SecretsGetOptions + | undefined = SecretsGetOptions >( name: string, options?: InferredFromOptionsType & SecretsGetOptions @@ -222,15 +221,12 @@ class SecretsProvider extends BaseProvider { /** * Retrieving multiple parameter values is not supported with AWS Secrets Manager. */ - public async getMultiple( - path: string, - _options?: unknown - ): Promise> { - return super.getMultiple(path); + public async getMultiple(path: string, _options?: unknown): Promise { + await super.getMultiple(path); } /** - * Retrieve a configuration from AWS AppConfig. + * Retrieve a configuration from AWS Secrets Manager. * * @param {string} name - Name of the configuration or its ID * @param {SecretsGetOptions} options - SDK options to propagate to the AWS SDK v3 for JavaScript client @@ -261,7 +257,7 @@ class SecretsProvider extends BaseProvider { protected async _getMultiple( _path: string, _options?: unknown - ): Promise> { + ): Promise { throw new Error('Method not implemented.'); } } diff --git a/packages/parameters/src/secrets/getSecret.ts b/packages/parameters/src/secrets/getSecret.ts index 4da74decd8..c4a304008e 100644 --- a/packages/parameters/src/secrets/getSecret.ts +++ b/packages/parameters/src/secrets/getSecret.ts @@ -1,9 +1,8 @@ -import { DEFAULT_PROVIDERS } from '../BaseProvider'; +import { DEFAULT_PROVIDERS } from '../base'; import { SecretsProvider } from './SecretsProvider'; import type { SecretsGetOptions, SecretsGetOutput, - SecretsGetOptionsUnion, } from '../types/SecretsProvider'; /** @@ -110,8 +109,8 @@ import type { const getSecret = async < ExplicitUserProvidedType = undefined, InferredFromOptionsType extends - | SecretsGetOptionsUnion - | undefined = SecretsGetOptionsUnion + | SecretsGetOptions + | undefined = SecretsGetOptions >( name: string, options?: InferredFromOptionsType & SecretsGetOptions @@ -123,13 +122,7 @@ const getSecret = async < DEFAULT_PROVIDERS.secrets = new SecretsProvider(); } - return (DEFAULT_PROVIDERS.secrets as SecretsProvider).get( - name, - options - ) as Promise< - | SecretsGetOutput - | undefined - >; + return (DEFAULT_PROVIDERS.secrets as SecretsProvider).get(name, options); }; export { getSecret }; diff --git a/packages/parameters/src/ssm/SSMProvider.ts b/packages/parameters/src/ssm/SSMProvider.ts index abfc6670e2..4ffbb1b6ee 100644 --- a/packages/parameters/src/ssm/SSMProvider.ts +++ b/packages/parameters/src/ssm/SSMProvider.ts @@ -1,9 +1,6 @@ -import { - BaseProvider, - DEFAULT_PROVIDERS, - transformValue, -} from '../BaseProvider'; -import { GetParameterError } from '../Exceptions'; +import { BaseProvider, DEFAULT_PROVIDERS } from '../base'; +import { transformValue } from '../base/transformValue'; +import { GetParameterError } from '../errors'; import { DEFAULT_MAX_AGE_SECS } from '../constants'; import { SSMClient, @@ -22,7 +19,6 @@ import type { SSMGetOptions, SSMGetOutput, SSMGetMultipleOptions, - SSMGetMultipleOptionsUnion, SSMGetMultipleOutput, SSMGetParametersByNameOutput, SSMGetParametersByNameOutputInterface, @@ -77,6 +73,7 @@ import type { PaginationConfiguration } from '@aws-sdk/types'; * // Retrieve multiple parameters by path from SSM * const parameters = await parametersProvider.getMultiple('/my-parameters-path'); * }; + * ``` * * If you don't need to customize the provider, you can also use the {@link getParameters} function instead. * @@ -371,7 +368,7 @@ class SSMProvider extends BaseProvider { public async getMultiple< ExplicitUserProvidedType = undefined, InferredFromOptionsType extends - | SSMGetMultipleOptionsUnion + | SSMGetMultipleOptions | undefined = undefined >( path: string, diff --git a/packages/parameters/src/ssm/getParameter.ts b/packages/parameters/src/ssm/getParameter.ts index 0360add2af..adb3916730 100644 --- a/packages/parameters/src/ssm/getParameter.ts +++ b/packages/parameters/src/ssm/getParameter.ts @@ -1,9 +1,5 @@ import { SSMProvider, DEFAULT_PROVIDERS } from './SSMProvider'; -import type { - SSMGetOptions, - SSMGetOutput, - SSMGetOptionsUnion, -} from '../types/SSMProvider'; +import type { SSMGetOptions, SSMGetOutput } from '../types/SSMProvider'; /** * ## Intro @@ -142,9 +138,7 @@ import type { */ const getParameter = async < ExplicitUserProvidedType = undefined, - InferredFromOptionsType extends - | SSMGetOptionsUnion - | undefined = SSMGetOptionsUnion + InferredFromOptionsType extends SSMGetOptions | undefined = SSMGetOptions >( name: string, options?: InferredFromOptionsType & SSMGetOptions diff --git a/packages/parameters/src/ssm/getParameters.ts b/packages/parameters/src/ssm/getParameters.ts index db28d4d889..ac6c3c3824 100644 --- a/packages/parameters/src/ssm/getParameters.ts +++ b/packages/parameters/src/ssm/getParameters.ts @@ -1,7 +1,6 @@ import { SSMProvider, DEFAULT_PROVIDERS } from './SSMProvider'; import type { SSMGetMultipleOptions, - SSMGetMultipleOptionsUnion, SSMGetMultipleOutput, } from '../types/SSMProvider'; @@ -144,8 +143,8 @@ import type { const getParameters = async < ExplicitUserProvidedType = undefined, InferredFromOptionsType extends - | SSMGetMultipleOptionsUnion - | undefined = SSMGetMultipleOptionsUnion + | SSMGetMultipleOptions + | undefined = SSMGetMultipleOptions >( path: string, options?: InferredFromOptionsType & SSMGetMultipleOptions diff --git a/packages/parameters/src/types/AppConfigProvider.ts b/packages/parameters/src/types/AppConfigProvider.ts index 61e3ee03cf..6bfc26ecb9 100644 --- a/packages/parameters/src/types/AppConfigProvider.ts +++ b/packages/parameters/src/types/AppConfigProvider.ts @@ -1,3 +1,4 @@ +import type { JSONValue } from '@aws-lambda-powertools/commons'; import type { AppConfigDataClient, AppConfigDataClientConfig, @@ -61,34 +62,71 @@ type AppConfigProviderOptions = /** * Options for the AppConfigProvider get method. * - * @interface AppConfigGetOptionsInterface + * @interface AppConfigGetOptionsBase * @extends {GetOptionsInterface} * @property {number} maxAge - Maximum age of the value in the cache, in seconds. * @property {boolean} forceFetch - Force fetch the value from the parameter store, ignoring the cache. * @property {StartConfigurationSessionCommandInput} [sdkOptions] - Additional options to pass to the AWS SDK v3 client. * @property {TransformOptions} transform - Transform to be applied, can be 'json' or 'binary'. */ -interface AppConfigGetOptionsInterface - extends Omit { +interface AppConfigGetOptionsBase extends GetOptionsInterface { + /** + * Additional options to pass to the AWS SDK v3 client. Supports all options from `StartConfigurationSessionCommandInput` except `ApplicationIdentifier`, `EnvironmentIdentifier`, and `ConfigurationProfileIdentifier`. + */ sdkOptions?: Omit< Partial, | 'ApplicationIdentifier' - | 'EnvironmentIdentifier | ConfigurationProfileIdentifier' + | 'EnvironmentIdentifier' + | 'ConfigurationProfileIdentifier' >; } +interface AppConfigGetOptionsTransformJson extends AppConfigGetOptionsBase { + transform: 'json'; +} + +interface AppConfigGetOptionsTransformBinary extends AppConfigGetOptionsBase { + transform: 'binary'; +} + +interface AppConfigGetOptionsTransformNone extends AppConfigGetOptionsBase { + transform?: never; +} + +type AppConfigGetOptions = + | AppConfigGetOptionsTransformNone + | AppConfigGetOptionsTransformJson + | AppConfigGetOptionsTransformBinary + | undefined; + +/** + * Generic output type for the AppConfigProvider get method. + */ +type AppConfigGetOutput< + ExplicitUserProvidedType = undefined, + InferredFromOptionsType = undefined +> = undefined extends ExplicitUserProvidedType + ? undefined extends InferredFromOptionsType | AppConfigGetOptionsTransformNone + ? Uint8Array + : InferredFromOptionsType extends AppConfigGetOptionsTransformBinary + ? string + : InferredFromOptionsType extends AppConfigGetOptionsTransformJson + ? JSONValue + : never + : ExplicitUserProvidedType; + /** * Combined options for the getAppConfig utility function. - * - * @interface getAppConfigCombinedInterface - * @extends {AppConfigProviderOptions, AppConfigGetOptionsInterface} */ -interface GetAppConfigCombinedInterface - extends Omit, - AppConfigGetOptionsInterface {} +type GetAppConfigOptions = Omit< + AppConfigProviderOptions, + 'clientConfig' | 'awsSdkV3Client' +> & + AppConfigGetOptions; export type { AppConfigProviderOptions, - AppConfigGetOptionsInterface, - GetAppConfigCombinedInterface, + AppConfigGetOptions, + AppConfigGetOutput, + GetAppConfigOptions, }; diff --git a/packages/parameters/src/types/BaseProvider.ts b/packages/parameters/src/types/BaseProvider.ts index a743b4e375..5a82970460 100644 --- a/packages/parameters/src/types/BaseProvider.ts +++ b/packages/parameters/src/types/BaseProvider.ts @@ -1,7 +1,9 @@ +import { Transform } from '../constants'; + /** * Type for the transform option. */ -type TransformOptions = 'auto' | 'binary' | 'json'; +type TransformOptions = (typeof Transform)[keyof typeof Transform]; /** * Options for the `get` method. @@ -57,7 +59,7 @@ interface ExpirableValueInterface { /** * Value of the parameter. */ - value: string | Uint8Array | Record; + value: unknown; /** * Expiration timestamp of the value. */ @@ -68,14 +70,12 @@ interface ExpirableValueInterface { * Interface for a parameter store provider. */ interface BaseProviderInterface { - get( - name: string, - options?: GetOptionsInterface - ): Promise>; + get(name: string, options?: GetOptionsInterface): Promise; getMultiple( path: string, options?: GetMultipleOptionsInterface - ): Promise>; + ): Promise; + clearCache?(): void; } export type { diff --git a/packages/parameters/src/types/DynamoDBProvider.ts b/packages/parameters/src/types/DynamoDBProvider.ts index 24914ccf58..2ddcd4e819 100644 --- a/packages/parameters/src/types/DynamoDBProvider.ts +++ b/packages/parameters/src/types/DynamoDBProvider.ts @@ -1,13 +1,14 @@ -import type { - GetOptionsInterface, - GetMultipleOptionsInterface, -} from './BaseProvider'; +import type { JSONValue } from '@aws-lambda-powertools/commons'; import type { DynamoDBClient, + DynamoDBClientConfig, GetItemCommandInput, QueryCommandInput, - DynamoDBClientConfig, } from '@aws-sdk/client-dynamodb'; +import type { + GetMultipleOptionsInterface, + GetOptionsInterface, +} from './BaseProvider'; /** * Base interface for DynamoDBProviderOptions. @@ -18,7 +19,7 @@ import type { * @property {string} [sortAttr] - The DynamoDB table sort attribute name. Defaults to 'sk'. * @property {string} [valueAttr] - The DynamoDB table value attribute name. Defaults to 'value'. */ -interface DynamoDBProviderOptionsBaseInterface { +interface DynamoDBProviderOptionsBase { tableName: string; keyAttr?: string; sortAttr?: string; @@ -29,12 +30,12 @@ interface DynamoDBProviderOptionsBaseInterface { * Interface for DynamoDBProviderOptions with clientConfig property. * * @interface - * @extends DynamoDBProviderOptionsBaseInterface - * @property {AppConfigDataClientConfig} [clientConfig] - Optional configuration to pass during client initialization, e.g. AWS region. + * @extends DynamoDBProviderOptionsBase + * @property {DynamoDBClientConfig} [clientConfig] - Optional configuration to pass during client initialization, e.g. AWS region. * @property {never} [awsSdkV3Client] - This property should never be passed. */ interface DynamoDBProviderOptionsWithClientConfig - extends DynamoDBProviderOptionsBaseInterface { + extends DynamoDBProviderOptionsBase { clientConfig?: DynamoDBClientConfig; awsSdkV3Client?: never; } @@ -43,26 +44,26 @@ interface DynamoDBProviderOptionsWithClientConfig * Interface for DynamoDBProviderOptions with awsSdkV3Client property. * * @interface - * @extends DynamoDBProviderOptionsBaseInterface - * @property {AppConfigDataClient} [awsSdkV3Client] - Optional AWS SDK v3 client to pass during AppConfigProvider class instantiation + * @extends DynamoDBProviderOptionsBase + * @property {DynamoDBClient} [awsSdkV3Client] - Optional AWS SDK v3 client to pass during DynamoDBProvider class instantiation * @property {never} [clientConfig] - This property should never be passed. */ interface DynamoDBProviderOptionsWithClientInstance - extends DynamoDBProviderOptionsBaseInterface { + extends DynamoDBProviderOptionsBase { awsSdkV3Client?: DynamoDBClient; clientConfig?: never; } /** - * Options for the AppConfigProvider class constructor. + * Options for the DynamoDBProvider class constructor. * - * @type AppConfigProviderOptions + * @type DynamoDBProviderOptions * @property {string} tableName - The DynamoDB table name. * @property {string} [keyAttr] - The DynamoDB table key attribute name. Defaults to 'id'. * @property {string} [sortAttr] - The DynamoDB table sort attribute name. Defaults to 'sk'. * @property {string} [valueAttr] - The DynamoDB table value attribute name. Defaults to 'value'. - * @property {AppConfigDataClientConfig} [clientConfig] - Optional configuration to pass during client initialization, e.g. AWS region. Mutually exclusive with awsSdkV3Client. - * @property {AppConfigDataClient} [awsSdkV3Client] - Optional AWS SDK v3 client to pass during DynamoDBProvider class instantiation. Mutually exclusive with clientConfig. + * @property {DynamoDBClientConfig} [clientConfig] - Optional configuration to pass during client initialization, e.g. AWS region. Mutually exclusive with awsSdkV3Client. + * @property {DynamoDBClient} [awsSdkV3Client] - Optional AWS SDK v3 client to pass during DynamoDBProvider class instantiation. Mutually exclusive with clientConfig. */ type DynamoDBProviderOptions = | DynamoDBProviderOptionsWithClientConfig @@ -71,24 +72,60 @@ type DynamoDBProviderOptions = /** * Options for the DynamoDBProvider get method. * - * @interface DynamoDBGetOptionsInterface + * @interface DynamoDBGetOptionsBase * @extends {GetOptionsInterface} * @property {number} maxAge - Maximum age of the value in the cache, in seconds. * @property {boolean} forceFetch - Force fetch the value from the parameter store, ignoring the cache. * @property {GetItemCommandInput} [sdkOptions] - Additional options to pass to the AWS SDK v3 client. * @property {TransformOptions} transform - Transform to be applied, can be 'json' or 'binary'. */ -interface DynamoDBGetOptionsInterface extends GetOptionsInterface { +interface DynamoDBGetOptionsBase extends GetOptionsInterface { sdkOptions?: Omit< Partial, 'Key' | 'TableName' | 'ProjectionExpression' >; } +interface DynamoDBGetOptionsTransformJson extends DynamoDBGetOptionsBase { + transform: 'json'; +} + +interface DynamoDBGetOptionsTransformBinary extends DynamoDBGetOptionsBase { + transform: 'binary'; +} + +interface DynamoDBGetOptionsTransformNone extends DynamoDBGetOptionsBase { + transform?: never; +} + +type DynamoDBGetOptions = + | DynamoDBGetOptionsTransformNone + | DynamoDBGetOptionsTransformJson + | DynamoDBGetOptionsTransformBinary + | undefined; + +/** + * Generic output type for DynamoDBProvider get method. + */ +type DynamoDBGetOutput< + ExplicitUserProvidedType = undefined, + InferredFromOptionsType = undefined +> = undefined extends ExplicitUserProvidedType + ? undefined extends InferredFromOptionsType + ? JSONValue + : InferredFromOptionsType extends + | DynamoDBGetOptionsTransformNone + | DynamoDBGetOptionsTransformJson + ? JSONValue + : InferredFromOptionsType extends DynamoDBGetOptionsTransformBinary + ? string + : never + : ExplicitUserProvidedType; + /** * Options for the DynamoDBProvider getMultiple method. * - * @interface DynamoDBGetMultipleOptionsInterface + * @interface DynamoDBGetMultipleOptions * @extends {GetMultipleOptionsInterface} * @property {number} maxAge - Maximum age of the value in the cache, in seconds. * @property {boolean} forceFetch - Force fetch the value from the parameter store, ignoring the cache. @@ -96,13 +133,59 @@ interface DynamoDBGetOptionsInterface extends GetOptionsInterface { * @property {TransformOptions} transform - Transform to be applied, can be 'json' or 'binary'. * @property {boolean} throwOnTransformError - Whether to throw an error if the transform fails (default: `true`) */ -interface DynamoDBGetMultipleOptionsInterface - extends GetMultipleOptionsInterface { +interface DynamoDBGetMultipleOptionsBase extends GetMultipleOptionsInterface { sdkOptions?: Partial; } +interface DynamoDBGetMultipleOptionsTransformJson + extends DynamoDBGetMultipleOptionsBase { + transform: 'json'; +} + +interface DynamoDBGetMultipleOptionsTransformBinary + extends DynamoDBGetMultipleOptionsBase { + transform: 'binary'; +} + +interface DynamoDBGetMultipleOptionsTransformAuto + extends DynamoDBGetMultipleOptionsBase { + transform: 'auto'; +} + +interface DynamoDBGetMultipleOptionsTransformNone + extends DynamoDBGetMultipleOptionsBase { + transform?: never; +} + +type DynamoDBGetMultipleOptions = + | DynamoDBGetMultipleOptionsTransformJson + | DynamoDBGetMultipleOptionsTransformBinary + | DynamoDBGetMultipleOptionsTransformAuto + | DynamoDBGetMultipleOptionsTransformNone; + +/** + * Generic output type for DynamoDBProvider getMultiple method. + */ +type DynamoDBGetMultipleOutput< + ExplicitUserProvidedType = undefined, + InferredFromOptionsType = undefined +> = undefined extends ExplicitUserProvidedType + ? undefined extends InferredFromOptionsType + ? JSONValue + : InferredFromOptionsType extends + | DynamoDBGetMultipleOptionsTransformNone + | DynamoDBGetMultipleOptionsTransformAuto + | DynamoDBGetMultipleOptionsTransformJson + ? JSONValue + : InferredFromOptionsType extends DynamoDBGetOptionsTransformBinary + ? string + : never + : ExplicitUserProvidedType; + export type { DynamoDBProviderOptions, - DynamoDBGetOptionsInterface, - DynamoDBGetMultipleOptionsInterface, + DynamoDBGetOptions, + DynamoDBGetOutput, + DynamoDBGetMultipleOptions, + DynamoDBGetMultipleOutput, }; diff --git a/packages/parameters/src/types/SSMProvider.ts b/packages/parameters/src/types/SSMProvider.ts index dd505a6019..e677ff821f 100644 --- a/packages/parameters/src/types/SSMProvider.ts +++ b/packages/parameters/src/types/SSMProvider.ts @@ -1,12 +1,13 @@ +import type { JSONValue } from '@aws-lambda-powertools/commons'; import type { - SSMClient, - SSMClientConfig, GetParameterCommandInput, GetParametersByPathCommandInput, + SSMClient, + SSMClientConfig, } from '@aws-sdk/client-ssm'; import type { - GetOptionsInterface, GetMultipleOptionsInterface, + GetOptionsInterface, TransformOptions, } from './BaseProvider'; @@ -48,7 +49,7 @@ type SSMProviderOptions = /** * Options for the SSMProvider getMultiple method. * - * @interface SSMGetOptionsInterface + * @interface SSMGetOptionsBase * @extends {GetOptionsInterface} * @property {number} maxAge - Maximum age of the value in the cache, in seconds. * @property {boolean} forceFetch - Force fetch the value from the parameter store, ignoring the cache. @@ -56,7 +57,7 @@ type SSMProviderOptions = * @property {TransformOptions} transform - Transform to be applied, can be 'json' or 'binary'. * @property {boolean} decrypt - If true, the parameter will be decrypted. Defaults to `false`. */ -interface SSMGetOptions extends GetOptionsInterface { +interface SSMGetOptionsBase extends GetOptionsInterface { /** * If true, the parameter will be decrypted. Defaults to `false`. */ @@ -69,19 +70,19 @@ interface SSMGetOptions extends GetOptionsInterface { transform?: Exclude; } -interface SSMGetOptionsTransformJson extends SSMGetOptions { +interface SSMGetOptionsTransformJson extends SSMGetOptionsBase { transform: 'json'; } -interface SSMGetOptionsTransformBinary extends SSMGetOptions { +interface SSMGetOptionsTransformBinary extends SSMGetOptionsBase { transform: 'binary'; } -interface SSMGetOptionsTransformNone extends SSMGetOptions { +interface SSMGetOptionsTransformNone extends SSMGetOptionsBase { transform?: never; } -type SSMGetOptionsUnion = +type SSMGetOptions = | SSMGetOptionsTransformJson | SSMGetOptionsTransformBinary | SSMGetOptionsTransformNone @@ -101,14 +102,14 @@ type SSMGetOutput< | SSMGetOptionsTransformBinary ? string : InferredFromOptionsType extends SSMGetOptionsTransformJson - ? Record + ? JSONValue : never : ExplicitUserProvidedType; /** * Options for the SSMProvider getMultiple method. * - * @interface SSMGetMultipleOptionsInterface + * @interface SSMGetMultipleOptionsBase * @extends {GetMultipleOptionsInterface} * @property {number} maxAge - Maximum age of the value in the cache, in seconds. * @property {boolean} forceFetch - Force fetch the value from the parameter store, ignoring the cache. @@ -118,7 +119,7 @@ type SSMGetOutput< * @property {boolean} recursive - If true, the parameter will be fetched recursively. * @property {boolean} throwOnTransformError - If true, the method will throw an error if the transform fails. */ -interface SSMGetMultipleOptions extends GetMultipleOptionsInterface { +interface SSMGetMultipleOptionsBase extends GetMultipleOptionsInterface { /** * Additional options to pass to the AWS SDK v3 client. Supports all options from `GetParametersByPathCommandInput`. */ @@ -137,23 +138,24 @@ interface SSMGetMultipleOptions extends GetMultipleOptionsInterface { throwOnTransformError?: boolean; } -interface SSMGetMultipleOptionsTransformJson extends SSMGetMultipleOptions { +interface SSMGetMultipleOptionsTransformJson extends SSMGetMultipleOptionsBase { transform: 'json'; } -interface SSMGetMultipleOptionsTransformBinary extends SSMGetMultipleOptions { +interface SSMGetMultipleOptionsTransformBinary + extends SSMGetMultipleOptionsBase { transform: 'binary'; } -interface SSMGetMultipleOptionsTransformAuto extends SSMGetMultipleOptions { +interface SSMGetMultipleOptionsTransformAuto extends SSMGetMultipleOptionsBase { transform: 'auto'; } -interface SSMGetMultipleOptionsTransformNone extends SSMGetMultipleOptions { +interface SSMGetMultipleOptionsTransformNone extends SSMGetMultipleOptionsBase { transform?: never; } -type SSMGetMultipleOptionsUnion = +type SSMGetMultipleOptions = | SSMGetMultipleOptionsTransformJson | SSMGetMultipleOptionsTransformBinary | SSMGetMultipleOptionsTransformAuto @@ -174,9 +176,9 @@ type SSMGetMultipleOutput< | SSMGetMultipleOptionsTransformBinary ? Record : InferredFromOptionsType extends SSMGetMultipleOptionsTransformAuto - ? Record + ? Record : InferredFromOptionsType extends SSMGetMultipleOptionsTransformJson - ? Record> + ? Record : never : Record; @@ -231,10 +233,8 @@ type SSMGetParametersByNameOutput = export type { SSMProviderOptions, SSMGetOptions, - SSMGetOptionsUnion, SSMGetOutput, SSMGetMultipleOptions, - SSMGetMultipleOptionsUnion, SSMGetMultipleOutput, SSMGetParametersByNameOptions, SSMSplitBatchAndDecryptParametersOutputType, diff --git a/packages/parameters/src/types/SecretsProvider.ts b/packages/parameters/src/types/SecretsProvider.ts index 1105d016c1..94af356f3a 100644 --- a/packages/parameters/src/types/SecretsProvider.ts +++ b/packages/parameters/src/types/SecretsProvider.ts @@ -1,9 +1,10 @@ -import type { GetOptionsInterface, TransformOptions } from './BaseProvider'; +import type { JSONValue } from '@aws-lambda-powertools/commons'; import type { + GetSecretValueCommandInput, SecretsManagerClient, SecretsManagerClientConfig, - GetSecretValueCommandInput, } from '@aws-sdk/client-secrets-manager'; +import type { GetOptionsInterface, TransformOptions } from './BaseProvider'; /** * Base interface for SecretsProviderOptions. @@ -34,8 +35,8 @@ interface SecretsProviderOptionsWithClientInstance { * Options for the SecretsProvider class constructor. * * @type SecretsProviderOptions - * @property {AppConfigDataClientConfig} [clientConfig] - Optional configuration to pass during client initialization, e.g. AWS region. Mutually exclusive with awsSdkV3Client. - * @property {AppConfigDataClient} [awsSdkV3Client] - Optional AWS SDK v3 client to pass during SecretsProvider class instantiation. Mutually exclusive with clientConfig. + * @property {SecretsManagerClientConfig} [clientConfig] - Optional configuration to pass during client initialization, e.g. AWS region. Mutually exclusive with awsSdkV3Client. + * @property {SecretsManagerClient} [awsSdkV3Client] - Optional AWS SDK v3 client to pass during SecretsProvider class instantiation. Mutually exclusive with clientConfig. */ type SecretsProviderOptions = | SecretsProviderOptionsWithClientConfig @@ -51,27 +52,27 @@ type SecretsProviderOptions = * @property {GetSecretValueCommandInput} sdkOptions - Options to pass to the underlying SDK. * @property {TransformOptions} transform - Transform to be applied, can be 'json' or 'binary'. */ -interface SecretsGetOptions extends GetOptionsInterface { +interface SecretsGetOptionsBase extends GetOptionsInterface { /** - * Additional options to pass to the AWS SDK v3 client. Supports all options from `GetSecretValueCommandInput`. + * Additional options to pass to the AWS SDK v3 client. Supports all options from `GetSecretValueCommandInput` except `SecretId`. */ sdkOptions?: Omit, 'SecretId'>; transform?: Exclude; } -interface SecretsGetOptionsTransformJson extends SecretsGetOptions { +interface SecretsGetOptionsTransformJson extends SecretsGetOptionsBase { transform: 'json'; } -interface SecretsGetOptionsTransformBinary extends SecretsGetOptions { +interface SecretsGetOptionsTransformBinary extends SecretsGetOptionsBase { transform: 'binary'; } -interface SecretsGetOptionsTransformNone extends SecretsGetOptions { +interface SecretsGetOptionsTransformNone extends SecretsGetOptionsBase { transform?: never; } -type SecretsGetOptionsUnion = +type SecretsGetOptions = | SecretsGetOptionsTransformNone | SecretsGetOptionsTransformJson | SecretsGetOptionsTransformBinary @@ -84,20 +85,13 @@ type SecretsGetOutput< ExplicitUserProvidedType = undefined, InferredFromOptionsType = undefined > = undefined extends ExplicitUserProvidedType - ? undefined extends InferredFromOptionsType - ? string | Uint8Array - : InferredFromOptionsType extends SecretsGetOptionsTransformNone + ? undefined extends InferredFromOptionsType | SecretsGetOptionsTransformNone ? string | Uint8Array : InferredFromOptionsType extends SecretsGetOptionsTransformBinary ? string : InferredFromOptionsType extends SecretsGetOptionsTransformJson - ? Record + ? JSONValue : never : ExplicitUserProvidedType; -export type { - SecretsProviderOptions, - SecretsGetOptions, - SecretsGetOutput, - SecretsGetOptionsUnion, -}; +export type { SecretsProviderOptions, SecretsGetOptions, SecretsGetOutput }; diff --git a/packages/parameters/src/types/index.ts b/packages/parameters/src/types/index.ts deleted file mode 100644 index 18f961f63c..0000000000 --- a/packages/parameters/src/types/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from './BaseProvider'; -export * from './AppConfigProvider'; -export * from './SSMProvider'; -export * from './SecretsProvider'; -export * from './DynamoDBProvider'; diff --git a/packages/parameters/tests/e2e/appConfigProvider.class.test.functionCode.ts b/packages/parameters/tests/e2e/appConfigProvider.class.test.functionCode.ts index 8fe93a77ee..ece202a259 100644 --- a/packages/parameters/tests/e2e/appConfigProvider.class.test.functionCode.ts +++ b/packages/parameters/tests/e2e/appConfigProvider.class.test.functionCode.ts @@ -1,6 +1,7 @@ import { Context } from 'aws-lambda'; +import { Transform } from '../../src'; import { AppConfigProvider } from '../../src/appconfig'; -import { AppConfigGetOptionsInterface } from '../../src/types'; +import { AppConfigGetOptions } from '../../src/types/AppConfigProvider'; import { TinyLogger } from '../helpers/tinyLogger'; import { middleware } from '../helpers/sdkMiddlewareRequestCounter'; import { AppConfigDataClient } from '@aws-sdk/client-appconfigdata'; @@ -41,7 +42,7 @@ const resolveProvider = (provider?: AppConfigProvider): AppConfigProvider => { const _call_get = async ( paramName: string, testName: string, - options?: AppConfigGetOptionsInterface, + options?: AppConfigGetOptions, provider?: AppConfigProvider ): Promise => { try { @@ -69,19 +70,19 @@ export const handler = async ( // Test 2 - get a free-form JSON and apply json transformation (should return an object) await _call_get(freeFormJsonName, 'get-freeform-json-binary', { - transform: 'json', + transform: Transform.JSON, }); // Test 3 - get a free-form base64-encoded plain text and apply binary transformation (should return a decoded string) await _call_get( freeFormBase64encodedPlainText, 'get-freeform-base64-plaintext-binary', - { transform: 'binary' } + { transform: Transform.BINARY } ); // Test 4 - get a feature flag and apply json transformation (should return an object) await _call_get(featureFlagName, 'get-feature-flag-binary', { - transform: 'json', + transform: Transform.JSON, }); // Test 5 @@ -130,14 +131,14 @@ export const handler = async ( freeFormBase64encodedPlainText, { maxAge: 0, - transform: 'base64', + transform: Transform.BINARY, } ); const expiredResult2 = await providerWithMiddleware.get( freeFormBase64encodedPlainText, { maxAge: 0, - transform: 'base64', + transform: Transform.BINARY, } ); logger.log({ diff --git a/packages/parameters/tests/e2e/appConfigProvider.class.test.ts b/packages/parameters/tests/e2e/appConfigProvider.class.test.ts index de99890c58..2e75f8cc6b 100644 --- a/packages/parameters/tests/e2e/appConfigProvider.class.test.ts +++ b/packages/parameters/tests/e2e/appConfigProvider.class.test.ts @@ -371,7 +371,7 @@ describe(`parameters E2E tests (appConfigProvider) for runtime ${runtime}`, () = async () => { const logs = invocationLogs[0].getFunctionLogs(); const testLog = InvocationLogs.parseFunctionLog(logs[6]); - const result = freeFormBase64PlainTextValue; + const result = freeFormPlainTextValue; expect(testLog).toStrictEqual({ test: 'get-expired', diff --git a/packages/parameters/tests/e2e/dynamoDBProvider.class.test.functionCode.ts b/packages/parameters/tests/e2e/dynamoDBProvider.class.test.functionCode.ts index 7755d4b819..18df7bb21e 100644 --- a/packages/parameters/tests/e2e/dynamoDBProvider.class.test.functionCode.ts +++ b/packages/parameters/tests/e2e/dynamoDBProvider.class.test.functionCode.ts @@ -1,9 +1,10 @@ import { Context } from 'aws-lambda'; +import { Transform } from '../../src'; import { DynamoDBProvider } from '../../src/dynamodb'; import { - DynamoDBGetOptionsInterface, - DynamoDBGetMultipleOptionsInterface, -} from '../../src/types'; + DynamoDBGetOptions, + DynamoDBGetMultipleOptions, +} from '../../src/types/DynamoDBProvider'; import { TinyLogger } from '../helpers/tinyLogger'; import { middleware } from '../helpers/sdkMiddlewareRequestCounter'; import { DynamoDBClient } from '@aws-sdk/client-dynamodb'; @@ -55,7 +56,7 @@ const _call_get = async ( paramName: string, testName: string, provider: DynamoDBProvider, - options?: DynamoDBGetOptionsInterface + options?: DynamoDBGetOptions ): Promise => { try { const parameterValue = await provider.get(paramName, options); @@ -76,7 +77,7 @@ const _call_get_multiple = async ( paramPath: string, testName: string, provider: DynamoDBProvider, - options?: DynamoDBGetMultipleOptionsInterface + options?: DynamoDBGetMultipleOptions ): Promise => { try { const parameterValues = await provider.getMultiple(paramPath, options); @@ -114,12 +115,12 @@ export const handler = async ( // Test 5 - get a single parameter with json transform await _call_get('my-param-json', 'get-json-transform', providerGet, { - transform: 'json', + transform: Transform.JSON, }); // Test 6 - get a single parameter with binary transform await _call_get('my-param-binary', 'get-binary-transform', providerGet, { - transform: 'binary', + transform: Transform.BINARY, }); // Test 7 - get multiple parameters with auto transform @@ -128,7 +129,7 @@ export const handler = async ( 'get-multiple-auto-transform', providerGetMultiple, { - transform: 'auto', + transform: Transform.AUTO, } ); diff --git a/packages/parameters/tests/e2e/secretsProvider.class.test.functionCode.ts b/packages/parameters/tests/e2e/secretsProvider.class.test.functionCode.ts index a446bd0c1f..a52eeea586 100644 --- a/packages/parameters/tests/e2e/secretsProvider.class.test.functionCode.ts +++ b/packages/parameters/tests/e2e/secretsProvider.class.test.functionCode.ts @@ -2,8 +2,9 @@ import { Context } from 'aws-lambda'; import { TinyLogger } from '../helpers/tinyLogger'; import { SecretsManagerClient } from '@aws-sdk/client-secrets-manager'; import { middleware } from '../helpers/sdkMiddlewareRequestCounter'; +import { Transform } from '../../src'; import { SecretsProvider } from '../../src/secrets'; -import { SecretsGetOptionsInterface } from '../../src/types'; +import { SecretsGetOptions } from '../../src/types/SecretsProvider'; const logger = new TinyLogger(); const defaultProvider = new SecretsProvider(); @@ -11,10 +12,6 @@ const defaultProvider = new SecretsProvider(); const secretNamePlain = process.env.SECRET_NAME_PLAIN || ''; const secretNameObject = process.env.SECRET_NAME_OBJECT || ''; const secretNameBinary = process.env.SECRET_NAME_BINARY || ''; -const secretNameObjectWithSuffix = - process.env.SECRET_NAME_OBJECT_WITH_SUFFIX || ''; -const secretNameBinaryWithSuffix = - process.env.SECRET_NAME_BINARY_WITH_SUFFIX || ''; const secretNamePlainChached = process.env.SECRET_NAME_PLAIN_CACHED || ''; const secretNamePlainForceFetch = process.env.SECRET_NAME_PLAIN_FORCE_FETCH || ''; @@ -29,7 +26,7 @@ const providerWithMiddleware = new SecretsProvider({ const _call_get = async ( paramName: string, testName: string, - options?: SecretsGetOptionsInterface, + options?: SecretsGetOptions, provider?: SecretsProvider ): Promise => { try { @@ -58,25 +55,15 @@ export const handler = async ( // Test 2 get single secret with transform json await _call_get(secretNameObject, 'get-transform-json', { - transform: 'json', + transform: Transform.JSON, }); // Test 3 get single secret with transform binary await _call_get(secretNameBinary, 'get-transform-binary', { - transform: 'binary', + transform: Transform.BINARY, }); - // Test 4 get single secret with transform auto json - await _call_get(secretNameObjectWithSuffix, 'get-transform-auto-json', { - transform: 'auto', - }); - - // Test 5 get single secret with transform auto binary - await _call_get(secretNameBinaryWithSuffix, 'get-transform-auto-binary', { - transform: 'auto', - }); - - // Test 6 + // Test 4 // get secret twice with middleware, which counts number of SDK requests, we check later if we only called SecretManager API once try { middleware.counter = 0; @@ -92,7 +79,7 @@ export const handler = async ( error: err.message, }); } - // Test 7 + // Test 5 // get secret twice, but force fetch 2nd time, we count number of SDK requests and check that we made two API calls try { middleware.counter = 0; diff --git a/packages/parameters/tests/e2e/secretsProvider.class.test.ts b/packages/parameters/tests/e2e/secretsProvider.class.test.ts index 3d42577cba..d656b4a3c3 100644 --- a/packages/parameters/tests/e2e/secretsProvider.class.test.ts +++ b/packages/parameters/tests/e2e/secretsProvider.class.test.ts @@ -38,12 +38,10 @@ if (!isValidRuntimeKey(runtime)) { * Test 1: create a secret with plain text value, fetch it with no additional options * Test 2: create a secret with json value, fetch it using `transform: 'json'` option * Test 3: create a secret with base64 encoded value (technicaly string), fetch it using `transform: 'binary'` option - * Test 4: create a secret with json value and secret name ends with .json, fetch it using `transform: 'auto'` option - * Test 5: create a secret with base64 encoded value (technicaly string) and secert name ends with .binary, fetch it using `transform: 'auto'` option - * Test 6: create a secret with plain text value, fetch it twice, check that value was cached, the number of SDK calls should be 1 - * Test 7: create a secret with plain text value, fetch it twice, second time with `forceFetch: true` option, check that value was not cached, the number of SDK calls should be 2 + * Test 4: create a secret with plain text value, fetch it twice, check that value was cached, the number of SDK calls should be 1 + * Test 5: create a secret with plain text value, fetch it twice, second time with `forceFetch: true` option, check that value was not cached, the number of SDK calls should be 2 * - * For tests 6 and 7 we use our own AWS SDK custom middleware plugin `sdkMiddlewareRequestCounter.ts` + * For tests 4 and 5 we use our own AWS SDK custom middleware plugin `sdkMiddlewareRequestCounter.ts` * * Adding new test: * Please keep the state clean, and create dedicated resource for your test, don't reuse resources from other tests. @@ -93,18 +91,6 @@ describe(`parameters E2E tests (SecretsProvider) for runtime: ${runtime}`, () => runtime, 'testSecretBinary' ); - const secretNameObjectWithSuffix = generateUniqueName( - RESOURCE_NAME_PREFIX, - uuid, - runtime, - 'testSecretObject.json' - ); - const secretNameBinaryWithSuffix = generateUniqueName( - RESOURCE_NAME_PREFIX, - uuid, - runtime, - 'testSecretObject.binary' - ); const secretNamePlainCached = generateUniqueName( RESOURCE_NAME_PREFIX, uuid, @@ -131,8 +117,6 @@ describe(`parameters E2E tests (SecretsProvider) for runtime: ${runtime}`, () => SECRET_NAME_PLAIN: secretNamePlain, SECRET_NAME_OBJECT: secretNameObject, SECRET_NAME_BINARY: secretNameBinary, - SECRET_NAME_OBJECT_WITH_SUFFIX: secretNameObjectWithSuffix, - SECRET_NAME_BINARY_WITH_SUFFIX: secretNameBinaryWithSuffix, SECRET_NAME_PLAIN_CACHED: secretNamePlainCached, SECRET_NAME_PLAIN_FORCE_FETCH: secretNamePlainForceFetch, }, @@ -156,26 +140,6 @@ describe(`parameters E2E tests (SecretsProvider) for runtime: ${runtime}`, () => secretStringValue: SecretValue.unsafePlainText('Zm9v'), // 'foo' encoded in base64 }); - const secretObjectWithSuffix = new Secret( - stack, - 'testSecretObjectWithSuffix', - { - secretName: secretNameObjectWithSuffix, - secretObjectValue: { - foo: SecretValue.unsafePlainText('bar'), - }, - } - ); - - const secretBinaryWithSuffix = new Secret( - stack, - 'testSecretBinaryWithSuffix', - { - secretName: secretNameBinaryWithSuffix, - secretStringValue: SecretValue.unsafePlainText('Zm9v'), // 'foo' encoded in base64 - } - ); - const secretStringCached = new Secret(stack, 'testSecretStringCached', { secretName: secretNamePlainCached, secretStringValue: SecretValue.unsafePlainText('foo'), @@ -196,8 +160,6 @@ describe(`parameters E2E tests (SecretsProvider) for runtime: ${runtime}`, () => secretString, secretObject, secretBinary, - secretObjectWithSuffix, - secretBinaryWithSuffix, secretStringCached, secretStringForceFetch, ]) @@ -256,34 +218,9 @@ describe(`parameters E2E tests (SecretsProvider) for runtime: ${runtime}`, () => ); }); - it( - 'should retrieve a secret using transform auto option with implicit json', - async () => { - const logs = invocationLogs[0].getFunctionLogs(); - const testLog = InvocationLogs.parseFunctionLog(logs[3]); - - // result should be a json object - expect(testLog).toStrictEqual({ - test: 'get-transform-auto-json', - value: { foo: 'bar' }, - }); - }, - TEST_CASE_TIMEOUT - ); - - it('should retrieve a secret using transform auto option with implicit binary', async () => { - const logs = invocationLogs[0].getFunctionLogs(); - const testLog = InvocationLogs.parseFunctionLog(logs[4]); - - expect(testLog).toStrictEqual({ - test: 'get-transform-auto-binary', - value: 'foo', - }); - }); - it('should retrieve a secret twice with cached value', async () => { const logs = invocationLogs[0].getFunctionLogs(); - const testLogFirst = InvocationLogs.parseFunctionLog(logs[5]); + const testLogFirst = InvocationLogs.parseFunctionLog(logs[3]); // we fetch twice, but we expect to make an API call only once expect(testLogFirst).toStrictEqual({ @@ -294,7 +231,7 @@ describe(`parameters E2E tests (SecretsProvider) for runtime: ${runtime}`, () => it('should retrieve a secret twice with forceFetch second time', async () => { const logs = invocationLogs[0].getFunctionLogs(); - const testLogFirst = InvocationLogs.parseFunctionLog(logs[6]); + const testLogFirst = InvocationLogs.parseFunctionLog(logs[4]); // we fetch twice, 2nd time with forceFetch: true flag, we expect two api calls expect(testLogFirst).toStrictEqual({ diff --git a/packages/parameters/tests/e2e/ssmProvider.class.test.functionCode.ts b/packages/parameters/tests/e2e/ssmProvider.class.test.functionCode.ts index e97ebca434..49aefa90bd 100644 --- a/packages/parameters/tests/e2e/ssmProvider.class.test.functionCode.ts +++ b/packages/parameters/tests/e2e/ssmProvider.class.test.functionCode.ts @@ -1,10 +1,10 @@ import { Context } from 'aws-lambda'; import { SSMProvider } from '../../src/ssm'; import { - SSMGetOptionsInterface, - SSMGetMultipleOptionsInterface, - SSMGetParametersByNameOptionsInterface, -} from '../../src/types'; + SSMGetOptions, + SSMGetMultipleOptions, + SSMGetParametersByNameOptions, +} from '../../src/types/SSMProvider'; import { TinyLogger } from '../helpers/tinyLogger'; import { middleware } from '../helpers/sdkMiddlewareRequestCounter'; import { SSMClient } from '@aws-sdk/client-ssm'; @@ -37,7 +37,7 @@ const resolveProvider = (provider?: SSMProvider): SSMProvider => { const _call_get = async ( paramName: string, testName: string, - options?: SSMGetOptionsInterface, + options?: SSMGetOptions, provider?: SSMProvider ): Promise => { try { @@ -60,7 +60,7 @@ const _call_get = async ( const _call_get_multiple = async ( paramPath: string, testName: string, - options?: SSMGetMultipleOptionsInterface, + options?: SSMGetMultipleOptions, provider?: SSMProvider ): Promise => { try { @@ -84,9 +84,9 @@ const _call_get_multiple = async ( // Helper function to call getParametersByName() and log the result const _call_get_parameters_by_name = async ( - params: Record, + params: Record, testName: string, - options?: SSMGetParametersByNameOptionsInterface, + options?: SSMGetParametersByNameOptions, provider?: SSMProvider ): Promise => { try { diff --git a/packages/parameters/tests/unit/AppConfigProvider.test.ts b/packages/parameters/tests/unit/AppConfigProvider.test.ts index 0fa4af63d2..affe3c28fd 100644 --- a/packages/parameters/tests/unit/AppConfigProvider.test.ts +++ b/packages/parameters/tests/unit/AppConfigProvider.test.ts @@ -4,7 +4,7 @@ * @group unit/parameters/AppConfigProvider/class */ import { AppConfigProvider } from '../../src/appconfig/index'; -import { ExpirableValue } from '../../src/ExpirableValue'; +import { ExpirableValue } from '../../src/base/ExpirableValue'; import { AppConfigProviderOptions } from '../../src/types/AppConfigProvider'; import { AppConfigDataClient, diff --git a/packages/parameters/tests/unit/BaseProvider.test.ts b/packages/parameters/tests/unit/BaseProvider.test.ts index 6fb45c2010..773c31b23d 100644 --- a/packages/parameters/tests/unit/BaseProvider.test.ts +++ b/packages/parameters/tests/unit/BaseProvider.test.ts @@ -3,14 +3,9 @@ * * @group unit/parameters/baseProvider/class */ -import { - BaseProvider, - ExpirableValue, - GetParameterError, - TransformParameterError, - clearCaches, - DEFAULT_PROVIDERS, -} from '../../src'; +import { BaseProvider, clearCaches, DEFAULT_PROVIDERS } from '../../src/base'; +import { ExpirableValue } from '../../src/base/ExpirableValue'; +import { GetParameterError, TransformParameterError } from '../../src/errors'; import { toBase64 } from '@aws-sdk/util-base64-node'; const encoder = new TextEncoder(); @@ -286,6 +281,23 @@ describe('Class: BaseProvider', () => { ); }); + test('when the underlying _getMultiple does not return an object, it throws a GetParameterError', async () => { + // Prepare + const provider = new TestProvider(); + jest.spyOn(provider, '_getMultiple').mockImplementation( + () => + new Promise((resolve, _reject) => + // need to type cast to force the error + resolve('not an object' as unknown as Record) + ) + ); + + // Act & Assess + await expect(provider.getMultiple('my-parameter')).rejects.toThrowError( + GetParameterError + ); + }); + test('when called with a json transform, and all the values are a valid string representation of a JSON, it returns an object with all the values', async () => { // Prepare const mockData = { A: JSON.stringify({ foo: 'bar' }) }; diff --git a/packages/parameters/tests/unit/SSMProvider.test.ts b/packages/parameters/tests/unit/SSMProvider.test.ts index 1d58232fbe..8cec3e4de2 100644 --- a/packages/parameters/tests/unit/SSMProvider.test.ts +++ b/packages/parameters/tests/unit/SSMProvider.test.ts @@ -20,7 +20,7 @@ import type { SSMSplitBatchAndDecryptParametersOutputType, SSMGetParametersByNameOutputInterface, } from '../../src/types/SSMProvider'; -import { ExpirableValue } from '../../src/BaseProvider'; +import { ExpirableValue } from '../../src/base/ExpirableValue'; import { toBase64 } from '@aws-sdk/util-base64'; const encoder = new TextEncoder(); diff --git a/packages/parameters/tests/unit/getAppConfig.test.ts b/packages/parameters/tests/unit/getAppConfig.test.ts index 20e9bfe8d9..4d1a3b23c2 100644 --- a/packages/parameters/tests/unit/getAppConfig.test.ts +++ b/packages/parameters/tests/unit/getAppConfig.test.ts @@ -8,6 +8,7 @@ import { getAppConfig, DEFAULT_PROVIDERS, } from '../../src/appconfig'; +import { Transform } from '../../src'; import { AppConfigDataClient, StartConfigurationSessionCommand, @@ -15,8 +16,8 @@ import { } from '@aws-sdk/client-appconfigdata'; import { mockClient } from 'aws-sdk-client-mock'; import 'aws-sdk-client-mock-jest'; -import type { GetAppConfigCombinedInterface } from '../../src/types/AppConfigProvider'; import { toBase64 } from '@aws-sdk/util-base64-node'; +import { JSONValue } from '@aws-lambda-powertools/commons'; describe('Function: getAppConfig', () => { const client = mockClient(AppConfigDataClient); @@ -28,30 +29,23 @@ describe('Function: getAppConfig', () => { test('when called and a default provider does not exist, it instantiates one and returns the value', async () => { // Prepare - const options: GetAppConfigCombinedInterface = { - application: 'MyApp', - environment: 'MyAppProdEnv', - }; - const name = 'MyAppFeatureFlag'; - const mockInitialToken = - 'AYADeNgfsRxdKiJ37A12OZ9vN2cAXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREF1RzlLMTg1Tkx2Wjk4OGV2UXkyQ1'; - const mockNextToken = - 'ImRmyljpZnxt7FfxeEOE5H8xQF1SfOlWZFnHujbzJmIvNeSAAA8/qA9ivK0ElRMwpvx96damGxt125XtMkmYf6a0OWSqnBw=='; const mockData = encoder.encode('myAppConfiguration'); - client .on(StartConfigurationSessionCommand) .resolves({ - InitialConfigurationToken: mockInitialToken, + InitialConfigurationToken: 'abcdefg', }) .on(GetLatestConfigurationCommand) .resolves({ Configuration: mockData, - NextPollConfigurationToken: mockNextToken, + NextPollConfigurationToken: 'hijklmn', }); // Act - const result = await getAppConfig(name, options); + const result: Uint8Array | undefined = await getAppConfig('my-config', { + application: 'my-app', + environment: 'prod', + }); // Assess expect(result).toBe(mockData); @@ -59,32 +53,28 @@ describe('Function: getAppConfig', () => { test('when called and a default provider exists, it uses it and returns the value', async () => { // Prepare - const options: GetAppConfigCombinedInterface = { - application: 'MyApp', - environment: 'MyAppProdEnv', - }; - const provider = new AppConfigProvider(options); + const provider = new AppConfigProvider({ + application: 'my-app', + environment: 'prod', + }); DEFAULT_PROVIDERS.appconfig = provider; - const name = 'MyAppFeatureFlag'; - const mockInitialToken = - 'AYADeNgfsRxdKiJ37A12OZ9vN2cAXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREF1RzlLMTg1Tkx2Wjk4OGV2UXkyQ1'; - const mockNextToken = - 'ImRmyljpZnxt7FfxeEOE5H8xQF1SfOlWZFnHujbzJmIvNeSAAA8/qA9ivK0ElRMwpvx96damGxt125XtMkmYf6a0OWSqnBw=='; const mockData = encoder.encode('myAppConfiguration'); - client .on(StartConfigurationSessionCommand) .resolves({ - InitialConfigurationToken: mockInitialToken, + InitialConfigurationToken: 'abcdefg', }) .on(GetLatestConfigurationCommand) .resolves({ Configuration: mockData, - NextPollConfigurationToken: mockNextToken, + NextPollConfigurationToken: 'hijklmn', }); // Act - const result = await getAppConfig(name, options); + const result: Uint8Array | undefined = await getAppConfig('my-config', { + application: 'my-app', + environment: 'prod', + }); // Assess expect(result).toBe(mockData); @@ -92,35 +82,53 @@ describe('Function: getAppConfig', () => { test('when called with transform: `binary` option, it returns string value', async () => { // Prepare - const options: GetAppConfigCombinedInterface = { - application: 'MyApp', - environment: 'MyAppProdEnv', - transform: 'binary', - }; - - const name = 'MyAppFeatureFlag'; - const mockInitialToken = - 'AYADeNgfsRxdKiJ37A12OZ9vN2cAXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREF1RzlLMTg1Tkx2Wjk4OGV2UXkyQ1'; - const mockNextToken = - 'ImRmyljpZnxt7FfxeEOE5H8xQF1SfOlWZFnHujbzJmIvNeSAAA8/qA9ivK0ElRMwpvx96damGxt125XtMkmYf6a0OWSqnBw=='; const expectedValue = 'my-value'; const mockData = encoder.encode(toBase64(encoder.encode(expectedValue))); - client .on(StartConfigurationSessionCommand) .resolves({ - InitialConfigurationToken: mockInitialToken, + InitialConfigurationToken: 'abcdefg', }) .on(GetLatestConfigurationCommand) .resolves({ Configuration: mockData, - NextPollConfigurationToken: mockNextToken, + NextPollConfigurationToken: 'hijklmn', }); // Act - const result = await getAppConfig(name, options); + const result: string | undefined = await getAppConfig('my-config', { + application: 'my-app', + environment: 'prod', + transform: Transform.BINARY, + }); // Assess expect(result).toBe(expectedValue); }); + + test('when called with transform: `json` option, it returns a JSON value', async () => { + // Prepare + const expectedValue = { foo: 'my-value' }; + const mockData = encoder.encode(JSON.stringify(expectedValue)); + client + .on(StartConfigurationSessionCommand) + .resolves({ + InitialConfigurationToken: 'abcdefg', + }) + .on(GetLatestConfigurationCommand) + .resolves({ + Configuration: mockData, + NextPollConfigurationToken: 'hijklmn', + }); + + // Act + const result: JSONValue = await getAppConfig('my-config', { + application: 'my-app', + environment: 'prod', + transform: Transform.JSON, + }); + + // Assess + expect(result).toStrictEqual(expectedValue); + }); }); diff --git a/packages/parameters/tests/unit/getParameter.test.ts b/packages/parameters/tests/unit/getParameter.test.ts index f6e5d50320..175f5e5f4a 100644 --- a/packages/parameters/tests/unit/getParameter.test.ts +++ b/packages/parameters/tests/unit/getParameter.test.ts @@ -3,7 +3,7 @@ * * @group unit/parameters/ssm/getParameter/function */ -import { DEFAULT_PROVIDERS } from '../../src/BaseProvider'; +import { DEFAULT_PROVIDERS } from '../../src/base'; import { SSMProvider, getParameter } from '../../src/ssm'; import { SSMClient, GetParameterCommand } from '@aws-sdk/client-ssm'; import { mockClient } from 'aws-sdk-client-mock'; diff --git a/packages/parameters/tests/unit/getParameters.test.ts b/packages/parameters/tests/unit/getParameters.test.ts index 7ec9680dc7..b8afe00bc6 100644 --- a/packages/parameters/tests/unit/getParameters.test.ts +++ b/packages/parameters/tests/unit/getParameters.test.ts @@ -3,7 +3,7 @@ * * @group unit/parameters/ssm/getParameters/function */ -import { DEFAULT_PROVIDERS } from '../../src/BaseProvider'; +import { DEFAULT_PROVIDERS } from '../../src/base'; import { SSMProvider, getParameters } from '../../src/ssm'; import { SSMClient, GetParametersByPathCommand } from '@aws-sdk/client-ssm'; import { mockClient } from 'aws-sdk-client-mock'; diff --git a/packages/parameters/tests/unit/getParametersByName.test.ts b/packages/parameters/tests/unit/getParametersByName.test.ts index 3e2dcfc5f3..e0c6201d22 100644 --- a/packages/parameters/tests/unit/getParametersByName.test.ts +++ b/packages/parameters/tests/unit/getParametersByName.test.ts @@ -3,7 +3,7 @@ * * @group unit/parameters/ssm/getParametersByName/function */ -import { DEFAULT_PROVIDERS } from '../../src/BaseProvider'; +import { DEFAULT_PROVIDERS } from '../../src/base'; import { SSMProvider, getParametersByName } from '../../src/ssm'; import type { SSMGetParametersByNameOptions } from '../../src/types/SSMProvider'; diff --git a/packages/parameters/tests/unit/getSecret.test.ts b/packages/parameters/tests/unit/getSecret.test.ts index 966f6456e7..e1cf3b82ee 100644 --- a/packages/parameters/tests/unit/getSecret.test.ts +++ b/packages/parameters/tests/unit/getSecret.test.ts @@ -3,7 +3,7 @@ * * @group unit/parameters/SecretsProvider/getSecret/function */ -import { DEFAULT_PROVIDERS } from '../../src/BaseProvider'; +import { DEFAULT_PROVIDERS } from '../../src/base'; import { SecretsProvider, getSecret } from '../../src/secrets'; import { SecretsManagerClient, diff --git a/packages/parameters/typedoc.json b/packages/parameters/typedoc.json index 2464c677ef..9a2e53d7f6 100644 --- a/packages/parameters/typedoc.json +++ b/packages/parameters/typedoc.json @@ -1,10 +1,19 @@ { - "extends": ["../../typedoc.base.json"], + "extends": [ + "../../typedoc.base.json" + ], "entryPoints": [ "./src/appconfig/index.ts", + "./src/types/AppConfigProvider.ts", "./src/ssm/index.ts", + "./src/types/SSMProvider.ts", "./src/dynamodb/index.ts", + "./src/types/DynamoDBProvider.ts", "./src/secrets/index.ts", - "./src/types/index.ts"], + "./src/types/SecretsProvider.ts", + "./src/base/index.ts", + "./src/errors.ts", + "./src/constants.ts", + ], "readme": "README.md" } \ No newline at end of file From d5f3f13ccd7aae1bbc59431741e8aaf042dd2a73 Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Thu, 22 Jun 2023 16:27:06 +0200 Subject: [PATCH 25/35] feat(logger): clear state when other middlewares return early (#1544) --- packages/logger/src/middleware/middy.ts | 20 ++++++- .../tests/unit/middleware/middy.test.ts | 59 +++++++++++++++++++ 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/packages/logger/src/middleware/middy.ts b/packages/logger/src/middleware/middy.ts index 99c21aa25e..f68ea4a8e6 100644 --- a/packages/logger/src/middleware/middy.ts +++ b/packages/logger/src/middleware/middy.ts @@ -1,5 +1,6 @@ import { Logger } from '../Logger'; import { HandlerOptions, LogAttributes } from '../types'; +import { LOGGER_KEY } from '@aws-lambda-powertools/commons/lib/middleware'; import type { MiddlewareLikeObj, MiddyLikeRequest, @@ -35,15 +36,30 @@ const injectLambdaContext = ( ): MiddlewareLikeObj => { const loggers = target instanceof Array ? target : [target]; const persistentAttributes: LogAttributes[] = []; + const isClearState = options && options.clearState === true; + + /** + * Set the cleanup function to be called in case other middlewares return early. + * + * @param request - The request object + */ + const setCleanupFunction = (request: MiddyLikeRequest): void => { + request.internal = { + ...request.internal, + [LOGGER_KEY]: injectLambdaContextAfterOrOnError, + }; + }; const injectLambdaContextBefore = async ( request: MiddyLikeRequest ): Promise => { loggers.forEach((logger: Logger, index: number) => { - if (options && options.clearState === true) { + if (isClearState) { persistentAttributes[index] = { ...logger.getPersistentLogAttributes(), }; + + setCleanupFunction(request); } Logger.injectLambdaContextBefore( logger, @@ -55,7 +71,7 @@ const injectLambdaContext = ( }; const injectLambdaContextAfterOrOnError = async (): Promise => { - if (options && options.clearState === true) { + if (isClearState) { loggers.forEach((logger: Logger, index: number) => { Logger.injectLambdaContextAfterOrOnError( logger, diff --git a/packages/logger/tests/unit/middleware/middy.test.ts b/packages/logger/tests/unit/middleware/middy.test.ts index 4c97a93444..f2815b01cd 100644 --- a/packages/logger/tests/unit/middleware/middy.test.ts +++ b/packages/logger/tests/unit/middleware/middy.test.ts @@ -7,6 +7,7 @@ import { ContextExamples as dummyContext, Events as dummyEvent, } from '@aws-lambda-powertools/commons'; +import { cleanupMiddlewares } from '@aws-lambda-powertools/commons/lib/middleware'; import { ConfigServiceInterface, EnvironmentVariablesService, @@ -197,6 +198,64 @@ describe('Middy middleware', () => { persistentAttribsBeforeInvocation ); }); + + test('when enabled, and another middleware returns early, it still clears the state', async () => { + // Prepare + const logger = new Logger({ + logLevel: 'DEBUG', + }); + const loggerSpy = jest.spyOn(logger['console'], 'debug'); + const myCustomMiddleware = (): middy.MiddlewareObj => { + const before = async ( + request: middy.Request + ): Promise => { + // Return early on the second invocation + if (request.event.idx === 1) { + // Cleanup Powertools resources + await cleanupMiddlewares(request); + + // Then return early + return 'foo'; + } + }; + + return { + before, + }; + }; + const handler = middy( + ( + event: typeof dummyEvent.Custom.CustomEvent & { idx: number } + ): void => { + // Add a key only at the first invocation, so we can check that it's cleared + if (event.idx === 0) { + logger.appendKeys({ + details: { user_id: '1234' }, + }); + } + logger.debug('This is a DEBUG log'); + } + ) + .use(injectLambdaContext(logger, { clearState: true })) + .use(myCustomMiddleware()); + + // Act + await handler({ ...event, idx: 0 }, context); + await handler({ ...event, idx: 1 }, context); + + // Assess + const persistentAttribsAfterInvocation = { + ...logger.getPersistentLogAttributes(), + }; + expect(persistentAttribsAfterInvocation).toEqual({}); + // Only one log because the second invocation returned early + // from the custom middleware + expect(loggerSpy).toBeCalledTimes(1); + expect(loggerSpy).toHaveBeenNthCalledWith( + 1, + expect.stringContaining('"details":{"user_id":"1234"}') + ); + }); }); describe('Feature: log event', () => { From 74ddb09a3107d9f45f34ccda1e691a9504578c2d Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Thu, 22 Jun 2023 16:37:47 +0200 Subject: [PATCH 26/35] feat(tracer): close & restore segments when other middlewares return (#1545) * feat(tracer): close & restore segments when other middlewares return early * chore: fix unit test to actually return early --- packages/tracer/src/middleware/middy.ts | 18 ++++++- packages/tracer/tests/unit/middy.test.ts | 64 +++++++++++++++++++++++- 2 files changed, 80 insertions(+), 2 deletions(-) diff --git a/packages/tracer/src/middleware/middy.ts b/packages/tracer/src/middleware/middy.ts index 132228390d..1d1a8b63f6 100644 --- a/packages/tracer/src/middleware/middy.ts +++ b/packages/tracer/src/middleware/middy.ts @@ -1,3 +1,4 @@ +import { TRACER_KEY } from '@aws-lambda-powertools/commons/lib/middleware'; import type { Tracer } from '../Tracer'; import type { Segment, Subsegment } from 'aws-xray-sdk-core'; import type { CaptureLambdaHandlerOptions } from '../types'; @@ -40,6 +41,18 @@ const captureLambdaHandler = ( let lambdaSegment: Segment; let handlerSegment: Subsegment; + /** + * Set the cleanup function to be called in case other middlewares return early. + * + * @param request - The request object + */ + const setCleanupFunction = (request: MiddyLikeRequest): void => { + request.internal = { + ...request.internal, + [TRACER_KEY]: close, + }; + }; + const open = (): void => { const segment = target.getSegment(); if (segment === undefined) { @@ -61,9 +74,12 @@ const captureLambdaHandler = ( target.setSegment(lambdaSegment); }; - const captureLambdaHandlerBefore = async (): Promise => { + const captureLambdaHandlerBefore = async ( + request: MiddyLikeRequest + ): Promise => { if (target.isTracingEnabled()) { open(); + setCleanupFunction(request); target.annotateColdStart(); target.addServiceNameAnnotation(); } diff --git a/packages/tracer/tests/unit/middy.test.ts b/packages/tracer/tests/unit/middy.test.ts index f3fc79e1c3..7948817baf 100644 --- a/packages/tracer/tests/unit/middy.test.ts +++ b/packages/tracer/tests/unit/middy.test.ts @@ -3,7 +3,6 @@ * * @group unit/tracer/all */ - import { captureLambdaHandler } from '../../src/middleware/middy'; import middy from '@middy/core'; import { Tracer } from './../../src'; @@ -13,6 +12,7 @@ import { setContextMissingStrategy, Subsegment, } from 'aws-xray-sdk-core'; +import { cleanupMiddlewares } from '@aws-lambda-powertools/commons/lib/middleware'; jest.spyOn(console, 'debug').mockImplementation(() => null); jest.spyOn(console, 'warn').mockImplementation(() => null); @@ -306,4 +306,66 @@ describe('Middy middleware', () => { 'hello-world' ); }); + + test('when enabled, and another middleware returns early, it still closes and restores the segments correctly', async () => { + // Prepare + const tracer = new Tracer(); + const setSegmentSpy = jest + .spyOn(tracer.provider, 'setSegment') + .mockImplementation(() => ({})); + jest.spyOn(tracer, 'annotateColdStart').mockImplementation(() => ({})); + jest + .spyOn(tracer, 'addServiceNameAnnotation') + .mockImplementation(() => ({})); + const facadeSegment1 = new Segment('facade'); + const handlerSubsegment1 = new Subsegment('## index.handlerA'); + jest + .spyOn(facadeSegment1, 'addNewSubsegment') + .mockImplementation(() => handlerSubsegment1); + const facadeSegment2 = new Segment('facade'); + const handlerSubsegment2 = new Subsegment('## index.handlerB'); + jest + .spyOn(facadeSegment2, 'addNewSubsegment') + .mockImplementation(() => handlerSubsegment2); + jest + .spyOn(tracer.provider, 'getSegment') + .mockImplementationOnce(() => facadeSegment1) + .mockImplementationOnce(() => facadeSegment2); + const myCustomMiddleware = (): middy.MiddlewareObj => { + const before = async ( + request: middy.Request + ): Promise => { + // Return early on the second invocation + if (request.event.idx === 1) { + // Cleanup Powertools resources + await cleanupMiddlewares(request); + + // Then return early + return 'foo'; + } + }; + + return { + before, + }; + }; + const handler = middy((): void => { + console.log('Hello world!'); + }) + .use(captureLambdaHandler(tracer, { captureResponse: false })) + .use(myCustomMiddleware()); + + // Act + await handler({ idx: 0 }, context); + await handler({ idx: 1 }, context); + + // Assess + // Check that the subsegments are closed + expect(handlerSubsegment1.isClosed()).toBe(true); + expect(handlerSubsegment2.isClosed()).toBe(true); + // Check that the segments are restored + expect(setSegmentSpy).toHaveBeenCalledTimes(4); + expect(setSegmentSpy).toHaveBeenNthCalledWith(2, facadeSegment1); + expect(setSegmentSpy).toHaveBeenNthCalledWith(4, facadeSegment2); + }); }); From 58b087713814f1c5f56a86aa815d04372e98ebd0 Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Thu, 22 Jun 2023 19:30:53 +0200 Subject: [PATCH 27/35] feat(metrics): publish metrics when other middlewares return early (#1546) --- packages/metrics/src/middleware/middy.ts | 15 ++++ .../tests/unit/middleware/middy.test.ts | 68 +++++++++++++------ 2 files changed, 62 insertions(+), 21 deletions(-) diff --git a/packages/metrics/src/middleware/middy.ts b/packages/metrics/src/middleware/middy.ts index b1a0313214..0da5c04828 100644 --- a/packages/metrics/src/middleware/middy.ts +++ b/packages/metrics/src/middleware/middy.ts @@ -1,3 +1,4 @@ +import { METRICS_KEY } from '@aws-lambda-powertools/commons/lib/middleware'; import type { Metrics } from '../Metrics'; import type { ExtraOptions } from '../types'; import type { @@ -38,6 +39,18 @@ const logMetrics = ( ): MiddlewareLikeObj => { const metricsInstances = target instanceof Array ? target : [target]; + /** + * Set the cleanup function to be called in case other middlewares return early. + * + * @param request - The request object + */ + const setCleanupFunction = (request: MiddyLikeRequest): void => { + request.internal = { + ...request.internal, + [METRICS_KEY]: logMetricsAfterOrError, + }; + }; + const logMetricsBefore = async (request: MiddyLikeRequest): Promise => { metricsInstances.forEach((metrics: Metrics) => { metrics.setFunctionName(request.context.functionName); @@ -53,6 +66,8 @@ const logMetrics = ( metrics.captureColdStartMetric(); } }); + + setCleanupFunction(request); }; const logMetricsAfterOrError = async (): Promise => { diff --git a/packages/metrics/tests/unit/middleware/middy.test.ts b/packages/metrics/tests/unit/middleware/middy.test.ts index 1b450bf102..fe2268a78a 100644 --- a/packages/metrics/tests/unit/middleware/middy.test.ts +++ b/packages/metrics/tests/unit/middleware/middy.test.ts @@ -11,6 +11,9 @@ import { } from '../../../../metrics/src'; import middy from '@middy/core'; import { ExtraOptions } from '../../../src/types'; +import { cleanupMiddlewares } from '@aws-lambda-powertools/commons/lib/middleware'; +import { helloworldContext as dummyContext } from '../../../../commons/src/samples/resources/contexts/hello-world'; +import { CustomEvent as dummyEvent } from '../../../../commons/src/samples/resources/events/custom/index'; const consoleSpy = jest.spyOn(console, 'log').mockImplementation(); const consoleWarnSpy = jest.spyOn(console, 'warn').mockImplementation(); @@ -18,27 +21,6 @@ const mockDate = new Date(1466424490000); jest.spyOn(global, 'Date').mockImplementation(() => mockDate); describe('Middy middleware', () => { - const dummyEvent = { - key1: 'value1', - key2: 'value2', - key3: 'value3', - }; - const dummyContext = { - callbackWaitsForEmptyEventLoop: true, - functionVersion: '$LATEST', - functionName: 'foo-bar-function', - memoryLimitInMB: '128', - logGroupName: '/aws/lambda/foo-bar-function-123456abcdef', - logStreamName: '2021/03/09/[$LATEST]abcdef123456abcdef123456abcdef123456', - invokedFunctionArn: - 'arn:aws:lambda:eu-west-1:123456789012:function:Example', - awsRequestId: 'c6af9ac6-7b61-11e6-9a41-93e812345678', - getRemainingTimeInMillis: () => 1234, - done: () => console.log('Done!'), - fail: () => console.log('Failed!'), - succeed: () => console.log('Succeeded!'), - }; - beforeEach(() => { jest.resetModules(); jest.clearAllMocks(); @@ -399,6 +381,50 @@ describe('Middy middleware', () => { }) ); }); + + test('when enabled, and another middleware returns early, it still publishes the metrics at the end of the execution', async () => { + // Prepare + const metrics = new Metrics({ + namespace: 'serverlessAirline', + serviceName: 'orders', + }); + const publishStoredMetricsSpy = jest.spyOn( + metrics, + 'publishStoredMetrics' + ); + const myCustomMiddleware = (): middy.MiddlewareObj => { + const before = async ( + request: middy.Request + ): Promise => { + // Return early on the second invocation + if (request.event.idx === 1) { + // Cleanup Powertools resources + await cleanupMiddlewares(request); + + // Then return early + return 'foo'; + } + }; + + return { + before, + }; + }; + const handler = middy( + (_event: typeof dummyEvent & { idx: number }): void => { + metrics.addMetric('successfulBooking', MetricUnits.Count, 1); + } + ) + .use(logMetrics(metrics)) + .use(myCustomMiddleware()); + + // Act + await handler({ ...dummyEvent, idx: 0 }, dummyContext); + await handler({ ...dummyEvent, idx: 1 }, dummyContext); + + // Assess + expect(publishStoredMetricsSpy).toBeCalledTimes(2); + }); }); describe('Metrics resolution', () => { test('serialized metrics in EMF format should not contain `StorageResolution` as key if `60` is set', async () => { From 9e1d19a9bc89d31bef851a615860c3b01bd9d77f Mon Sep 17 00:00:00 2001 From: Simon Thulbourn Date: Fri, 23 Jun 2023 10:59:09 +0200 Subject: [PATCH 28/35] fix(ci): change how versions and aliases are inserted into versions.json (#1549) * Update reusable-publish-docs.yml * remove . --- .github/workflows/reusable-publish-docs.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml index 47e70910fd..40ba195f16 100644 --- a/.github/workflows/reusable-publish-docs.yml +++ b/.github/workflows/reusable-publish-docs.yml @@ -136,14 +136,18 @@ jobs: # Operations: # 1. Download the versions.json file from S3 # 2. Find any reference to the alias and delete it from the versions file - # 3. We insert the new version to the versions.json file with the corresponding alias + # 3. This is voodoo (don't use JQ): + # - we assign the input as $o and the new version/alias as $n, + # - we check if the version number exists in the file already (for republishing docs) + # - if it's an alias (stage/latest/*) or old version, we do nothing and output $o (original input) + # - if it's a new version number, we add it at position 0 in the array. # 4. Once done, we'll upload it back to S3. run: | aws s3 cp \ s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/versions.json \ versions_old.json jq 'del(.[].aliases[] | select(. == "${{ env.ALIAS }}"))' < versions_old.json > versions_proc.json - jq '. += [{"version": "${{ env.VERSION }}", "title": "${{ env.VERSION }}", "aliases": ["${{ env.ALIAS }}"]}]' < versions_proc.json > versions.json + jq '. as $o | [{"title": "${{ env.VERSION }}", "version": ${{ env.VERSION }}, "aliases": ${{env.ALIAS}} }] as $n | $n | if .[0].title | test("[a-z]+") or any($o[].title == "${{ env.VERSION }}";.) then $o else $n + $o end' < versions_proc.json > versions.json aws s3 cp \ versions.json \ s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/versions.json From 4b390289fe51487bd980b1efaa38cc5f62898a89 Mon Sep 17 00:00:00 2001 From: Simon Thulbourn Date: Fri, 23 Jun 2023 11:03:15 +0200 Subject: [PATCH 29/35] chore(ci): remove GH pages (#1513) * fix: remove GH pages * remove push --------- Co-authored-by: Andrea Amorosi --- .github/workflows/reusable-publish-docs.yml | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml index 40ba195f16..34d94ed4b1 100644 --- a/.github/workflows/reusable-publish-docs.yml +++ b/.github/workflows/reusable-publish-docs.yml @@ -78,30 +78,13 @@ jobs: run: | rm -rf site mkdocs build - mike deploy --push --update-aliases --no-redirect ${{ env.VERSION }} ${{ env.ALIAS }} --branch backup-gh-pages + mike deploy --update-aliases --no-redirect ${{ env.VERSION }} ${{ env.ALIAS }} --branch backup-gh-pages # Set latest version as a default - mike set-default --push latest --branch backup-gh-pages + mike set-default latest --branch backup-gh-pages - name: Build API docs run: | rm -rf api npm run docs-generateApiDoc - - name: Release API docs - uses: peaceiris/actions-gh-pages@bd8c6b06eba6b3d25d72b7a1767993c0aeee42e7 # v3.9.2 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./api - keep_files: true - destination_dir: ${{ env.VERSION }}/api - publish_branch: 'backup-gh-pages' - - name: Release API docs to latest - if: ${{ inputs.alias == 'latest' }} - uses: peaceiris/actions-gh-pages@bd8c6b06eba6b3d25d72b7a1767993c0aeee42e7 # v3.9.2 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./api - keep_files: true - destination_dir: latest/api - publish_branch: 'backup-gh-pages' - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@e1e17a757e536f70e52b5a12b2e8d1d1c60e04ef # v2.0.0 with: From 349e612e1a46646ef05b11e0478094bf7f74a5cd Mon Sep 17 00:00:00 2001 From: Simon Thulbourn Date: Fri, 23 Jun 2023 11:10:16 +0200 Subject: [PATCH 30/35] fix: missing quotes --- .github/workflows/reusable-publish-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml index 34d94ed4b1..78bb4389eb 100644 --- a/.github/workflows/reusable-publish-docs.yml +++ b/.github/workflows/reusable-publish-docs.yml @@ -130,7 +130,7 @@ jobs: s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/versions.json \ versions_old.json jq 'del(.[].aliases[] | select(. == "${{ env.ALIAS }}"))' < versions_old.json > versions_proc.json - jq '. as $o | [{"title": "${{ env.VERSION }}", "version": ${{ env.VERSION }}, "aliases": ${{env.ALIAS}} }] as $n | $n | if .[0].title | test("[a-z]+") or any($o[].title == "${{ env.VERSION }}";.) then $o else $n + $o end' < versions_proc.json > versions.json + jq '. as $o | [{"title": "${{ env.VERSION }}", "version": "${{ env.VERSION }}", "aliases": ${{env.ALIAS}} }] as $n | $n | if .[0].title | test("[a-z]+") or any($o[].title == "${{ env.VERSION }}";.) then $o else $n + $o end' < versions_proc.json > versions.json aws s3 cp \ versions.json \ s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/versions.json From 67f5f14e612a56d94923aa3b33df7d2e6b46cc06 Mon Sep 17 00:00:00 2001 From: Simon Thulbourn Date: Fri, 23 Jun 2023 11:18:59 +0200 Subject: [PATCH 31/35] fix: missing quotes --- .github/workflows/reusable-publish-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml index 78bb4389eb..1c92e6fa3a 100644 --- a/.github/workflows/reusable-publish-docs.yml +++ b/.github/workflows/reusable-publish-docs.yml @@ -130,7 +130,7 @@ jobs: s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/versions.json \ versions_old.json jq 'del(.[].aliases[] | select(. == "${{ env.ALIAS }}"))' < versions_old.json > versions_proc.json - jq '. as $o | [{"title": "${{ env.VERSION }}", "version": "${{ env.VERSION }}", "aliases": ${{env.ALIAS}} }] as $n | $n | if .[0].title | test("[a-z]+") or any($o[].title == "${{ env.VERSION }}";.) then $o else $n + $o end' < versions_proc.json > versions.json + jq '. as $o | [{"title": "${{ env.VERSION }}", "version": "${{ env.VERSION }}", "aliases": "${{env.ALIAS}}" }] as $n | $n | if .[0].title | test("[a-z]+") or any($o[].title == "${{ env.VERSION }}";.) then $o else $n + $o end' < versions_proc.json > versions.json aws s3 cp \ versions.json \ s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-typescript/versions.json From 21013f521fe53f405ed4c50f0ff104ba62f3450d Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Fri, 23 Jun 2023 11:21:05 +0200 Subject: [PATCH 32/35] docs(parameters): refresh `README` for utility with usage examples (#1547) * docs(parameters): refresh README file with usage examples * docs: fix typos in dosc --- .../parameters/getParametersByName.ts | 7 +- ...etParametersByNameGracefulErrorHandling.ts | 4 +- docs/utilities/parameters.md | 2 +- packages/parameters/README.md | 211 ++++++++++++++---- 4 files changed, 180 insertions(+), 44 deletions(-) diff --git a/docs/snippets/parameters/getParametersByName.ts b/docs/snippets/parameters/getParametersByName.ts index 17679aedfb..fb65cb8d9a 100644 --- a/docs/snippets/parameters/getParametersByName.ts +++ b/docs/snippets/parameters/getParametersByName.ts @@ -1,10 +1,11 @@ +import { Transform } from '@aws-lambda-powertools/parameters'; import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm'; -import type { SSMGetParametersByNameOptionsInterface } from '@aws-lambda-powertools/parameters/ssm'; +import type { SSMGetParametersByNameOptions } from '@aws-lambda-powertools/parameters/ssm/types'; -const props: Record = { +const props: Record = { '/develop/service/commons/telemetry/config': { maxAge: 300, - transform: 'json', + transform: Transform.JSON, }, '/no_cache_param': { maxAge: 0 }, '/develop/service/payment/api/capture/url': {}, // When empty or undefined, it uses default values diff --git a/docs/snippets/parameters/getParametersByNameGracefulErrorHandling.ts b/docs/snippets/parameters/getParametersByNameGracefulErrorHandling.ts index a44a4e1db8..ecafab2288 100644 --- a/docs/snippets/parameters/getParametersByNameGracefulErrorHandling.ts +++ b/docs/snippets/parameters/getParametersByNameGracefulErrorHandling.ts @@ -1,7 +1,7 @@ import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm'; -import type { SSMGetParametersByNameOptionsInterface } from '@aws-lambda-powertools/parameters/ssm'; +import type { SSMGetParametersByNameOptions } from '@aws-lambda-powertools/parameters/ssm/types'; -const props: Record = { +const props: Record = { '/develop/service/commons/telemetry/config': { maxAge: 300, transform: 'json', diff --git a/docs/utilities/parameters.md b/docs/utilities/parameters.md index e312c9aed9..79a3fb2cfe 100644 --- a/docs/utilities/parameters.md +++ b/docs/utilities/parameters.md @@ -107,7 +107,7 @@ For multiple parameters, you can use either: ### Fetching secrets -You can fetch secrets stored in Secrets Manager using `getSecrets`. +You can fetch secrets stored in Secrets Manager using `getSecret`. ```typescript hl_lines="1 5" title="Fetching secrets" --8<-- "docs/snippets/parameters/getSecret.ts" diff --git a/packages/parameters/README.md b/packages/parameters/README.md index 89c4f70157..79a7984964 100644 --- a/packages/parameters/README.md +++ b/packages/parameters/README.md @@ -6,19 +6,16 @@ Powertools for AWS Lambda (TypeScript) is a developer toolkit to implement Serverless [best practices and increase developer velocity](https://docs.powertools.aws.dev/lambda-typescript/latest/#features). -You can use the library in both TypeScript and JavaScript code bases. - -> Also available in [Python](https://github.com/aws-powertools/powertools-lambda-python), [Java](https://github.com/aws-powertools/powertools-lambda-java), and [.NET](https://docs.powertools.aws.dev/lambda-dotnet/). - -**[Documentation](https://docs.powertools.aws.dev/lambda-typescript/)** | **[npm](https://www.npmjs.com/org/aws-lambda-powertools)** | **[Roadmap](https://docs.powertools.aws.dev/lambda-typescript/latest/roadmap)** | **[Examples](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples)** | **[Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo)** - -## Table of contents - -- [Features](#features) -- [Getting started](#getting-started) - - [Installation](#installation) - - [Examples](#examples) - - [Serverless TypeScript Demo application](#serverless-typescript-demo-application) +You can use the package in both TypeScript and JavaScript code bases. + +- [Intro](#intro) +- [Key features](#key-features) +- [Usage](#usage) + - [SSMProvider](#ssmprovider) + - [Fetching parameters](#fetching-parameters) + - [SecretsProvider](#secretsprovider) + - [DynamoDBProvider](#dynamodbprovider) + - [AppConfigProvider](#appconfigprovider) - [Contribute](#contribute) - [Roadmap](#roadmap) - [Connect](#connect) @@ -29,47 +26,185 @@ You can use the library in both TypeScript and JavaScript code bases. - [Credits](#credits) - [License](#license) -## Features +## Intro + +The Parameters utility provides high-level functions to retrieve one or multiple parameter values from [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html), [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html), [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html), [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html), or your own parameter store. + +## Key features + +* Retrieve one or multiple parameters from the underlying provider +* Cache parameter values for a given amount of time (defaults to 5 seconds) +* Transform parameter values from JSON or base64 encoded strings +* Bring Your Own Parameter Store Provider + +## Usage + +### SSMProvider + +To get started, install the library and the corresponding AWS SDK for JavaScript v3: + +```sh +npm install @aws-lambda-powertools/parameters @aws-sdk/client-ssm +``` + +Next, review the IAM permissions attached to your AWS Lambda function and make sure you allow the [actions detailed](https://docs.powertools.aws.dev/lambda-typescript/1.9.0/utilities/parameters/#iam-permissions) in the documentation of the utility. + +#### Fetching parameters + +You can retrieve a single parameter using the `getParameter` high-level function. + +```ts +import { getParameter } from '@aws-lambda-powertools/parameters/ssm'; + +export const handler = async (): Promise => { + // Retrieve a single parameter + const parameter = await getParameter('/my/parameter'); + console.log(parameter); +}; +``` + +For multiple parameters, you can use `getParameters` to recursively fetch all parameters under a path: + +```ts +import { getParameters } from '@aws-lambda-powertools/parameters/ssm'; + +export const handler = async (): Promise => { + /** + * Retrieve multiple parameters from a path prefix recursively. + * This returns an object with the parameter name as key + */ + const parameters = await getParameters('/my/path/prefix'); + for (const [key, value] of Object.entries(parameters || {})) { + console.log(`${key}: ${value}`); + } +}; +``` + +To fetch disctinct parameters using their full name, you can use the `getParametersByName` function: + +```ts +import { Transform } from '@aws-lambda-powertools/parameters'; +import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm'; +import type { SSMGetParametersByNameOptions } from '@aws-lambda-powertools/parameters/ssm/types'; + +const props: Record = { + '/develop/service/commons/telemetry/config': { + maxAge: 300, + transform: Transform.JSON, + }, + '/no_cache_param': { maxAge: 0 }, + '/develop/service/payment/api/capture/url': {}, // When empty or undefined, it uses default values +}; + +export const handler = async (): Promise => { + // This returns an object with the parameter name as key + const parameters = await getParametersByName(props, { maxAge: 60 }); + for (const [key, value] of Object.entries(parameters)) { + console.log(`${key}: ${value}`); + } +}; +``` + +Check the [docs](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/#fetching-parameters) for more examples, and [the advanced section](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/#advanced) for details about caching, transforms, customizing the underlying SDK, and more. + +### SecretsProvider + +To get started, install the library and the corresponding AWS SDK for JavaScript v3: + +```sh +npm install @aws-lambda-powertools/parameters @aws-sdk/client-secrets-manager +``` + +Next, review the IAM permissions attached to your AWS Lambda function and make sure you allow the [actions detailed](https://docs.powertools.aws.dev/lambda-typescript/1.9.0/utilities/parameters/#iam-permissions) in the documentation of the utility. + +You can fetch secrets stored in Secrets Manager using the `getSecret` function: + +```ts +import { getSecret } from '@aws-lambda-powertools/parameters/secrets'; -* **[Tracer](https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions -* **[Logger](https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context -* **[Metrics](https://docs.powertools.aws.dev/lambda-typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) -* **[Parameters (beta)](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM, Secrets Manager, AppConfig, and DynamoDB +export const handler = async (): Promise => { + // Retrieve a single secret + const secret = await getSecret('my-secret'); + console.log(secret); +}; +``` + +Check the [docs](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/#fetching-secrets) for more examples, and [the advanced section](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/#advanced) for details about caching, transforms, customizing the underlying SDK, and more. + +### DynamoDBProvider + +To get started, install the library and the corresponding AWS SDK for JavaScript v3: + +```sh +npm install @aws-lambda-powertools/parameters @aws-sdk/client-dynamodb @aws-sdk/util-dynamodb +``` -## Getting started +Next, review the IAM permissions attached to your AWS Lambda function and make sure you allow the [actions detailed](https://docs.powertools.aws.dev/lambda-typescript/1.9.0/utilities/parameters/#iam-permissions) in the documentation of the utility. -Find the complete project's [documentation here](https://docs.powertools.aws.dev/lambda-typescript). +You can retrieve a single parameter from DynamoDB using the `DynamoDBProvider.get()` method: -### Installation +```ts +import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb'; -The Powertools for AWS Lambda (TypeScript) utilities follow a modular approach, similar to the official [AWS SDK v3 for JavaScript](https://github.com/aws/aws-sdk-js-v3). -Each TypeScript utility is installed as standalone NPM package. +const dynamoDBProvider = new DynamoDBProvider({ tableName: 'my-table' }); -Install all three core utilities at once with this single command: +export const handler = async (): Promise => { + // Retrieve a value from DynamoDB + const value = await dynamoDBProvider.get('my-parameter'); + console.log(value); +}; +``` -```shell -npm install @aws-lambda-powertools/logger @aws-lambda-powertools/tracer @aws-lambda-powertools/metrics +For retrieving multiple parameters, you can use the `DynamoDBProvider.getMultiple()` method instead: + +```ts +import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb'; + +const dynamoDBProvider = new DynamoDBProvider({ tableName: 'my-table' }); + +export const handler = async (): Promise => { + /** + * Retrieve multiple values by performing a Query on the DynamoDB table. + * This returns a dict with the sort key attribute as dict key. + */ + const values = await dynamoDBProvider.getMultiple('my-hash-key'); + for (const [key, value] of Object.entries(values || {})) { + // key: param-a + // value: my-value-a + console.log(`${key}: ${value}`); + } +}; ``` -Or refer to the installation guide of each utility: +Check the [docs](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/#fetching-secrets) for more examples, and [the advanced section](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/#advanced) for details about caching, transforms, customizing the underlying SDK, and more. -👉 [Installation guide for the **Tracer** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/tracer#getting-started) -👉 [Installation guide for the **Logger** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/logger#getting-started) +### AppConfigProvider -👉 [Installation guide for the **Metrics** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/core/metrics#getting-started) +To get started, install the library and the corresponding AWS SDK for JavaScript v3: -👉 [Installation guide for the **Parameters** utility](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/#getting-started) +```sh +npm install @aws-lambda-powertools/parameters @aws-sdk/client-appconfigdata +``` -### Examples +Next, review the IAM permissions attached to your AWS Lambda function and make sure you allow the [actions detailed](https://docs.powertools.aws.dev/lambda-typescript/1.9.0/utilities/parameters/#iam-permissions) in the documentation of the utility. -* [CDK](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/cdk) -* [SAM](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples/sam) +You can fetch application configurations in AWS AppConfig using the `getAppConfig` function: -### Serverless TypeScript Demo application +```ts +import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig'; + +export const handler = async (): Promise => { + // Retrieve a configuration, latest version + const config = await getAppConfig('my-configuration', { + environment: 'my-env', + application: 'my-app', + }); + console.log(config); +}; +``` -The [Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo) shows how to use Powertools for AWS Lambda (TypeScript). -You can find instructions on how to deploy and load test this application in the [repository](https://github.com/aws-samples/serverless-typescript-demo). +Check the [docs](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/#fetching-app-configurations) for more examples, and [the advanced section](https://docs.powertools.aws.dev/lambda-typescript/latest/utilities/parameters/#advanced) for details about caching, transforms, customizing the underlying SDK, and more. ## Contribute @@ -77,7 +212,7 @@ If you are interested in contributing to this project, please refer to our [Cont ## Roadmap -The roadmap of Powertools for AWS Lambda (TypeScript) is driven by customers’ demand. +[The roadmap](https://docs.powertools.aws.dev/lambda-typescript/latest/roadmap/) of Powertools for AWS Lambda (TypeScript) is driven by customers’ demand. Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues), or [creating new ones](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new/choose), in this GitHub repository. ## Connect From fe6603111a86adb6aa7d0c70d8fcf2e8996d430c Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Fri, 23 Jun 2023 11:29:12 +0200 Subject: [PATCH 33/35] chore: update roadmap (#1531) * chore(docs): update roadmap * chore: add missing link * docs/roadmap.md * chore: remove correlation IDs for the time being --- MAINTAINERS.md | 33 +++++++++++++-------------------- docs/roadmap.md | 31 ++++++++++++++++++++----------- 2 files changed, 33 insertions(+), 31 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 24defac461..08f493336c 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -12,9 +12,9 @@ - [Triage New Issues](#triage-new-issues) - [Triage Bug Reports](#triage-bug-reports) - [Triage RFCs](#triage-rfcs) + - [Run end to end tests](#run-end-to-end-tests) - [Releasing a new version](#releasing-a-new-version) - [Drafting release notes](#drafting-release-notes) - - [Run end to end tests](#run-end-to-end-tests) - [Releasing a documentation hotfix](#releasing-a-documentation-hotfix) - [Maintain Overall Health of the Repo](#maintain-overall-health-of-the-repo) - [Manage Roadmap](#manage-roadmap) @@ -28,7 +28,6 @@ - [Is that a bug?](#is-that-a-bug) - [Mentoring contributions](#mentoring-contributions) - [Long running issues or PRs](#long-running-issues-or-prs) -- [E2E framework](#e2e-framework) - [Automation](#automation) ## Overview @@ -42,7 +41,6 @@ This is document explains who the maintainers are (see below), what they do in t | Maintainer | GitHub ID | Affiliation | | ------------------ | ------------------------------------------- | ----------- | | Andrea Amorosi | [dreamorosi](https://github.com/dreamorosi) | Amazon | -| Sara Gerion | [saragerion](https://github.com/saragerion) | Amazon | | Alexander Schueren | [am29d](https://github.com/am29d) | Amazon | ## Emeritus @@ -51,6 +49,7 @@ Previous active maintainers who contributed to this project. | Maintainer | GitHub ID | Affiliation | | -------------------------- | --------------------------------------------- | ----------- | +| Sara Gerion | [saragerion](https://github.com/saragerion) | Amazon | | Florian Chazal | [flochaz](https://github.com/flochaz) | Amazon | | Chadchapol Vittavutkarnvej | [ijemmy](https://github.com/ijemmy) | Booking.com | | Alan Churley | [alan-churley](alan-churley) | CloudCall | @@ -151,7 +150,7 @@ This allows you to have control over the commit message although it should match Manage [labels](#labels), review issues regularly, and create new labels as needed by the project. Remove `triage` label when you're able to confirm the validity of a request, a bug can be reproduced, etc. Give priority to the original author for implementation, unless it is a sensitive task that is best handled by maintainers. -Make sure issues are assigned to our [board of activities](https://github.com/orgs/awslabs/projects/76/) and have the right [status](https://docs.powertools.aws.dev/lambda-typescript/latest/roadmap/#roadmap-status-definition). +Make sure issues are assigned to our [board of activities](https://github.com/orgs/aws-powertools/projects/7) and have the right [status](https://docs.powertools.aws.dev/lambda-typescript/latest/roadmap/#roadmap-status-definition). Use our [labels](#labels) to signal good first issues to new community members, and to set expectation that this might need additional feedback from the author, other customers, experienced community members and/or maintainers. @@ -188,6 +187,12 @@ When necessary, be upfront that the time to review, approve, and implement a RFC An example of a successful RFC: [#447](https://github.com/aws-powertools/powertools-lambda-typescript/issues/447) +### Run end to end tests + +E2E tests should be ran before every merge to `main` or manually via [run-e2e-tests workflow](https://github.com/aws-powertools/powertools-lambda-typescript/actions/workflows/run-e2e-tests.yml) before making a release. + +To run locally, you need [AWS CDK CLI](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_prerequisites) and an [account bootstrapped](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) (`cdk bootstrap`). With a default AWS CLI profile configured, or `AWS_PROFILE` environment variable set, run `npm run test:e2e -ws`. For more information on how the tests are structured, see [Integration Tests](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/CONTRIBUTING.md#integration-tests). + ### Releasing a new version 🚧 WIP 🚧 @@ -200,10 +205,6 @@ Make sure the `tag` field reflects the new version you're releasing, the target You'll notice we group all changes based on their [labels](#labels) like `type/feature`, `type/bug`, `type/documentation`, etc. -**I spotted a typo or incorrect grouping - how do I fix it?** - -Edit the respective PR title and update their [labels](#labels). Then run the [Release Drafter workflow](https://github.com/aws-powertools/powertools-lambda-typescript/actions/workflows/release-drafter.yml) to update the Draft release. - **All looking good, what's next?** The best part comes now. Replace the placeholder `[Human readable summary of changes]` with what you'd like to communicate to customers what this release is all about. Rule of thumb: always put yourself in the customers shoes. @@ -218,17 +219,13 @@ These are some questions to keep in mind when drafting your first or future rele Once you're happy, hit `Publish release` 🎉🎉🎉. -This will kick off the [Publish docs on release](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/.github/workflows/publish-docs-on-release.yml) workflow and within a few minutes you should see the latest version in PyPi, and all issues labeled as `pending-release` will be closed and notified. - -### Run end to end tests - -E2E tests should be ran before every merge to `main` or manually via [run-e2e-tests workflow](https://github.com/aws-powertools/powertools-lambda-typescript/actions/workflows/run-e2e-tests.yml) before making a release. - -To run locally, you need [AWS CDK CLI](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_prerequisites) and an [account bootstrapped](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) (`cdk bootstrap`). With a default AWS CLI profile configured, or `AWS_PROFILE` environment variable set, run `npm run test:e2e -ws`. +This will kick off the [Publish docs on release](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/.github/workflows/publish-docs-on-release.yml) workflow that will will notify all the issues labeled as `status/pending-release` of the new release. ### Releasing a documentation hotfix -You can rebuild the latest documentation without a full release via this [GitHub Actions Workflow](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/.github/workflows/publish-docs-on-release.yml). Choose `Run workflow`, keep `main` as the branch, and input the latest Powertools for AWS Lambda (TypeScript) version available i.e. `v1.4.1`. +You can rebuild the latest documentation without a full release via this [GitHub Actions Workflow](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/.github/workflows/rebuild-latest-docs.yml). + +Choose `Run workflow`, keep `main` as the branch, and input the latest Powertools for AWS Lambda (TypeScript) version available i.e. `v1.4.1`. This workflow will update both user guide and API documentation. @@ -296,10 +293,6 @@ Try offering a 1:1 call in the attempt to get to a mutual understanding and clar In the rare cases where both parties don't have the bandwidth or expertise to continue, it's best to use the `status/on-hold` label. By then, see if it's possible to break the PR or issue in smaller chunks, and eventually close if there is no progress. -## E2E framework - -🚧 WIP 🚧 - ## Automation 🚧 WIP 🚧 diff --git a/docs/roadmap.md b/docs/roadmap.md index 45d679ad8c..6d8788622e 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -1,8 +1,8 @@ ## Overview -This is our public roadmap that outlines the high level direction we are working towards, namely [Themes](#themes). We update this document when our priorities change: security and stability is our top priority. +This is our public roadmap that outlines the high level direction we are working towards, namely [Themes](#themes). We update this document when our priorities change, however security and stability is always our top priority. -[See our latest list of activities »](https://github.com/orgs/awslabs/projects/76/views/2){target="_blank"} +[See our latest list of activities »](https://github.com/orgs/aws-powertools/projects/7){target="_blank"} ## Themes @@ -10,21 +10,30 @@ This is our public roadmap that outlines the high level direction we are working Themes are key activities maintainers are focusing on, besides bug reports. These are updated periodically and you can get an idea of the overall progress in the [Milestones section](https://github.com/aws-powertools/powertools-lambda-typescript/milestones){target="_blank"}. -### New utilities +### Feature Parity -After going GA, we want to start working on new utilities, specifically but not limited to the most commonly asked: **(1)** [Idempotency](https://github.com/aws-powertools/powertools-lambda-typescript/issues/447) and **(2)** [Parameters](https://github.com/aws-powertools/powertools-lambda-typescript/issues/846). +We want to close the gap between this version of Powertools for AWS Lambda and the [Python version](https://github.com/aws-powertools/powertools-lambda-python). This means that in the fullness of time, we want to have the same or equivalent features in both versions. -### Lambda Layers +In the first half of 2023 we have released the [Parameters utility](https://github.com/aws-powertools/powertools-lambda-typescript/milestone/10), and are working on Idempotency. We are currently running a private beta for Idempotency, and plan on releasing the [public beta around July 2023](https://github.com/aws-powertools/powertools-lambda-typescript/milestone/7) at the latest. -We want to publish and maintain public Lambda Layers. +For the second half of 2023, we are considering implementing one or more of the following utilities (in no particular order): +- Batch Processing (Status: [RFC](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1082)) +- Validation (Status: [RFC](https://github.com/aws-powertools/powertools-lambda-typescript/issues/508)) +- Parser (Status: [RFC](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1334)) +- Event Handler (Status: [RFC](https://github.com/aws-powertools/powertools-lambda-typescript/issues/413)) -Work on this area is mostly complete and layers are already available in all commercial regions, however we still have some [work to do around automation](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1124). +If any of these utilities are important to you, please let us know by upvoting the issue, leaving a comment under the RFCs, or by joining the discussion in our [Discord community](https://discord.gg/B8zZKbbyET){target="_blank"}. -### ES Modules support +### Version 2 release -Another one of the most requested features is [ES Modules support](https://github.com/aws-powertools/powertools-lambda-typescript/issues/521). This topic requires some in-depth investigation to understand how to move forward and how to deal with some of our upstream dependencies. +Over the past year, we have gathered a number of feature requests and improvements that we want to implement but that are not backwards compatible with the current API surface. We are planning to release a new major version of the library by the end of 2023, which will include some of these changes. -When the time comes, we might open a RFC to discuss options. +The following are some of the changes we are considering: +- **ES Modules support ([#521](https://github.com/aws-powertools/powertools-lambda-typescript/issues/521))** - Thanks to the work of the community we have been able to validate the feasibility of dual support for CommonJS and ES Modules. We are currently working on a plan to implement this. +- **TypeScript 5.x support ([#1375](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1375))** - This new version of TypeScript brings breaking changes to the experimental decorators API, which we use in our core utilities. We need to investigate the impact of this change and how to best support it. +- **Support for 3rd party observability providers ([#1500](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1500))** - Many of our customers would like to use Powertools for AWS to send logs, traces, and metrics to providers other than Amazon CloudWatch. At the moment we are investigating the feasibility of this for the Logger utility, while the Python version of Powertools for AWS Lambda is considering this also for Tracer and Metrics. + +We have not yet decided on the final list of features that will be included in this release, if you have any suggestions please let us know by commenting on [this discussion](https://github.com/aws-powertools/powertools-lambda-typescript/discussions/1269) or upvoting existing suggestions. ### Improve operational excellence @@ -42,7 +51,7 @@ graph LR Visual representation -Within our [public board](https://github.com/orgs/awslabs/projects/76/views/3){target="_blank"}, you'll see the following values in the `Status` column: +Within our [public board](https://github.com/orgs/aws-powertools/projects/7){target="_blank"}, you'll see the following values in the `Status` column: * **Ideas**. Incoming and existing feature requests that are not being actively considered yet. These will be reviewed when bandwidth permits and based on demand. * **Backlog**. Accepted feature requests or enhancements that we want to work on. From 24c247c39c0ac29774ac3fcf09902916f3936e1e Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Fri, 23 Jun 2023 11:31:52 +0200 Subject: [PATCH 34/35] fix(metrics): flush metrics when data points array reaches max size (#1548) * test: added failing test * fix(metrics): flush metrics when values array reaches max size --- packages/metrics/src/Metrics.ts | 9 ++++++- packages/metrics/src/constants.ts | 17 +++++++++--- packages/metrics/tests/unit/Metrics.test.ts | 29 +++++++++++++++++++++ 3 files changed, 50 insertions(+), 5 deletions(-) diff --git a/packages/metrics/src/Metrics.ts b/packages/metrics/src/Metrics.ts index 168fa255c3..0a236db877 100644 --- a/packages/metrics/src/Metrics.ts +++ b/packages/metrics/src/Metrics.ts @@ -7,6 +7,7 @@ import { MAX_METRICS_SIZE, DEFAULT_NAMESPACE, COLD_START_METRIC, + MAX_METRIC_VALUES_SIZE, } from './constants'; import { MetricsOptions, @@ -662,7 +663,10 @@ class Metrics extends Utility implements MetricsInterface { } /** - * Stores a metric in the buffer + * Stores a metric in the buffer. + * + * If the buffer is full, or the metric reaches the maximum number of values, + * the buffer is published to stdout. * * @param name The name of the metric to store * @param unit The unit of the metric to store @@ -692,6 +696,9 @@ class Metrics extends Utility implements MetricsInterface { storedMetric.value = [storedMetric.value]; } storedMetric.value.push(value); + if (storedMetric.value.length === MAX_METRIC_VALUES_SIZE) { + this.publishStoredMetrics(); + } } } } diff --git a/packages/metrics/src/constants.ts b/packages/metrics/src/constants.ts index 0dcf9ff255..5cdbf6a955 100644 --- a/packages/metrics/src/constants.ts +++ b/packages/metrics/src/constants.ts @@ -1,4 +1,13 @@ -export const COLD_START_METRIC = 'ColdStart'; -export const DEFAULT_NAMESPACE = 'default_namespace'; -export const MAX_METRICS_SIZE = 100; -export const MAX_DIMENSION_COUNT = 29; +const COLD_START_METRIC = 'ColdStart'; +const DEFAULT_NAMESPACE = 'default_namespace'; +const MAX_METRICS_SIZE = 100; +const MAX_METRIC_VALUES_SIZE = 100; +const MAX_DIMENSION_COUNT = 29; + +export { + COLD_START_METRIC, + DEFAULT_NAMESPACE, + MAX_METRICS_SIZE, + MAX_METRIC_VALUES_SIZE, + MAX_DIMENSION_COUNT, +}; diff --git a/packages/metrics/tests/unit/Metrics.test.ts b/packages/metrics/tests/unit/Metrics.test.ts index b0f41073bf..42c5f2ded8 100644 --- a/packages/metrics/tests/unit/Metrics.test.ts +++ b/packages/metrics/tests/unit/Metrics.test.ts @@ -16,6 +16,7 @@ import { DEFAULT_NAMESPACE, MAX_DIMENSION_COUNT, MAX_METRICS_SIZE, + MAX_METRIC_VALUES_SIZE, } from '../../src/constants'; import { setupDecoratorLambdaHandler } from '../helpers/metricsUtils'; import { @@ -701,6 +702,34 @@ describe('Class: Metrics', () => { ); }); + test('it should publish metrics when the array of values reaches the maximum size', () => { + // Prepare + const metrics: Metrics = new Metrics({ namespace: TEST_NAMESPACE }); + const consoleSpy = jest.spyOn(console, 'log'); + const metricName = 'test-metric'; + + // Act + for (let i = 0; i <= MAX_METRIC_VALUES_SIZE; i++) { + metrics.addMetric(`${metricName}`, MetricUnits.Count, i); + } + metrics.publishStoredMetrics(); + + // Assess + // 2 calls to console.log: 1 for the first batch of metrics, 1 for the second batch (explicit call) + expect(consoleSpy).toHaveBeenCalledTimes(2); + const firstMetricsJson = JSON.parse( + consoleSpy.mock.calls[0][0] + ) as EmfOutput; + const secondMetricsJson = JSON.parse( + consoleSpy.mock.calls[1][0] + ) as EmfOutput; + + // The first batch of values should be an array of size MAX_METRIC_VALUES_SIZE + expect(firstMetricsJson[metricName]).toHaveLength(MAX_METRIC_VALUES_SIZE); + // The second should be a single value (the last value added, which is 100 given we start from 0) + expect(secondMetricsJson[metricName]).toEqual(100); + }); + test('it should not publish metrics if stored metrics count has not reached max metric size threshold', () => { // Prepare const metrics: Metrics = new Metrics({ namespace: TEST_NAMESPACE }); From 40b1b68ded1351ed3f742b3ddc6d8d75a8b03360 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 23 Jun 2023 10:43:11 +0000 Subject: [PATCH 35/35] chore(release): v1.10.0 [skip ci] --- CHANGELOG.md | 20 ++++++++++++++++ examples/cdk/CHANGELOG.md | 4 ++++ examples/cdk/package.json | 8 +++---- examples/sam/CHANGELOG.md | 4 ++++ examples/sam/package.json | 8 +++---- layers/CHANGELOG.md | 4 ++++ layers/package.json | 2 +- lerna.json | 2 +- package-lock.json | 40 +++++++++++++++---------------- packages/commons/CHANGELOG.md | 10 ++++++++ packages/commons/package.json | 2 +- packages/idempotency/CHANGELOG.md | 12 ++++++++++ packages/idempotency/package.json | 4 ++-- packages/logger/CHANGELOG.md | 10 ++++++++ packages/logger/package.json | 6 ++--- packages/metrics/CHANGELOG.md | 10 ++++++++ packages/metrics/package.json | 4 ++-- packages/parameters/CHANGELOG.md | 6 +++++ packages/parameters/package.json | 6 ++--- packages/tracer/CHANGELOG.md | 10 ++++++++ packages/tracer/package.json | 4 ++-- 21 files changed, 133 insertions(+), 43 deletions(-) create mode 100644 packages/idempotency/CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 1778d0e1b0..3cca5de210 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.10.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.9.0...v1.10.0) (2023-06-23) + +### Bug Fixes + +- **ci:** change how versions and aliases are inserted into versions.json ([#1549](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1549)) ([9e1d19a](https://github.com/aws-powertools/powertools-lambda-typescript/commit/9e1d19a9bc89d31bef851a615860c3b01bd9d77f)) +- **idempotency:** pass lambda context remaining time to save inprogress ([#1540](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1540)) ([d47c3ec](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d47c3ec64d926d49f3799f361d54a11627d16cc1)) +- **idempotency:** record validation not using hash ([#1502](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1502)) ([f475bd0](https://github.com/aws-powertools/powertools-lambda-typescript/commit/f475bd097b64f009c329c023a2dd7c7e9371270a)) +- **idempotency:** skip persistence for optional idempotency key ([#1507](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1507)) ([b9fcef6](https://github.com/aws-powertools/powertools-lambda-typescript/commit/b9fcef66eb4bd9a7ad1eeac5f5db2cdbccc70c71)) +- **metrics:** flush metrics when data points array reaches max size ([#1548](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1548)) ([24c247c](https://github.com/aws-powertools/powertools-lambda-typescript/commit/24c247c39c0ac29774ac3fcf09902916f3936e1e)) +- missing quotes ([67f5f14](https://github.com/aws-powertools/powertools-lambda-typescript/commit/67f5f14e612a56d94923aa3b33df7d2e6b46cc06)) +- missing quotes ([349e612](https://github.com/aws-powertools/powertools-lambda-typescript/commit/349e612e1a46646ef05b11e0478094bf7f74a5cd)) +- update reference in workflow ([#1518](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1518)) ([9c75f9a](https://github.com/aws-powertools/powertools-lambda-typescript/commit/9c75f9a8a0b2fc4b24bbd37fdb00620d06903283)) + +### Features + +- **logger:** clear state when other middlewares return early ([#1544](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1544)) ([d5f3f13](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d5f3f13ccd7aae1bbc59431741e8aaf042dd2a73)) +- **metrics:** publish metrics when other middlewares return early ([#1546](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1546)) ([58b0877](https://github.com/aws-powertools/powertools-lambda-typescript/commit/58b087713814f1c5f56a86aa815d04372e98ebd0)) +- **parameters:** review types and exports ([#1528](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1528)) ([6f96711](https://github.com/aws-powertools/powertools-lambda-typescript/commit/6f96711625e212898b1c227c651beba7e709c9d1)) +- **tracer:** close & restore segments when other middlewares return ([#1545](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1545)) ([74ddb09](https://github.com/aws-powertools/powertools-lambda-typescript/commit/74ddb09a3107d9f45f34ccda1e691a9504578c2d)) + # [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) ### Features diff --git a/examples/cdk/CHANGELOG.md b/examples/cdk/CHANGELOG.md index 2db47169de..3ebb386921 100644 --- a/examples/cdk/CHANGELOG.md +++ b/examples/cdk/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.10.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.9.0...v1.10.0) (2023-06-23) + +**Note:** Version bump only for package cdk-sample + # [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) **Note:** Version bump only for package cdk-sample diff --git a/examples/cdk/package.json b/examples/cdk/package.json index 4361582896..6ca74f1f32 100644 --- a/examples/cdk/package.json +++ b/examples/cdk/package.json @@ -1,6 +1,6 @@ { "name": "cdk-sample", - "version": "1.9.0", + "version": "1.10.0", "author": { "name": "Amazon Web Services", "url": "https://aws.amazon.com" @@ -25,9 +25,9 @@ "*.js": "npm run lint-fix" }, "devDependencies": { - "@aws-lambda-powertools/logger": "^1.9.0", - "@aws-lambda-powertools/metrics": "^1.9.0", - "@aws-lambda-powertools/tracer": "^1.9.0", + "@aws-lambda-powertools/logger": "^1.10.0", + "@aws-lambda-powertools/metrics": "^1.10.0", + "@aws-lambda-powertools/tracer": "^1.10.0", "@aws-sdk/lib-dynamodb": "^3.231.0", "@types/aws-lambda": "^8.10.109", "@types/jest": "^29.2.4", diff --git a/examples/sam/CHANGELOG.md b/examples/sam/CHANGELOG.md index e88bde7ee7..cc94693ed0 100644 --- a/examples/sam/CHANGELOG.md +++ b/examples/sam/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.10.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.9.0...v1.10.0) (2023-06-23) + +**Note:** Version bump only for package sam-example + # [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) **Note:** Version bump only for package sam-example diff --git a/examples/sam/package.json b/examples/sam/package.json index 1ca30cb269..426bec3fb0 100644 --- a/examples/sam/package.json +++ b/examples/sam/package.json @@ -1,6 +1,6 @@ { "name": "sam-example", - "version": "1.9.0", + "version": "1.10.0", "author": { "name": "Amazon Web Services", "url": "https://aws.amazon.com" @@ -37,9 +37,9 @@ "typescript": "^4.9.4" }, "dependencies": { - "@aws-lambda-powertools/logger": "^1.9.0", - "@aws-lambda-powertools/metrics": "^1.9.0", - "@aws-lambda-powertools/tracer": "^1.9.0", + "@aws-lambda-powertools/logger": "^1.10.0", + "@aws-lambda-powertools/metrics": "^1.10.0", + "@aws-lambda-powertools/tracer": "^1.10.0", "@aws-sdk/client-dynamodb": "^3.231.0", "@aws-sdk/lib-dynamodb": "^3.231.0", "@middy/core": "^3.6.2", diff --git a/layers/CHANGELOG.md b/layers/CHANGELOG.md index 53767b4e08..2f375aa505 100644 --- a/layers/CHANGELOG.md +++ b/layers/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.10.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.9.0...v1.10.0) (2023-06-23) + +**Note:** Version bump only for package layers + # [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) **Note:** Version bump only for package layers diff --git a/layers/package.json b/layers/package.json index 47e28a625b..8b88fc0e02 100644 --- a/layers/package.json +++ b/layers/package.json @@ -1,6 +1,6 @@ { "name": "layers", - "version": "1.9.0", + "version": "1.10.0", "bin": { "layer": "bin/layers.js" }, diff --git a/lerna.json b/lerna.json index 72aab7321d..19e7bf9d05 100644 --- a/lerna.json +++ b/lerna.json @@ -10,7 +10,7 @@ "examples/sam", "layers" ], - "version": "1.9.0", + "version": "1.10.0", "npmClient": "npm", "message": "chore(release): %s [skip ci]" } diff --git a/package-lock.json b/package-lock.json index 259bef809a..fd6e4550dc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -91,7 +91,7 @@ }, "examples/cdk": { "name": "cdk-sample", - "version": "1.9.0", + "version": "1.10.0", "license": "MIT-0", "dependencies": { "@middy/core": "^3.6.2", @@ -104,9 +104,9 @@ "cdk-app": "bin/cdk-app.js" }, "devDependencies": { - "@aws-lambda-powertools/logger": "^1.9.0", - "@aws-lambda-powertools/metrics": "^1.9.0", - "@aws-lambda-powertools/tracer": "^1.9.0", + "@aws-lambda-powertools/logger": "^1.10.0", + "@aws-lambda-powertools/metrics": "^1.10.0", + "@aws-lambda-powertools/tracer": "^1.10.0", "@aws-sdk/lib-dynamodb": "^3.231.0", "@types/aws-lambda": "^8.10.109", "@types/jest": "^29.2.4", @@ -141,12 +141,12 @@ }, "examples/sam": { "name": "sam-example", - "version": "1.9.0", + "version": "1.10.0", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/logger": "^1.9.0", - "@aws-lambda-powertools/metrics": "^1.9.0", - "@aws-lambda-powertools/tracer": "^1.9.0", + "@aws-lambda-powertools/logger": "^1.10.0", + "@aws-lambda-powertools/metrics": "^1.10.0", + "@aws-lambda-powertools/tracer": "^1.10.0", "@aws-sdk/client-dynamodb": "^3.231.0", "@aws-sdk/lib-dynamodb": "^3.231.0", "@middy/core": "^3.6.2", @@ -176,7 +176,7 @@ "dev": true }, "layers": { - "version": "1.9.0", + "version": "1.10.0", "license": "MIT-0", "bin": { "layer": "bin/layers.js" @@ -17923,7 +17923,7 @@ }, "packages/commons": { "name": "@aws-lambda-powertools/commons", - "version": "1.9.0", + "version": "1.10.0", "license": "MIT-0", "devDependencies": { "@aws-sdk/client-lambda": "^3.310.0", @@ -17944,10 +17944,10 @@ }, "packages/idempotency": { "name": "@aws-lambda-powertools/idempotency", - "version": "1.9.0", + "version": "1.10.0", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^1.9.0", + "@aws-lambda-powertools/commons": "^1.10.0", "@aws-sdk/lib-dynamodb": "^3.231.0", "jmespath": "^0.16.0" }, @@ -17960,10 +17960,10 @@ }, "packages/logger": { "name": "@aws-lambda-powertools/logger", - "version": "1.9.0", + "version": "1.10.0", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^1.9.0", + "@aws-lambda-powertools/commons": "^1.10.0", "lodash.merge": "^4.6.2" }, "devDependencies": { @@ -17972,10 +17972,10 @@ }, "packages/metrics": { "name": "@aws-lambda-powertools/metrics", - "version": "1.9.0", + "version": "1.10.0", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^1.9.0" + "@aws-lambda-powertools/commons": "^1.10.0" }, "devDependencies": { "@aws-sdk/client-cloudwatch": "^3.316.0", @@ -17985,10 +17985,10 @@ }, "packages/parameters": { "name": "@aws-lambda-powertools/parameters", - "version": "1.9.0", + "version": "1.10.0", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^1.9.0", + "@aws-lambda-powertools/commons": "^1.10.0", "@aws-sdk/util-base64-node": "^3.209.0" }, "devDependencies": { @@ -18014,10 +18014,10 @@ }, "packages/tracer": { "name": "@aws-lambda-powertools/tracer", - "version": "1.9.0", + "version": "1.10.0", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^1.9.0", + "@aws-lambda-powertools/commons": "^1.10.0", "aws-xray-sdk-core": "^3.4.1" }, "devDependencies": { diff --git a/packages/commons/CHANGELOG.md b/packages/commons/CHANGELOG.md index c8387dc4a4..e96f3be1dc 100644 --- a/packages/commons/CHANGELOG.md +++ b/packages/commons/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.10.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.9.0...v1.10.0) (2023-06-23) + +### Bug Fixes + +- **idempotency:** skip persistence for optional idempotency key ([#1507](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1507)) ([b9fcef6](https://github.com/aws-powertools/powertools-lambda-typescript/commit/b9fcef66eb4bd9a7ad1eeac5f5db2cdbccc70c71)) + +### Features + +- **parameters:** review types and exports ([#1528](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1528)) ([6f96711](https://github.com/aws-powertools/powertools-lambda-typescript/commit/6f96711625e212898b1c227c651beba7e709c9d1)) + # [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) ### Features diff --git a/packages/commons/package.json b/packages/commons/package.json index d4f71096ad..0b5af896ff 100644 --- a/packages/commons/package.json +++ b/packages/commons/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/commons", - "version": "1.9.0", + "version": "1.10.0", "description": "A shared utility package for Powertools for AWS Lambda (TypeScript) libraries", "author": { "name": "Amazon Web Services", diff --git a/packages/idempotency/CHANGELOG.md b/packages/idempotency/CHANGELOG.md new file mode 100644 index 0000000000..d8543aa427 --- /dev/null +++ b/packages/idempotency/CHANGELOG.md @@ -0,0 +1,12 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# [1.10.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.9.0...v1.10.0) (2023-06-23) + +### Bug Fixes + +- **idempotency:** pass lambda context remaining time to save inprogress ([#1540](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1540)) ([d47c3ec](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d47c3ec64d926d49f3799f361d54a11627d16cc1)) +- **idempotency:** record validation not using hash ([#1502](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1502)) ([f475bd0](https://github.com/aws-powertools/powertools-lambda-typescript/commit/f475bd097b64f009c329c023a2dd7c7e9371270a)) +- **idempotency:** skip persistence for optional idempotency key ([#1507](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1507)) ([b9fcef6](https://github.com/aws-powertools/powertools-lambda-typescript/commit/b9fcef66eb4bd9a7ad1eeac5f5db2cdbccc70c71)) diff --git a/packages/idempotency/package.json b/packages/idempotency/package.json index 10886714be..cebdebf213 100644 --- a/packages/idempotency/package.json +++ b/packages/idempotency/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/idempotency", - "version": "1.9.0", + "version": "1.10.0", "description": "The idempotency package for the Powertools for AWS Lambda (TypeScript) library. It provides options to make your Lambda functions idempotent and safe to retry.", "author": { "name": "Amazon Web Services", @@ -78,7 +78,7 @@ "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, "dependencies": { - "@aws-lambda-powertools/commons": "^1.9.0", + "@aws-lambda-powertools/commons": "^1.10.0", "@aws-sdk/lib-dynamodb": "^3.231.0", "jmespath": "^0.16.0" }, diff --git a/packages/logger/CHANGELOG.md b/packages/logger/CHANGELOG.md index 48f60c66cc..a6b18d05b3 100644 --- a/packages/logger/CHANGELOG.md +++ b/packages/logger/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.10.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.9.0...v1.10.0) (2023-06-23) + +### Bug Fixes + +- **idempotency:** skip persistence for optional idempotency key ([#1507](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1507)) ([b9fcef6](https://github.com/aws-powertools/powertools-lambda-typescript/commit/b9fcef66eb4bd9a7ad1eeac5f5db2cdbccc70c71)) + +### Features + +- **logger:** clear state when other middlewares return early ([#1544](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1544)) ([d5f3f13](https://github.com/aws-powertools/powertools-lambda-typescript/commit/d5f3f13ccd7aae1bbc59431741e8aaf042dd2a73)) + # [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) ### Features diff --git a/packages/logger/package.json b/packages/logger/package.json index 7b7973429d..191b856752 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/logger", - "version": "1.9.0", + "version": "1.10.0", "description": "The logging package for the Powertools for AWS Lambda (TypeScript) library", "author": { "name": "Amazon Web Services", @@ -45,7 +45,7 @@ "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, "dependencies": { - "@aws-lambda-powertools/commons": "^1.9.0", + "@aws-lambda-powertools/commons": "^1.10.0", "lodash.merge": "^4.6.2" }, "keywords": [ @@ -57,4 +57,4 @@ "serverless", "nodejs" ] -} \ No newline at end of file +} diff --git a/packages/metrics/CHANGELOG.md b/packages/metrics/CHANGELOG.md index 62712cf90e..7215f9eafe 100644 --- a/packages/metrics/CHANGELOG.md +++ b/packages/metrics/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.10.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.9.0...v1.10.0) (2023-06-23) + +### Bug Fixes + +- **metrics:** flush metrics when data points array reaches max size ([#1548](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1548)) ([24c247c](https://github.com/aws-powertools/powertools-lambda-typescript/commit/24c247c39c0ac29774ac3fcf09902916f3936e1e)) + +### Features + +- **metrics:** publish metrics when other middlewares return early ([#1546](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1546)) ([58b0877](https://github.com/aws-powertools/powertools-lambda-typescript/commit/58b087713814f1c5f56a86aa815d04372e98ebd0)) + # [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) **Note:** Version bump only for package @aws-lambda-powertools/metrics diff --git a/packages/metrics/package.json b/packages/metrics/package.json index 767158c707..119d05658d 100644 --- a/packages/metrics/package.json +++ b/packages/metrics/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/metrics", - "version": "1.9.0", + "version": "1.10.0", "description": "The metrics package for the Powertools for AWS Lambda (TypeScript) library", "author": { "name": "Amazon Web Services", @@ -47,7 +47,7 @@ "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, "dependencies": { - "@aws-lambda-powertools/commons": "^1.9.0" + "@aws-lambda-powertools/commons": "^1.10.0" }, "keywords": [ "aws", diff --git a/packages/parameters/CHANGELOG.md b/packages/parameters/CHANGELOG.md index 335d4cf257..576ec79239 100644 --- a/packages/parameters/CHANGELOG.md +++ b/packages/parameters/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.10.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.9.0...v1.10.0) (2023-06-23) + +### Features + +- **parameters:** review types and exports ([#1528](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1528)) ([6f96711](https://github.com/aws-powertools/powertools-lambda-typescript/commit/6f96711625e212898b1c227c651beba7e709c9d1)) + # [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) ### Features diff --git a/packages/parameters/package.json b/packages/parameters/package.json index afd473bc50..227d50e13e 100644 --- a/packages/parameters/package.json +++ b/packages/parameters/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/parameters", - "version": "1.9.0", + "version": "1.10.0", "description": "The parameters package for the Powertools for AWS Lambda (TypeScript) library", "author": { "name": "Amazon Web Services", @@ -147,7 +147,7 @@ "aws-sdk-client-mock-jest": "^2.0.1" }, "dependencies": { - "@aws-lambda-powertools/commons": "^1.9.0", + "@aws-lambda-powertools/commons": "^1.10.0", "@aws-sdk/util-base64-node": "^3.209.0" } -} \ No newline at end of file +} diff --git a/packages/tracer/CHANGELOG.md b/packages/tracer/CHANGELOG.md index ada19ef5e7..f1204cafb8 100644 --- a/packages/tracer/CHANGELOG.md +++ b/packages/tracer/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.10.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.9.0...v1.10.0) (2023-06-23) + +### Bug Fixes + +- **idempotency:** skip persistence for optional idempotency key ([#1507](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1507)) ([b9fcef6](https://github.com/aws-powertools/powertools-lambda-typescript/commit/b9fcef66eb4bd9a7ad1eeac5f5db2cdbccc70c71)) + +### Features + +- **tracer:** close & restore segments when other middlewares return ([#1545](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1545)) ([74ddb09](https://github.com/aws-powertools/powertools-lambda-typescript/commit/74ddb09a3107d9f45f34ccda1e691a9504578c2d)) + # [1.9.0](https://github.com/aws-powertools/powertools-lambda-typescript/compare/v1.8.0...v1.9.0) (2023-06-09) ### Features diff --git a/packages/tracer/package.json b/packages/tracer/package.json index 2a3dea28af..481e0a3ed6 100644 --- a/packages/tracer/package.json +++ b/packages/tracer/package.json @@ -1,6 +1,6 @@ { "name": "@aws-lambda-powertools/tracer", - "version": "1.9.0", + "version": "1.10.0", "description": "The tracer package for the Powertools for AWS Lambda (TypeScript) library", "author": { "name": "Amazon Web Services", @@ -51,7 +51,7 @@ "url": "https://github.com/aws-powertools/powertools-lambda-typescript/issues" }, "dependencies": { - "@aws-lambda-powertools/commons": "^1.9.0", + "@aws-lambda-powertools/commons": "^1.10.0", "aws-xray-sdk-core": "^3.4.1" }, "keywords": [