diff --git a/.github/scripts/constants.js b/.github/scripts/constants.js index 1a3d2c0d14..5caca61ba6 100644 --- a/.github/scripts/constants.js +++ b/.github/scripts/constants.js @@ -1,41 +1,42 @@ module.exports = Object.freeze({ /** @type {string} */ // Values: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request - "PR_ACTION": process.env.PR_ACTION?.replace(/"/g, '') || "", + PR_ACTION: process.env.PR_ACTION?.replace(/"/g, '') || '', /** @type {string} */ - "PR_AUTHOR": process.env.PR_AUTHOR?.replace(/"/g, '') || "", + PR_AUTHOR: process.env.PR_AUTHOR?.replace(/"/g, '') || '', /** @type {string} */ - "PR_BODY": process.env.PR_BODY || "", + PR_BODY: process.env.PR_BODY || '', /** @type {string} */ - "PR_TITLE": process.env.PR_TITLE || "", + PR_TITLE: process.env.PR_TITLE || '', /** @type {number} */ - "PR_NUMBER": process.env.PR_NUMBER || 0, + PR_NUMBER: process.env.PR_NUMBER || 0, /** @type {string} */ - "PR_IS_MERGED": process.env.PR_IS_MERGED || "false", + PR_IS_MERGED: process.env.PR_IS_MERGED || 'false', /** @type {string} */ - "LABEL_BLOCK": "do-not-merge", + LABEL_BLOCK: 'do-not-merge', /** @type {string} */ - "LABEL_BLOCK_REASON": "need-issue", + LABEL_BLOCK_REASON: 'need-issue', /** @type {string} */ - "LABEL_PENDING_RELEASE": "pending-release", - + LABEL_PENDING_RELEASE: 'pending-release', + /** @type {string} */ - "LABEL_RELEASED": "completed", + LABEL_RELEASED: 'completed', /** @type {string} */ - "HANDLE_MAINTAINERS_TEAM": "@aws-powertools/lambda-typescript", + HANDLE_MAINTAINERS_TEAM: '@aws-powertools/lambda-typescript', /** @type {string[]} */ - "IGNORE_AUTHORS": ["dependabot[bot]"], + IGNORE_AUTHORS: ['dependabot[bot]'], /** @type {RegExp} */ - "RELATED_ISSUE_REGEX": /\b\*{0,2}[iI]ssue [nN]umber\*{0,2}:\*{0,2}\s*(?closes?|closed|fix|fixes?|fixed|resolves?|resolved)?\s*#(?\d+)\b/ -}); \ No newline at end of file + RELATED_ISSUE_REGEX: + /\b\*{0,2}[iI]ssue [nN]umber\*{0,2}:\*{0,2}\s*(?closes?|closed|fix|fixes?|fixed|resolves?|resolved)?\s*#(?\d+)\b/, +}); diff --git a/.github/scripts/download_pr_artifact.js b/.github/scripts/download_pr_artifact.js index de089a00d2..dc02a88dff 100644 --- a/.github/scripts/download_pr_artifact.js +++ b/.github/scripts/download_pr_artifact.js @@ -1,6 +1,6 @@ -module.exports = async ({github, context, core}) => { - const fs = require('fs'); +const fs = require('node:fs'); +module.exports = async ({ github, context, core }) => { const workflowRunId = process.env.WORKFLOW_ID; core.info(`Listing artifacts for workflow run ${workflowRunId}`); @@ -10,7 +10,9 @@ module.exports = async ({github, context, core}) => { run_id: workflowRunId, }); - const matchArtifact = artifacts.data.artifacts.filter(artifact => artifact.name == "pr")[0]; + const matchArtifact = artifacts.data.artifacts.filter( + (artifact) => artifact.name === 'pr' + )[0]; core.info(`Downloading artifacts for workflow run ${workflowRunId}`); const artifact = await github.rest.actions.downloadArtifact({ @@ -20,7 +22,7 @@ module.exports = async ({github, context, core}) => { archive_format: 'zip', }); - core.info("Saving artifact found", artifact); + core.info('Saving artifact found', artifact); fs.writeFileSync('pr.zip', Buffer.from(artifact.data)); -} \ No newline at end of file +}; diff --git a/.github/scripts/label_pr_based_on_title.js b/.github/scripts/label_pr_based_on_title.js index f3188c9532..45a1932599 100644 --- a/.github/scripts/label_pr_based_on_title.js +++ b/.github/scripts/label_pr_based_on_title.js @@ -30,13 +30,12 @@ module.exports = async ({ github, context, core }) => { }); return; - } else { - core.debug(`'${PR_TITLE}' didn't match '${label}' semantic.`); - miss += 1; } + core.debug(`'${PR_TITLE}' didn't match '${label}' semantic.`); + miss += 1; } } finally { - if (miss == Object.keys(labels).length) { + if (miss === Object.keys(labels).length) { core.notice( `PR ${PR_NUMBER} title '${PR_TITLE}' contain any of the release-related types; skipping...` ); diff --git a/.github/scripts/label_related_issue.js b/.github/scripts/label_related_issue.js index e353e923fe..8b7db0052f 100644 --- a/.github/scripts/label_related_issue.js +++ b/.github/scripts/label_related_issue.js @@ -15,7 +15,7 @@ module.exports = async ({ github, context, core }) => { return core.notice('Author in IGNORE_AUTHORS list; skipping...'); } - if (PR_IS_MERGED == 'false') { + if (PR_IS_MERGED === 'false') { return core.notice('Only merged PRs to avoid spam; skipping'); } diff --git a/.github/scripts/package.json b/.github/scripts/package.json index c9a4422614..5bbefffbab 100644 --- a/.github/scripts/package.json +++ b/.github/scripts/package.json @@ -1,3 +1,3 @@ { "type": "commonjs" -} \ No newline at end of file +} diff --git a/.github/scripts/post_release.js b/.github/scripts/post_release.js index 3af2dccdc3..e2270d6f57 100644 --- a/.github/scripts/post_release.js +++ b/.github/scripts/post_release.js @@ -28,7 +28,7 @@ const fetchIssues = async ({ }); return issues.filter( - (issue) => Object(issue).hasOwnProperty('pull_request') === false + (issue) => Object.hasOwn(Object(issue), 'pull_request') === false ); } catch (error) { core.setFailed(error); @@ -84,7 +84,7 @@ const notifyRelease = async ({ // Remove staged label; keep existing ones const labels = issue.labels - .filter((label) => label.name != LABEL_PENDING_RELEASE) + .filter((label) => label.name !== LABEL_PENDING_RELEASE) .map((label) => label.name); // Update labels including the released one diff --git a/.github/scripts/save_pr_details.js b/.github/scripts/save_pr_details.js index c8954fa474..9c92ff00fc 100644 --- a/.github/scripts/save_pr_details.js +++ b/.github/scripts/save_pr_details.js @@ -1,13 +1,13 @@ -module.exports = async ({context, core}) => { - const fs = require('fs'); - const filename = "pr.txt"; +const fs = require('node:fs'); +module.exports = async ({ context, core }) => { + const filename = 'pr.txt'; try { - fs.writeFileSync(`./${filename}`, JSON.stringify(context.payload)); + fs.writeFileSync(`./${filename}`, JSON.stringify(context.payload)); - return `PR successfully saved ${filename}`; + return `PR successfully saved ${filename}`; } catch (err) { - core.setFailed("Failed to save PR details"); - console.error(err); + core.setFailed('Failed to save PR details'); + console.error(err); } -} \ No newline at end of file +}; diff --git a/biome.json b/biome.json index 7d582f3a49..c675fdbf3b 100644 --- a/biome.json +++ b/biome.json @@ -1,12 +1,28 @@ { - "$schema": "https://biomejs.dev/schemas/1.8.3/schema.json", - "organizeImports": { - "enabled": true + "$schema": "https://biomejs.dev/schemas/2.0.6/schema.json", + "assist": { + "actions": { + "source": { + "organizeImports": "on" + } + } }, "linter": { "enabled": true, "rules": { - "recommended": true + "recommended": true, + "style": { + "noParameterAssign": "error", + "useAsConstAssertion": "error", + "useDefaultParameterLast": "error", + "useEnumInitializers": "error", + "useSelfClosingElements": "error", + "useSingleVarDeclarator": "error", + "noUnusedTemplateLiteral": "error", + "useNumberNamespace": "error", + "noInferrableTypes": "error", + "noUselessElse": "error" + } } }, "formatter": { @@ -25,15 +41,24 @@ } }, "files": { - "ignore": [ - "node_modules", - "coverage", - "lib", - "cdk.out", - "site", - ".aws-sam", - "**/*.generated.js", - "**/*.generated.d.ts" + "includes": [ + "**", + "!**/.cache", + "!**/.claude", + "!**/.vscode", + "!**/.amazonq", + "!**/api", + "!**/site", + "!**/.devcontainer", + "!**/node_modules", + "!**/.tsbuildinfo", + "!**/coverage", + "!**/lib", + "!**/cdk.out", + "!**/site", + "!**/.aws-sam", + "!**/*.generated.js", + "!**/*.generated.d.ts" ] } } diff --git a/docs/features/kafka.md b/docs/features/kafka.md index 25e2428dea..4f288c70cd 100644 --- a/docs/features/kafka.md +++ b/docs/features/kafka.md @@ -333,8 +333,8 @@ When processing large Kafka messages in Lambda, be mindful of memory limitations === "Handling Large Messages" - ```typescript hl_lines="18-20" - --8<-- "examples/snippets/kafka/advancedHandlingLargeMessages.ts:6" + ```typescript hl_lines="22-23" + --8<-- "examples/snippets/kafka/advancedHandlingLargeMessages.ts:9" ``` For large messages, consider these proven approaches: diff --git a/docs/javascript/extra.js b/docs/javascript/extra.js index 5cbe967089..a7b76cf2b1 100644 --- a/docs/javascript/extra.js +++ b/docs/javascript/extra.js @@ -1,91 +1,94 @@ -const Amplify = window.aws_amplify.Amplify -const Analytics = Amplify.Analytics -const KinesisFirehoseProvider = window.aws_amplify.AWSKinesisFirehoseProvider +const Amplify = window.aws_amplify.Amplify; +const Analytics = Amplify.Analytics; +const KinesisFirehoseProvider = window.aws_amplify.AWSKinesisFirehoseProvider; const awsconfig = { - "aws_project_region": "eu-west-1", - "aws_cognito_identity_pool_id": "eu-west-1:3df3caec-4bb6-4891-b154-ee940c8264b8", - "aws_cognito_region": "eu-west-1", - "aws_kinesis_firehose_stream_name": "ClickStreamKinesisFirehose-OGX7PQdrynUo", + aws_project_region: 'eu-west-1', + aws_cognito_identity_pool_id: + 'eu-west-1:3df3caec-4bb6-4891-b154-ee940c8264b8', + aws_cognito_region: 'eu-west-1', + aws_kinesis_firehose_stream_name: 'ClickStreamKinesisFirehose-OGX7PQdrynUo', }; -const RUNTIME = "typescript" -const BASE_ORIGIN = "docs.powertools.aws.dev" +const RUNTIME = 'typescript'; +const BASE_ORIGIN = 'docs.powertools.aws.dev'; function copyToClipboard(e) { - e.preventDefault() - navigator.clipboard.writeText(e.target.textContent) - alert$.next("Copied to clipboard") + e.preventDefault(); + navigator.clipboard.writeText(e.target.textContent); + alert$.next('Copied to clipboard'); } function enableSearchOnBlurElement() { - if (document.location.hostname != BASE_ORIGIN) return // prevent unnecessary data - /* Register handler to log search on blur */ - document.addEventListener("DOMContentLoaded", function () { - recordPageView({ - prevLocation: document.referrer - }) - if (document.forms.search) { - let query = document.forms.search.query - query.addEventListener("blur", function () { - // If Search result is ever actionable - // we should populate `value` - if (this.value) { - let path = document.location.pathname; - console.info(`Search value: ${this.value}`) - recordPageView({ - searchPattern: this.value - }) - } - }) - } - }) + if (document.location.hostname !== BASE_ORIGIN) return; // prevent unnecessary data + /* Register handler to log search on blur */ + document.addEventListener('DOMContentLoaded', () => { + recordPageView({ + prevLocation: document.referrer, + }); + if (document.forms.search) { + const query = document.forms.search.query; + query.addEventListener('blur', function () { + // If Search result is ever actionable + // we should populate `value` + if (this.value) { + console.info(`Search value: ${this.value}`); + recordPageView({ + searchPattern: this.value, + }); + } + }); + } + }); - // Register handler for page sections when browser history is changed - window.onpopstate = function (event) { - recordPageView({ - prevLocation: document.referrer - }) - }; + // Register handler for page sections when browser history is changed + window.onpopstate = () => { + recordPageView({ + prevLocation: document.referrer, + }); + }; } function enableClipboardElements() { - let copyElements = document.querySelectorAll('.copyMe'); - copyElements.forEach(element => { - element.addEventListener('click', copyToClipboard); - }) + const copyElements = document.querySelectorAll('.copyMe'); + copyElements.forEach((element) => { + element.addEventListener('click', copyToClipboard); + }); } const attachListeners = () => { - enableSearchOnBlurElement() - enableClipboardElements() -} + enableSearchOnBlurElement(); + enableClipboardElements(); +}; const init = () => { - Analytics.addPluggable(new KinesisFirehoseProvider()) - Amplify.configure(awsconfig); + Analytics.addPluggable(new KinesisFirehoseProvider()); + Amplify.configure(awsconfig); - Analytics.configure({ - AWSKinesisFirehose: { - region: awsconfig.aws_project_region - } - }) + Analytics.configure({ + AWSKinesisFirehose: { + region: awsconfig.aws_project_region, + }, + }); - attachListeners() -} + attachListeners(); +}; -const recordPageView = ({prevLocation, searchPattern}) => { - Analytics.record({ - data: { - // Do not count page view for search - url: searchPattern ? null : window.location.href, - section: searchPattern ? null : location.pathname, - previous: prevLocation || null, - search: searchPattern || null, - language: RUNTIME - }, - streamName: awsconfig.aws_kinesis_firehose_stream_name - }, 'AWSKinesisFirehose') -} +const recordPageView = ({ prevLocation, searchPattern }) => { + Analytics.record( + { + data: { + // Do not count page view for search + url: searchPattern ? null : window.location.href, + section: searchPattern ? null : location.pathname, + previous: prevLocation || null, + search: searchPattern || null, + language: RUNTIME, + }, + streamName: awsconfig.aws_kinesis_firehose_stream_name, + }, + 'AWSKinesisFirehose' + ); +}; -init() +init(); diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index a31caef5de..4901162e1a 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -1,55 +1,56 @@ .md-grid { - max-width: 90vw + max-width: 90vw; } .highlight .hll { - [data-md-color-scheme="default"] { - background-color: lavender; - } + [data-md-color-scheme="default"] { + background-color: lavender; + } } .md-typeset table:not([class]) { - font-size: 0.75rem + font-size: 0.75rem; } .md-typeset a { - border-bottom: 0.1px dashed black + border-bottom: 0.1px dashed black; } .md-typeset table:not([class]) { - font-size: 0.75rem + font-size: 0.75rem; } .md-tabs__link { - font-size: 0.8rem + font-size: 0.8rem; } .md-tabs__link--active { - border-bottom: 6px solid white + border-bottom: 6px solid white; } .md-nav__link--active { - font-weight: bold + font-weight: bold; } -.md-typeset .admonition, .md-typeset details { - font-size: 0.70rem +.md-typeset .admonition, +.md-typeset details { + font-size: 0.7rem; } [data-md-color-scheme="slate"] { - --md-typeset-a-color: rgb(28, 152, 152) + --md-typeset-a-color: rgb(28, 152, 152); } .copyMe { - cursor: pointer; - border-bottom: 0.1px dashed black; + cursor: pointer; + border-bottom: 0.1px dashed black; } .copyMe::after { - content: ' 📋'; + content: " 📋"; } p > code, li > code { - font-weight: bold -} \ No newline at end of file + font-weight: bold; +} diff --git a/examples/app/cdk.json b/examples/app/cdk.json index 35c81a9ac2..de10882522 100644 --- a/examples/app/cdk.json +++ b/examples/app/cdk.json @@ -1,9 +1,7 @@ { "app": "tsx cdk/example-app.ts", "watch": { - "include": [ - "**" - ], + "include": ["**"], "exclude": [ "README.md", "cdk*.json", diff --git a/examples/app/functions/commons/powertools/logger.ts b/examples/app/functions/commons/powertools/logger.ts index be5ac19db6..fb93b347f5 100644 --- a/examples/app/functions/commons/powertools/logger.ts +++ b/examples/app/functions/commons/powertools/logger.ts @@ -1,6 +1,6 @@ -import { Logger } from '@aws-lambda-powertools/logger'; import { PT_VERSION as version } from '@aws-lambda-powertools/commons'; -import { serviceName, defaultValues } from './constants.js'; +import { Logger } from '@aws-lambda-powertools/logger'; +import { defaultValues, serviceName } from './constants.js'; /** * Create logger instance with centralized configuration so that diff --git a/examples/app/functions/commons/powertools/metrics.ts b/examples/app/functions/commons/powertools/metrics.ts index 76196508a1..77dcbf1240 100644 --- a/examples/app/functions/commons/powertools/metrics.ts +++ b/examples/app/functions/commons/powertools/metrics.ts @@ -1,5 +1,5 @@ import { Metrics } from '@aws-lambda-powertools/metrics'; -import { serviceName, metricsNamespace, defaultValues } from './constants.js'; +import { defaultValues, metricsNamespace, serviceName } from './constants.js'; /** * Create metrics instance with centralized configuration so that diff --git a/examples/app/functions/get-all-items.ts b/examples/app/functions/get-all-items.ts index 2e1d169ff3..d662dc9460 100644 --- a/examples/app/functions/get-all-items.ts +++ b/examples/app/functions/get-all-items.ts @@ -1,6 +1,3 @@ -import { scanItemsDynamoDB } from '#helpers/scan-items'; -import { assertIsError } from '#helpers/utils'; -import { logger, metrics, tracer } from '#powertools'; import { injectLambdaContext } from '@aws-lambda-powertools/logger/middleware'; import { logMetrics } from '@aws-lambda-powertools/metrics/middleware'; import { captureLambdaHandler } from '@aws-lambda-powertools/tracer/middleware'; @@ -10,6 +7,9 @@ import type { APIGatewayProxyResult, Context, } from 'aws-lambda'; +import { scanItemsDynamoDB } from '#helpers/scan-items'; +import { assertIsError } from '#helpers/utils'; +import { logger, metrics, tracer } from '#powertools'; /* * diff --git a/examples/app/functions/get-by-id.ts b/examples/app/functions/get-by-id.ts index 3ee5fb9cd2..5ecb975019 100644 --- a/examples/app/functions/get-by-id.ts +++ b/examples/app/functions/get-by-id.ts @@ -1,13 +1,13 @@ -import { ItemNotFound } from '#errors'; -import { getItemDynamoDB } from '#helpers/get-item'; -import { assertIsError } from '#helpers/utils'; -import { logger, metrics, tracer } from '#powertools'; import type { LambdaInterface } from '@aws-lambda-powertools/commons/types'; import type { APIGatewayProxyEvent, APIGatewayProxyResult, Context, } from 'aws-lambda'; +import { ItemNotFound } from '#errors'; +import { getItemDynamoDB } from '#helpers/get-item'; +import { assertIsError } from '#helpers/utils'; +import { logger, metrics, tracer } from '#powertools'; /* * diff --git a/examples/app/functions/process-items-stream.ts b/examples/app/functions/process-items-stream.ts index 83b89b419e..a8610f75ab 100644 --- a/examples/app/functions/process-items-stream.ts +++ b/examples/app/functions/process-items-stream.ts @@ -1,6 +1,4 @@ -import { assertIsError } from '#helpers/utils'; -import { logger } from '#powertools/logger'; -import { tracer } from '#powertools/tracer'; +import { equal } from 'node:assert/strict'; import { BatchProcessor, EventType, @@ -14,7 +12,9 @@ import type { DynamoDBRecord, DynamoDBStreamEvent, } from 'aws-lambda'; -import { equal } from 'node:assert/strict'; +import { assertIsError } from '#helpers/utils'; +import { logger } from '#powertools/logger'; +import { tracer } from '#powertools/tracer'; const processor = new BatchProcessor(EventType.DynamoDBStreams); diff --git a/examples/app/functions/put-item.ts b/examples/app/functions/put-item.ts index aed36c92c4..df0a044264 100644 --- a/examples/app/functions/put-item.ts +++ b/examples/app/functions/put-item.ts @@ -1,8 +1,3 @@ -import { ddbClient } from '#clients/dynamodb'; -import { getSSMStringParameter } from '#helpers/get-string-param'; -import { putItemInDynamoDB } from '#helpers/put-item'; -import { assertIsError, getStringFromEnv } from '#helpers/utils'; -import { logger, metrics, tracer } from '#powertools'; import { IdempotencyConfig, makeIdempotent, @@ -15,6 +10,11 @@ import type { Context, } from 'aws-lambda'; import type { Subsegment } from 'aws-xray-sdk-core'; +import { ddbClient } from '#clients/dynamodb'; +import { getSSMStringParameter } from '#helpers/get-string-param'; +import { putItemInDynamoDB } from '#helpers/put-item'; +import { assertIsError, getStringFromEnv } from '#helpers/utils'; +import { logger, metrics, tracer } from '#powertools'; // Initialize the persistence store for idempotency const ssmParameterName = getStringFromEnv('SSM_PARAMETER_NAME'); diff --git a/examples/app/tests/tsconfig.json b/examples/app/tests/tsconfig.json index 03963f6b04..45ba862a85 100644 --- a/examples/app/tests/tsconfig.json +++ b/examples/app/tests/tsconfig.json @@ -4,8 +4,5 @@ "rootDir": "../", "noEmit": true }, - "include": [ - "../src/**/*", - "./**/*", - ] -} \ No newline at end of file + "include": ["../src/**/*", "./**/*"] +} diff --git a/examples/app/tsconfig.json b/examples/app/tsconfig.json index 635d0bf5a5..68d5df7bdf 100644 --- a/examples/app/tsconfig.json +++ b/examples/app/tsconfig.json @@ -1,42 +1,31 @@ { - "$schema": "https://json.schemastore.org/tsconfig", - "compilerOptions": { - "esModuleInterop": true, - "skipLibCheck": true, - "target": "es2022", - "moduleDetection": "force", - "isolatedModules": true, - "strict": true, - "noUncheckedIndexedAccess": true, - "moduleResolution": "NodeNext", - "module": "NodeNext", - "outDir": "lib/esm", - "sourceMap": true, - "experimentalDecorators": true, - "declaration": true, - "declarationMap": true, - "removeComments": false, - "pretty": true, - "lib": [ - "ES2022" - ], - "rootDir": "." - }, - "include": [ - "functions/**/*", - "cdk/**/*", - "test/**/*", - "bin/**/*", - ], - "exclude": [ - "./node_modules" - ], - "watchOptions": { - "watchFile": "useFsEvents", - "watchDirectory": "useFsEvents", - "fallbackPolling": "dynamicPriority" - }, - "types": [ - "node" - ] -} \ No newline at end of file + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "esModuleInterop": true, + "skipLibCheck": true, + "target": "es2022", + "moduleDetection": "force", + "isolatedModules": true, + "strict": true, + "noUncheckedIndexedAccess": true, + "moduleResolution": "NodeNext", + "module": "NodeNext", + "outDir": "lib/esm", + "sourceMap": true, + "experimentalDecorators": true, + "declaration": true, + "declarationMap": true, + "removeComments": false, + "pretty": true, + "lib": ["ES2022"], + "rootDir": "." + }, + "include": ["functions/**/*", "cdk/**/*", "test/**/*", "bin/**/*"], + "exclude": ["./node_modules"], + "watchOptions": { + "watchFile": "useFsEvents", + "watchDirectory": "useFsEvents", + "fallbackPolling": "dynamicPriority" + }, + "types": ["node"] +} diff --git a/examples/snippets/batch/extendingFailure.ts b/examples/snippets/batch/extendingFailure.ts index 7db64cc1b3..a40900abbc 100644 --- a/examples/snippets/batch/extendingFailure.ts +++ b/examples/snippets/batch/extendingFailure.ts @@ -8,7 +8,7 @@ import type { FailureResponse, } from '@aws-lambda-powertools/batch/types'; import { Logger } from '@aws-lambda-powertools/logger'; -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; import type { SQSHandler, SQSRecord } from 'aws-lambda'; class MyProcessor extends BatchProcessor { diff --git a/examples/snippets/batch/gettingStartedSQSFifo.ts b/examples/snippets/batch/gettingStartedSQSFifo.ts index 5920480cf6..ab320087ed 100644 --- a/examples/snippets/batch/gettingStartedSQSFifo.ts +++ b/examples/snippets/batch/gettingStartedSQSFifo.ts @@ -1,6 +1,6 @@ import { - SqsFifoPartialProcessorAsync, processPartialResponse, + SqsFifoPartialProcessorAsync, } from '@aws-lambda-powertools/batch'; import { Logger } from '@aws-lambda-powertools/logger'; import type { SQSHandler, SQSRecord } from 'aws-lambda'; diff --git a/examples/snippets/batch/gettingStartedSQSFifoSkipGroupOnError.ts b/examples/snippets/batch/gettingStartedSQSFifoSkipGroupOnError.ts index d772ef83e0..8ce1bf6440 100644 --- a/examples/snippets/batch/gettingStartedSQSFifoSkipGroupOnError.ts +++ b/examples/snippets/batch/gettingStartedSQSFifoSkipGroupOnError.ts @@ -1,6 +1,6 @@ import { - SqsFifoPartialProcessorAsync, processPartialResponse, + SqsFifoPartialProcessorAsync, } from '@aws-lambda-powertools/batch'; import { Logger } from '@aws-lambda-powertools/logger'; import type { diff --git a/examples/snippets/event-handler/appsync-events/gettingStartedOnSubscribe.ts b/examples/snippets/event-handler/appsync-events/gettingStartedOnSubscribe.ts index abd8ba8ec4..ee98e1c839 100644 --- a/examples/snippets/event-handler/appsync-events/gettingStartedOnSubscribe.ts +++ b/examples/snippets/event-handler/appsync-events/gettingStartedOnSubscribe.ts @@ -1,5 +1,5 @@ import { AppSyncEventsResolver } from '@aws-lambda-powertools/event-handler/appsync-events'; -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; import type { Context } from 'aws-lambda'; const metrics = new Metrics({ diff --git a/examples/snippets/event-handler/appsync-events/gettingStartedOnSubscribeDecorator.ts b/examples/snippets/event-handler/appsync-events/gettingStartedOnSubscribeDecorator.ts index bbcc0b81bd..51789b43ec 100644 --- a/examples/snippets/event-handler/appsync-events/gettingStartedOnSubscribeDecorator.ts +++ b/examples/snippets/event-handler/appsync-events/gettingStartedOnSubscribeDecorator.ts @@ -1,6 +1,6 @@ import { AppSyncEventsResolver } from '@aws-lambda-powertools/event-handler/appsync-events'; import type { AppSyncEventsSubscribeEvent } from '@aws-lambda-powertools/event-handler/types'; -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; import type { Context } from 'aws-lambda'; const metrics = new Metrics({ diff --git a/examples/snippets/event-handler/appsync-events/samples/allOrNothingErrorResponse.json b/examples/snippets/event-handler/appsync-events/samples/allOrNothingErrorResponse.json index 18742c255b..2989c70159 100644 --- a/examples/snippets/event-handler/appsync-events/samples/allOrNothingErrorResponse.json +++ b/examples/snippets/event-handler/appsync-events/samples/allOrNothingErrorResponse.json @@ -1,3 +1,3 @@ { "error": "Error - An unexpected error occurred" -} \ No newline at end of file +} diff --git a/examples/snippets/event-handler/appsync-events/samples/debugLogExcerpt.json b/examples/snippets/event-handler/appsync-events/samples/debugLogExcerpt.json index b667127c10..f1cec02089 100644 --- a/examples/snippets/event-handler/appsync-events/samples/debugLogExcerpt.json +++ b/examples/snippets/event-handler/appsync-events/samples/debugLogExcerpt.json @@ -14,4 +14,4 @@ "sampling_rate": 0, "xray_trace_id": "1-68079892-6a1723770bc0b1f348d9a7ad" } -] \ No newline at end of file +] diff --git a/examples/snippets/event-handler/appsync-events/samples/errorHandlingWithAggregateResponse.json b/examples/snippets/event-handler/appsync-events/samples/errorHandlingWithAggregateResponse.json index 51396a3d0a..3807e5e18e 100644 --- a/examples/snippets/event-handler/appsync-events/samples/errorHandlingWithAggregateResponse.json +++ b/examples/snippets/event-handler/appsync-events/samples/errorHandlingWithAggregateResponse.json @@ -14,4 +14,4 @@ "id": "2" } ] -} \ No newline at end of file +} diff --git a/examples/snippets/event-handler/appsync-events/samples/errorHandlingWithIndividualItemsResponse.json b/examples/snippets/event-handler/appsync-events/samples/errorHandlingWithIndividualItemsResponse.json index e35b577092..d2033f18d5 100644 --- a/examples/snippets/event-handler/appsync-events/samples/errorHandlingWithIndividualItemsResponse.json +++ b/examples/snippets/event-handler/appsync-events/samples/errorHandlingWithIndividualItemsResponse.json @@ -11,4 +11,4 @@ "id": "2" } ] -} \ No newline at end of file +} diff --git a/examples/snippets/event-handler/appsync-events/samples/gettingStartedRequest.json b/examples/snippets/event-handler/appsync-events/samples/gettingStartedRequest.json index 9e009f51ba..29ce168d24 100644 --- a/examples/snippets/event-handler/appsync-events/samples/gettingStartedRequest.json +++ b/examples/snippets/event-handler/appsync-events/samples/gettingStartedRequest.json @@ -11,10 +11,7 @@ "info": { "channel": { "path": "/default/channel", - "segments": [ - "default", - "channel" - ] + "segments": ["default", "channel"] }, "channelNamespace": { "name": "default" @@ -39,4 +36,4 @@ "id": "2" } ] -} \ No newline at end of file +} diff --git a/examples/snippets/event-handler/appsync-events/samples/gettingStartedResponse.json b/examples/snippets/event-handler/appsync-events/samples/gettingStartedResponse.json index e3b94c060c..53e1e4d76d 100644 --- a/examples/snippets/event-handler/appsync-events/samples/gettingStartedResponse.json +++ b/examples/snippets/event-handler/appsync-events/samples/gettingStartedResponse.json @@ -13,4 +13,4 @@ "id": "2" } ] -} \ No newline at end of file +} diff --git a/examples/snippets/event-handler/appsync-events/samples/gettingStartedResponseWithError.json b/examples/snippets/event-handler/appsync-events/samples/gettingStartedResponseWithError.json index e35b577092..d2033f18d5 100644 --- a/examples/snippets/event-handler/appsync-events/samples/gettingStartedResponseWithError.json +++ b/examples/snippets/event-handler/appsync-events/samples/gettingStartedResponseWithError.json @@ -11,4 +11,4 @@ "id": "2" } ] -} \ No newline at end of file +} diff --git a/examples/snippets/event-handler/appsync-events/samples/onPublishEvent.json b/examples/snippets/event-handler/appsync-events/samples/onPublishEvent.json index 1d92f612dc..7d048d2e72 100644 --- a/examples/snippets/event-handler/appsync-events/samples/onPublishEvent.json +++ b/examples/snippets/event-handler/appsync-events/samples/onPublishEvent.json @@ -10,10 +10,7 @@ "info": { "channel": { "path": "/default/foo", - "segments": [ - "default", - "foo" - ] + "segments": ["default", "foo"] }, "channelNamespace": { "name": "default" @@ -44,4 +41,4 @@ "id": "8bb2983a-0967-45a0-8243-0aeb8c83d80e" } ] -} \ No newline at end of file +} diff --git a/examples/snippets/event-handler/appsync-events/samples/onSubscribeEvent.json b/examples/snippets/event-handler/appsync-events/samples/onSubscribeEvent.json index 509f4b838a..4cbc418808 100644 --- a/examples/snippets/event-handler/appsync-events/samples/onSubscribeEvent.json +++ b/examples/snippets/event-handler/appsync-events/samples/onSubscribeEvent.json @@ -10,10 +10,7 @@ "info": { "channel": { "path": "/default/bar", - "segments": [ - "default", - "bar" - ] + "segments": ["default", "bar"] }, "channelNamespace": { "name": "default" @@ -25,4 +22,4 @@ "stash": {}, "outErrors": [], "events": null -} \ No newline at end of file +} diff --git a/examples/snippets/event-handler/appsync-graphql/samples/debugLogExcerpt.json b/examples/snippets/event-handler/appsync-graphql/samples/debugLogExcerpt.json index 79a5d8ae06..f958aea649 100644 --- a/examples/snippets/event-handler/appsync-graphql/samples/debugLogExcerpt.json +++ b/examples/snippets/event-handler/appsync-graphql/samples/debugLogExcerpt.json @@ -25,4 +25,4 @@ "correlation_id": "Root=1-68653697-3623822a02e171272e2ecfe4", "id": "42" } -] \ No newline at end of file +] diff --git a/examples/snippets/event-handler/appsync-graphql/templates/advancedNestedMappingsSchema.graphql b/examples/snippets/event-handler/appsync-graphql/templates/advancedNestedMappingsSchema.graphql index a72ae629b4..911ab46bb6 100644 --- a/examples/snippets/event-handler/appsync-graphql/templates/advancedNestedMappingsSchema.graphql +++ b/examples/snippets/event-handler/appsync-graphql/templates/advancedNestedMappingsSchema.graphql @@ -18,4 +18,4 @@ type Merchant { name: String! description: String locations: [Location] -} \ No newline at end of file +} diff --git a/examples/snippets/event-handler/appsync-graphql/templates/gettingStartedSchema.graphql b/examples/snippets/event-handler/appsync-graphql/templates/gettingStartedSchema.graphql index 803b02969a..6f1306c513 100644 --- a/examples/snippets/event-handler/appsync-graphql/templates/gettingStartedSchema.graphql +++ b/examples/snippets/event-handler/appsync-graphql/templates/gettingStartedSchema.graphql @@ -18,4 +18,4 @@ type Todo { userId: String title: String completed: Boolean -} \ No newline at end of file +} diff --git a/examples/snippets/event-handler/bedrock-agents/stopConversation.ts b/examples/snippets/event-handler/bedrock-agents/stopConversation.ts index 0dbdd6fb59..446520628a 100644 --- a/examples/snippets/event-handler/bedrock-agents/stopConversation.ts +++ b/examples/snippets/event-handler/bedrock-agents/stopConversation.ts @@ -10,7 +10,7 @@ app.tool<{ city: string }>( async ({ city }, { event }) => { try { throw new Error('Simulated error for demonstration purposes'); - } catch (error) { + } catch { const { sessionAttributes, promptSessionAttributes, diff --git a/examples/snippets/getting-started/patterns-middyjs.ts b/examples/snippets/getting-started/patterns-middyjs.ts index ece2f97266..d83ae6cb3e 100644 --- a/examples/snippets/getting-started/patterns-middyjs.ts +++ b/examples/snippets/getting-started/patterns-middyjs.ts @@ -14,6 +14,6 @@ export const handler = middy() .use(captureLambdaHandler(tracer)) .use(injectLambdaContext(logger)) .use(logMetrics(metrics)) - .handler(async (event: unknown) => { + .handler(async (_event: unknown) => { // Your business logic here }); diff --git a/examples/snippets/idempotency/advancedBringYourOwnPersistenceLayer.ts b/examples/snippets/idempotency/advancedBringYourOwnPersistenceLayer.ts index 5b27814a72..f13527ce63 100644 --- a/examples/snippets/idempotency/advancedBringYourOwnPersistenceLayer.ts +++ b/examples/snippets/idempotency/advancedBringYourOwnPersistenceLayer.ts @@ -44,7 +44,7 @@ class CustomPersistenceLayer extends BasePersistenceLayer { return new IdempotencyRecord({ ...(item as unknown as IdempotencyRecordOptions), }); - } catch (error) { + } catch (_error) { throw new IdempotencyItemNotFoundError(); } } @@ -64,7 +64,7 @@ class CustomPersistenceLayer extends BasePersistenceLayer { const ttl = record.expiryTimestamp ? Math.floor(new Date(record.expiryTimestamp * 1000).getTime() / 1000) - - Math.floor(new Date().getTime() / 1000) + Math.floor(Date.now() / 1000) : this.getExpiresAfterSeconds(); let existingItem: ProviderItem | undefined; diff --git a/examples/snippets/idempotency/advancedBringYourOwnPersistenceLayerUsage.ts b/examples/snippets/idempotency/advancedBringYourOwnPersistenceLayerUsage.ts index d85d4e70c4..6164d8b421 100644 --- a/examples/snippets/idempotency/advancedBringYourOwnPersistenceLayerUsage.ts +++ b/examples/snippets/idempotency/advancedBringYourOwnPersistenceLayerUsage.ts @@ -47,7 +47,7 @@ export const handler = async ( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } }; diff --git a/examples/snippets/idempotency/customKeyPrefixDecorator.ts b/examples/snippets/idempotency/customKeyPrefixDecorator.ts index 407e328ade..4e7ecf72fc 100644 --- a/examples/snippets/idempotency/customKeyPrefixDecorator.ts +++ b/examples/snippets/idempotency/customKeyPrefixDecorator.ts @@ -12,7 +12,7 @@ class Lambda { persistenceStore, keyPrefix: 'createSubscriptionPayment', }) - async handler(event: unknown, context: Context) { + async handler(_event: unknown, _context: Context) { try { // ... create payment @@ -21,7 +21,7 @@ class Lambda { message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } } diff --git a/examples/snippets/idempotency/customKeyPrefixFnWrapper.ts b/examples/snippets/idempotency/customKeyPrefixFnWrapper.ts index 0395ff3e9f..bc3a9b083d 100644 --- a/examples/snippets/idempotency/customKeyPrefixFnWrapper.ts +++ b/examples/snippets/idempotency/customKeyPrefixFnWrapper.ts @@ -16,7 +16,7 @@ export const handler = makeIdempotent( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } }, diff --git a/examples/snippets/idempotency/customKeyPrefixMiddleware.ts b/examples/snippets/idempotency/customKeyPrefixMiddleware.ts index 9505ec75ea..00bf3e8595 100644 --- a/examples/snippets/idempotency/customKeyPrefixMiddleware.ts +++ b/examples/snippets/idempotency/customKeyPrefixMiddleware.ts @@ -23,7 +23,7 @@ export const handler = middy() message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } }); diff --git a/examples/snippets/idempotency/customizePersistenceLayer.ts b/examples/snippets/idempotency/customizePersistenceLayer.ts index 7d5d6010d9..11438d37dc 100644 --- a/examples/snippets/idempotency/customizePersistenceLayer.ts +++ b/examples/snippets/idempotency/customizePersistenceLayer.ts @@ -24,7 +24,7 @@ export const handler = middy( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } } diff --git a/examples/snippets/idempotency/makeHandlerIdempotent.ts b/examples/snippets/idempotency/makeHandlerIdempotent.ts index 6336d3a1ed..dcbcb21569 100644 --- a/examples/snippets/idempotency/makeHandlerIdempotent.ts +++ b/examples/snippets/idempotency/makeHandlerIdempotent.ts @@ -29,7 +29,7 @@ export const handler = middy( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } } diff --git a/examples/snippets/idempotency/makeIdempotentAnyFunction.ts b/examples/snippets/idempotency/makeIdempotentAnyFunction.ts index bb93d4bb20..659db0e798 100644 --- a/examples/snippets/idempotency/makeIdempotentAnyFunction.ts +++ b/examples/snippets/idempotency/makeIdempotentAnyFunction.ts @@ -53,7 +53,7 @@ export const handler = async ( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } }; diff --git a/examples/snippets/idempotency/makeIdempotentBase.ts b/examples/snippets/idempotency/makeIdempotentBase.ts index 1aa8ae451a..c8e17f1022 100644 --- a/examples/snippets/idempotency/makeIdempotentBase.ts +++ b/examples/snippets/idempotency/makeIdempotentBase.ts @@ -28,7 +28,7 @@ export const handler = makeIdempotent( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } }, diff --git a/examples/snippets/idempotency/makeIdempotentJmes.ts b/examples/snippets/idempotency/makeIdempotentJmes.ts index 17072ea0d8..ddf66af693 100644 --- a/examples/snippets/idempotency/makeIdempotentJmes.ts +++ b/examples/snippets/idempotency/makeIdempotentJmes.ts @@ -40,7 +40,7 @@ export const handler = makeIdempotent( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } }, diff --git a/examples/snippets/idempotency/makeIdempotentLambdaContext.ts b/examples/snippets/idempotency/makeIdempotentLambdaContext.ts index 0b92dfc21f..0e7c9d472f 100644 --- a/examples/snippets/idempotency/makeIdempotentLambdaContext.ts +++ b/examples/snippets/idempotency/makeIdempotentLambdaContext.ts @@ -45,7 +45,7 @@ export const handler = async ( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } }; diff --git a/examples/snippets/idempotency/samples/workingWithResponseHookIdempotentResponse.json b/examples/snippets/idempotency/samples/workingWithResponseHookIdempotentResponse.json index 0c7e1abdae..15bc5bcd8f 100644 --- a/examples/snippets/idempotency/samples/workingWithResponseHookIdempotentResponse.json +++ b/examples/snippets/idempotency/samples/workingWithResponseHookIdempotentResponse.json @@ -1,8 +1,8 @@ { - "message": "success", - "paymentId": "31a964eb-7477-4fe1-99fe-7f8a6a351a7e", - "statusCode": 200, - "headers": { - "x-idempotency-key": "function-name#mHfGv2vJ8h+ZvLIr/qGBbQ==" - } - } \ No newline at end of file + "message": "success", + "paymentId": "31a964eb-7477-4fe1-99fe-7f8a6a351a7e", + "statusCode": 200, + "headers": { + "x-idempotency-key": "function-name#mHfGv2vJ8h+ZvLIr/qGBbQ==" + } +} diff --git a/examples/snippets/idempotency/samples/workingWithResponseHookSampleEvent.json b/examples/snippets/idempotency/samples/workingWithResponseHookSampleEvent.json index 40a46dcbf4..800542b62a 100644 --- a/examples/snippets/idempotency/samples/workingWithResponseHookSampleEvent.json +++ b/examples/snippets/idempotency/samples/workingWithResponseHookSampleEvent.json @@ -1,4 +1,4 @@ { - "user": "John Doe", - "productId": "123456" -} \ No newline at end of file + "user": "John Doe", + "productId": "123456" +} diff --git a/examples/snippets/idempotency/workingWithCompositeKey.ts b/examples/snippets/idempotency/workingWithCompositeKey.ts index 23d5e255ee..233ba92179 100644 --- a/examples/snippets/idempotency/workingWithCompositeKey.ts +++ b/examples/snippets/idempotency/workingWithCompositeKey.ts @@ -19,7 +19,7 @@ export const handler = middy( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } } diff --git a/examples/snippets/idempotency/workingWithCustomClient.ts b/examples/snippets/idempotency/workingWithCustomClient.ts index 8f3720d46e..ab73d1594c 100644 --- a/examples/snippets/idempotency/workingWithCustomClient.ts +++ b/examples/snippets/idempotency/workingWithCustomClient.ts @@ -22,7 +22,7 @@ export const handler = makeIdempotent( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } }, diff --git a/examples/snippets/idempotency/workingWithCustomConfig.ts b/examples/snippets/idempotency/workingWithCustomConfig.ts index 4138825d91..83d2b07159 100644 --- a/examples/snippets/idempotency/workingWithCustomConfig.ts +++ b/examples/snippets/idempotency/workingWithCustomConfig.ts @@ -20,7 +20,7 @@ export const handler = makeIdempotent( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } }, diff --git a/examples/snippets/idempotency/workingWithExceptions.ts b/examples/snippets/idempotency/workingWithExceptions.ts index 2bafa5a243..5114c083b9 100644 --- a/examples/snippets/idempotency/workingWithExceptions.ts +++ b/examples/snippets/idempotency/workingWithExceptions.ts @@ -53,7 +53,7 @@ export const handler = async ( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } }; diff --git a/examples/snippets/idempotency/workingWithIdempotencyRequiredKey.ts b/examples/snippets/idempotency/workingWithIdempotencyRequiredKey.ts index e9650cd751..20094ecf8e 100644 --- a/examples/snippets/idempotency/workingWithIdempotencyRequiredKey.ts +++ b/examples/snippets/idempotency/workingWithIdempotencyRequiredKey.ts @@ -25,7 +25,7 @@ export const handler = makeIdempotent( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } }, diff --git a/examples/snippets/idempotency/workingWithLocalCache.ts b/examples/snippets/idempotency/workingWithLocalCache.ts index c02b270a2d..4de44697f3 100644 --- a/examples/snippets/idempotency/workingWithLocalCache.ts +++ b/examples/snippets/idempotency/workingWithLocalCache.ts @@ -23,7 +23,7 @@ export const handler = middy( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } } diff --git a/examples/snippets/idempotency/workingWithLocalDynamoDB.ts b/examples/snippets/idempotency/workingWithLocalDynamoDB.ts index f48430456e..ba8808cf0a 100644 --- a/examples/snippets/idempotency/workingWithLocalDynamoDB.ts +++ b/examples/snippets/idempotency/workingWithLocalDynamoDB.ts @@ -6,7 +6,7 @@ const ddbPersistenceStore = new DynamoDBPersistenceLayer({ tableName: 'IdempotencyTable', }); -const handler = async (event: unknown, context: Context) => { +const handler = async (_event: unknown, _context: Context) => { return { statusCode: 200, body: JSON.stringify({ diff --git a/examples/snippets/idempotency/workingWithPayloadValidation.ts b/examples/snippets/idempotency/workingWithPayloadValidation.ts index af29510a6b..eaccb2de3c 100644 --- a/examples/snippets/idempotency/workingWithPayloadValidation.ts +++ b/examples/snippets/idempotency/workingWithPayloadValidation.ts @@ -52,7 +52,7 @@ export const handler = async ( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } }; diff --git a/examples/snippets/idempotency/workingWithRecordExpiration.ts b/examples/snippets/idempotency/workingWithRecordExpiration.ts index f2399fddb9..7af76c256f 100644 --- a/examples/snippets/idempotency/workingWithRecordExpiration.ts +++ b/examples/snippets/idempotency/workingWithRecordExpiration.ts @@ -24,7 +24,7 @@ export const handler = makeIdempotent( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } }, diff --git a/examples/snippets/idempotency/workingWithResponseHook.ts b/examples/snippets/idempotency/workingWithResponseHook.ts index e24509ba06..d61497b362 100644 --- a/examples/snippets/idempotency/workingWithResponseHook.ts +++ b/examples/snippets/idempotency/workingWithResponseHook.ts @@ -47,7 +47,7 @@ export const handler = makeIdempotent( message: 'success', statusCode: 200, }; - } catch (error) { + } catch (_error) { throw new Error('Error creating payment'); } }, diff --git a/examples/snippets/jmespath/extractDataFromBuiltinEnvelope.ts b/examples/snippets/jmespath/extractDataFromBuiltinEnvelope.ts index 55a4465fe0..6cd3102f7a 100644 --- a/examples/snippets/jmespath/extractDataFromBuiltinEnvelope.ts +++ b/examples/snippets/jmespath/extractDataFromBuiltinEnvelope.ts @@ -1,6 +1,6 @@ import { - SQS, extractDataFromEnvelope, + SQS, } from '@aws-lambda-powertools/jmespath/envelopes'; import { Logger } from '@aws-lambda-powertools/logger'; import type { SQSEvent } from 'aws-lambda'; diff --git a/examples/snippets/kafka/advancedBasicErrorHandling.ts b/examples/snippets/kafka/advancedBasicErrorHandling.ts index afb637b05e..083f21190f 100644 --- a/examples/snippets/kafka/advancedBasicErrorHandling.ts +++ b/examples/snippets/kafka/advancedBasicErrorHandling.ts @@ -1,7 +1,7 @@ declare function processRecord(record: unknown): Promise; import { readFileSync } from 'node:fs'; -import { SchemaType, kafkaConsumer } from '@aws-lambda-powertools/kafka'; +import { kafkaConsumer, SchemaType } from '@aws-lambda-powertools/kafka'; import { KafkaConsumerDeserializationError } from '@aws-lambda-powertools/kafka/errors'; import type { ConsumerRecord, diff --git a/examples/snippets/kafka/advancedHandlingLargeMessages.ts b/examples/snippets/kafka/advancedHandlingLargeMessages.ts index a9ac47909e..49cad466e5 100644 --- a/examples/snippets/kafka/advancedHandlingLargeMessages.ts +++ b/examples/snippets/kafka/advancedHandlingLargeMessages.ts @@ -1,7 +1,10 @@ declare function processRecordFromS3({ key, bucket, -}: { key: string; bucket: string }): Promise; +}: { + key: string; + bucket: string; +}): Promise; import { kafkaConsumer } from '@aws-lambda-powertools/kafka'; import { Logger } from '@aws-lambda-powertools/logger'; diff --git a/examples/snippets/kafka/advancedParserErrorHandling.ts b/examples/snippets/kafka/advancedParserErrorHandling.ts index 3b554c1aa0..d76d771492 100644 --- a/examples/snippets/kafka/advancedParserErrorHandling.ts +++ b/examples/snippets/kafka/advancedParserErrorHandling.ts @@ -1,7 +1,7 @@ declare function processRecord(record: unknown): Promise; import { readFileSync } from 'node:fs'; -import { SchemaType, kafkaConsumer } from '@aws-lambda-powertools/kafka'; +import { kafkaConsumer, SchemaType } from '@aws-lambda-powertools/kafka'; import { KafkaConsumerParserError } from '@aws-lambda-powertools/kafka/errors'; import type { ConsumerRecord, diff --git a/examples/snippets/kafka/advancedWorkingWithArkType.ts b/examples/snippets/kafka/advancedWorkingWithArkType.ts index f0926efad7..77ae727834 100644 --- a/examples/snippets/kafka/advancedWorkingWithArkType.ts +++ b/examples/snippets/kafka/advancedWorkingWithArkType.ts @@ -1,4 +1,4 @@ -import { SchemaType, kafkaConsumer } from '@aws-lambda-powertools/kafka'; +import { kafkaConsumer, SchemaType } from '@aws-lambda-powertools/kafka'; import type { SchemaConfig } from '@aws-lambda-powertools/kafka/types'; import { Logger } from '@aws-lambda-powertools/logger'; import { type } from 'arktype'; diff --git a/examples/snippets/kafka/advancedWorkingWithIdempotency.ts b/examples/snippets/kafka/advancedWorkingWithIdempotency.ts index d6a5292e9e..e51215e32c 100644 --- a/examples/snippets/kafka/advancedWorkingWithIdempotency.ts +++ b/examples/snippets/kafka/advancedWorkingWithIdempotency.ts @@ -3,7 +3,7 @@ import { makeIdempotent, } from '@aws-lambda-powertools/idempotency'; import { DynamoDBPersistenceLayer } from '@aws-lambda-powertools/idempotency/dynamodb'; -import { SchemaType, kafkaConsumer } from '@aws-lambda-powertools/kafka'; +import { kafkaConsumer, SchemaType } from '@aws-lambda-powertools/kafka'; import type { SchemaConfig } from '@aws-lambda-powertools/kafka/types'; import { Logger } from '@aws-lambda-powertools/logger'; import { com } from './samples/user.generated.js'; // protobuf generated class diff --git a/examples/snippets/kafka/advancedWorkingWithRecordMetadata.ts b/examples/snippets/kafka/advancedWorkingWithRecordMetadata.ts index 35974aa359..b78f3e2e00 100644 --- a/examples/snippets/kafka/advancedWorkingWithRecordMetadata.ts +++ b/examples/snippets/kafka/advancedWorkingWithRecordMetadata.ts @@ -1,4 +1,4 @@ -import { SchemaType, kafkaConsumer } from '@aws-lambda-powertools/kafka'; +import { kafkaConsumer, SchemaType } from '@aws-lambda-powertools/kafka'; import { Logger } from '@aws-lambda-powertools/logger'; import { com } from './samples/user.generated.js'; // protobuf generated class diff --git a/examples/snippets/kafka/advancedWorkingWithValibot.ts b/examples/snippets/kafka/advancedWorkingWithValibot.ts index 29c691aa4f..f357aac18b 100644 --- a/examples/snippets/kafka/advancedWorkingWithValibot.ts +++ b/examples/snippets/kafka/advancedWorkingWithValibot.ts @@ -1,4 +1,4 @@ -import { SchemaType, kafkaConsumer } from '@aws-lambda-powertools/kafka'; +import { kafkaConsumer, SchemaType } from '@aws-lambda-powertools/kafka'; import type { SchemaConfig } from '@aws-lambda-powertools/kafka/types'; import { Logger } from '@aws-lambda-powertools/logger'; import * as v from 'valibot'; diff --git a/examples/snippets/kafka/advancedWorkingWithZod.ts b/examples/snippets/kafka/advancedWorkingWithZod.ts index 6bb9240f1d..dc81b479aa 100644 --- a/examples/snippets/kafka/advancedWorkingWithZod.ts +++ b/examples/snippets/kafka/advancedWorkingWithZod.ts @@ -1,4 +1,4 @@ -import { SchemaType, kafkaConsumer } from '@aws-lambda-powertools/kafka'; +import { kafkaConsumer, SchemaType } from '@aws-lambda-powertools/kafka'; import type { SchemaConfig } from '@aws-lambda-powertools/kafka/types'; import { Logger } from '@aws-lambda-powertools/logger'; import { z } from 'zod/v4'; diff --git a/examples/snippets/kafka/gettingStartedAvro.ts b/examples/snippets/kafka/gettingStartedAvro.ts index 2b2ce2066e..a50486febd 100644 --- a/examples/snippets/kafka/gettingStartedAvro.ts +++ b/examples/snippets/kafka/gettingStartedAvro.ts @@ -1,5 +1,5 @@ import { readFileSync } from 'node:fs'; -import { SchemaType, kafkaConsumer } from '@aws-lambda-powertools/kafka'; +import { kafkaConsumer, SchemaType } from '@aws-lambda-powertools/kafka'; import type { SchemaConfig } from '@aws-lambda-powertools/kafka/types'; import { Logger } from '@aws-lambda-powertools/logger'; diff --git a/examples/snippets/kafka/gettingStartedJson.ts b/examples/snippets/kafka/gettingStartedJson.ts index 7030fb7512..b08c29ed38 100644 --- a/examples/snippets/kafka/gettingStartedJson.ts +++ b/examples/snippets/kafka/gettingStartedJson.ts @@ -1,4 +1,4 @@ -import { SchemaType, kafkaConsumer } from '@aws-lambda-powertools/kafka'; +import { kafkaConsumer, SchemaType } from '@aws-lambda-powertools/kafka'; import type { SchemaConfig } from '@aws-lambda-powertools/kafka/types'; import { Logger } from '@aws-lambda-powertools/logger'; diff --git a/examples/snippets/kafka/gettingStartedKeyValue.ts b/examples/snippets/kafka/gettingStartedKeyValue.ts index 3ba56caa78..38b240f038 100644 --- a/examples/snippets/kafka/gettingStartedKeyValue.ts +++ b/examples/snippets/kafka/gettingStartedKeyValue.ts @@ -1,4 +1,4 @@ -const keySchema = ` +const _keySchema = ` { "type": "record", "name": "ProductKey", @@ -8,7 +8,7 @@ const keySchema = ` } `; -const valueSchema = ` +const _valueSchema = ` { "type": "record", "name": "ProductInfo", @@ -37,7 +37,7 @@ type ProductInfo = { // --8<-- [start:func] import { readFileSync } from 'node:fs'; -import { SchemaType, kafkaConsumer } from '@aws-lambda-powertools/kafka'; +import { kafkaConsumer, SchemaType } from '@aws-lambda-powertools/kafka'; import type { SchemaConfig } from '@aws-lambda-powertools/kafka/types'; import { Logger } from '@aws-lambda-powertools/logger'; diff --git a/examples/snippets/kafka/gettingStartedProtobuf.ts b/examples/snippets/kafka/gettingStartedProtobuf.ts index 5e1731f18f..df7e404065 100644 --- a/examples/snippets/kafka/gettingStartedProtobuf.ts +++ b/examples/snippets/kafka/gettingStartedProtobuf.ts @@ -1,4 +1,4 @@ -import { SchemaType, kafkaConsumer } from '@aws-lambda-powertools/kafka'; +import { kafkaConsumer, SchemaType } from '@aws-lambda-powertools/kafka'; import type { SchemaConfig } from '@aws-lambda-powertools/kafka/types'; import { Logger } from '@aws-lambda-powertools/logger'; import { com } from './samples/user.generated.js'; // protobuf generated class diff --git a/examples/snippets/kafka/samples/kafkaEventAvro.json b/examples/snippets/kafka/samples/kafkaEventAvro.json index 73c3f00bdf..5cbbc40d3e 100644 --- a/examples/snippets/kafka/samples/kafkaEventAvro.json +++ b/examples/snippets/kafka/samples/kafkaEventAvro.json @@ -16,4 +16,4 @@ } ] } -} \ No newline at end of file +} diff --git a/examples/snippets/kafka/samples/kafkaEventJson.json b/examples/snippets/kafka/samples/kafkaEventJson.json index 8900f6e15e..62ea9748ab 100644 --- a/examples/snippets/kafka/samples/kafkaEventJson.json +++ b/examples/snippets/kafka/samples/kafkaEventJson.json @@ -16,4 +16,4 @@ } ] } -} \ No newline at end of file +} diff --git a/examples/snippets/kafka/samples/kafkaEventProtobuf.json b/examples/snippets/kafka/samples/kafkaEventProtobuf.json index ba5dc97fd7..1b06a91fbe 100644 --- a/examples/snippets/kafka/samples/kafkaEventProtobuf.json +++ b/examples/snippets/kafka/samples/kafkaEventProtobuf.json @@ -16,4 +16,4 @@ } ] } -} \ No newline at end of file +} diff --git a/examples/snippets/kafka/samples/user.json b/examples/snippets/kafka/samples/user.json index bb2ebdafd8..3ac5301c64 100644 --- a/examples/snippets/kafka/samples/user.json +++ b/examples/snippets/kafka/samples/user.json @@ -1,4 +1,4 @@ { "name": "...", "age": "..." -} \ No newline at end of file +} diff --git a/examples/snippets/logger/correlationIdLogger.ts b/examples/snippets/logger/correlationIdLogger.ts index 3c003fb0a5..83410e528d 100644 --- a/examples/snippets/logger/correlationIdLogger.ts +++ b/examples/snippets/logger/correlationIdLogger.ts @@ -1,6 +1,6 @@ import { Logger } from '@aws-lambda-powertools/logger'; import { search } from '@aws-lambda-powertools/logger/correlationId'; -const logger = new Logger({ +const _logger = new Logger({ correlationIdSearchFn: search, }); diff --git a/examples/snippets/logger/logBufferingFlushOnErrorMiddy.ts b/examples/snippets/logger/logBufferingFlushOnErrorMiddy.ts index 0758375a34..20cbfdfbe5 100644 --- a/examples/snippets/logger/logBufferingFlushOnErrorMiddy.ts +++ b/examples/snippets/logger/logBufferingFlushOnErrorMiddy.ts @@ -9,7 +9,7 @@ const logger = new Logger({ export const handler = middy() .use(injectLambdaContext(logger, { flushBufferOnUncaughtError: true })) - .handler(async (event: unknown) => { + .handler(async (_event: unknown) => { // Both logs below are buffered logger.debug('a debug log'); logger.debug('another debug log'); diff --git a/examples/snippets/logger/samples/debugLogSamplingNotSampled.json b/examples/snippets/logger/samples/debugLogSamplingNotSampled.json index f876f36306..ff90a045c5 100644 --- a/examples/snippets/logger/samples/debugLogSamplingNotSampled.json +++ b/examples/snippets/logger/samples/debugLogSamplingNotSampled.json @@ -5,4 +5,4 @@ "service": "serverlessAirline", "timestamp": "2021-12-12T22:59:06.334Z", "xray_trace_id": "abcdef123456abcdef123456abcdef123456" -} \ No newline at end of file +} diff --git a/examples/snippets/logger/samples/debugLogSamplingSampled.json b/examples/snippets/logger/samples/debugLogSamplingSampled.json index ae95e28aa1..b2fd1f03b0 100644 --- a/examples/snippets/logger/samples/debugLogSamplingSampled.json +++ b/examples/snippets/logger/samples/debugLogSamplingSampled.json @@ -31,4 +31,4 @@ "timestamp": "2021-12-12T22:59:06.338Z", "xray_trace_id": "abcdef123456abcdef123456abcdef123456" } -] \ No newline at end of file +] diff --git a/examples/snippets/logger/samples/logEventInput.json b/examples/snippets/logger/samples/logEventInput.json index b42f309e7a..c8c4105eb5 100644 --- a/examples/snippets/logger/samples/logEventInput.json +++ b/examples/snippets/logger/samples/logEventInput.json @@ -1,3 +1,3 @@ { "foo": "bar" -} \ No newline at end of file +} diff --git a/examples/snippets/logger/samples/logEventOutput.json b/examples/snippets/logger/samples/logEventOutput.json index 31c76da475..66edb136bb 100644 --- a/examples/snippets/logger/samples/logEventOutput.json +++ b/examples/snippets/logger/samples/logEventOutput.json @@ -13,4 +13,4 @@ "event": { "foo": "bar" } -} \ No newline at end of file +} diff --git a/examples/snippets/logger/unitTesting.ts b/examples/snippets/logger/unitTesting.ts index b81c6f02bb..4c431ac2fe 100644 --- a/examples/snippets/logger/unitTesting.ts +++ b/examples/snippets/logger/unitTesting.ts @@ -1,5 +1,6 @@ import type { Context } from 'aws-lambda'; import { describe, expect, it } from 'vitest'; + declare const handler: (event: unknown, context: Context) => Promise; const context = { diff --git a/examples/snippets/logger/unserializableValues.json b/examples/snippets/logger/unserializableValues.json index ffdd1c762e..d08715646b 100644 --- a/examples/snippets/logger/unserializableValues.json +++ b/examples/snippets/logger/unserializableValues.json @@ -5,9 +5,5 @@ "service": "serverlessAirline", "sampling_rate": 0, "xray_trace_id": "1-668a654d-396c646b760ee7d067f32f18", - "serializedValue": [ - 1, - 2, - 3 - ] + "serializedValue": [1, 2, 3] } diff --git a/examples/snippets/metrics/addHighResolutionMetric.ts b/examples/snippets/metrics/addHighResolutionMetric.ts index 5a100997e7..add10f3959 100644 --- a/examples/snippets/metrics/addHighResolutionMetric.ts +++ b/examples/snippets/metrics/addHighResolutionMetric.ts @@ -1,7 +1,7 @@ import { MetricResolution, - MetricUnit, Metrics, + MetricUnit, } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ diff --git a/examples/snippets/metrics/addMetadata.ts b/examples/snippets/metrics/addMetadata.ts index e8a06dfe16..9e86310e67 100644 --- a/examples/snippets/metrics/addMetadata.ts +++ b/examples/snippets/metrics/addMetadata.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; import { logMetrics } from '@aws-lambda-powertools/metrics/middleware'; import middy from '@middy/core'; diff --git a/examples/snippets/metrics/basicUsage.ts b/examples/snippets/metrics/basicUsage.ts index 13dfebf1d8..1deb2285bb 100644 --- a/examples/snippets/metrics/basicUsage.ts +++ b/examples/snippets/metrics/basicUsage.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ namespace: 'serverlessAirline', diff --git a/examples/snippets/metrics/captureColdStartMetric.ts b/examples/snippets/metrics/captureColdStartMetric.ts index 289934f9a7..dbc1e20c8f 100644 --- a/examples/snippets/metrics/captureColdStartMetric.ts +++ b/examples/snippets/metrics/captureColdStartMetric.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ namespace: 'serverlessAirline', diff --git a/examples/snippets/metrics/captureColdStartMetricDecorator.ts b/examples/snippets/metrics/captureColdStartMetricDecorator.ts index 3c21cc6513..8230dd8480 100644 --- a/examples/snippets/metrics/captureColdStartMetricDecorator.ts +++ b/examples/snippets/metrics/captureColdStartMetricDecorator.ts @@ -1,5 +1,5 @@ import type { LambdaInterface } from '@aws-lambda-powertools/commons/types'; -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ namespace: 'serverlessAirline', diff --git a/examples/snippets/metrics/captureColdStartMetricMiddy.ts b/examples/snippets/metrics/captureColdStartMetricMiddy.ts index 02131a5c0d..a09ada1939 100644 --- a/examples/snippets/metrics/captureColdStartMetricMiddy.ts +++ b/examples/snippets/metrics/captureColdStartMetricMiddy.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; import { logMetrics } from '@aws-lambda-powertools/metrics/middleware'; import middy from '@middy/core'; diff --git a/examples/snippets/metrics/createMetrics.ts b/examples/snippets/metrics/createMetrics.ts index 472f93d7c4..9a66a1bbb3 100644 --- a/examples/snippets/metrics/createMetrics.ts +++ b/examples/snippets/metrics/createMetrics.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ namespace: 'serverlessAirline', diff --git a/examples/snippets/metrics/customDimensions.ts b/examples/snippets/metrics/customDimensions.ts index fc5c3d3013..a36473571c 100644 --- a/examples/snippets/metrics/customDimensions.ts +++ b/examples/snippets/metrics/customDimensions.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ namespace: 'serverlessAirline', diff --git a/examples/snippets/metrics/customLogger.ts b/examples/snippets/metrics/customLogger.ts index 16acf4f9ab..0bdc47be5d 100644 --- a/examples/snippets/metrics/customLogger.ts +++ b/examples/snippets/metrics/customLogger.ts @@ -1,5 +1,5 @@ -import { LogLevel, Logger } from '@aws-lambda-powertools/logger'; -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Logger, LogLevel } from '@aws-lambda-powertools/logger'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const logger = new Logger({ logLevel: LogLevel.CRITICAL }); const metrics = new Metrics({ diff --git a/examples/snippets/metrics/decorator.ts b/examples/snippets/metrics/decorator.ts index 2332630395..b5aeb60254 100644 --- a/examples/snippets/metrics/decorator.ts +++ b/examples/snippets/metrics/decorator.ts @@ -1,5 +1,5 @@ import type { LambdaInterface } from '@aws-lambda-powertools/commons/types'; -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ namespace: 'serverlessAirline', diff --git a/examples/snippets/metrics/defaultDimensions.ts b/examples/snippets/metrics/defaultDimensions.ts index c41510b2e3..7c0340e5f5 100644 --- a/examples/snippets/metrics/defaultDimensions.ts +++ b/examples/snippets/metrics/defaultDimensions.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ namespace: 'serverlessAirline', diff --git a/examples/snippets/metrics/defaultDimensionsDecorator.ts b/examples/snippets/metrics/defaultDimensionsDecorator.ts index 9535f085be..be5d9131bf 100644 --- a/examples/snippets/metrics/defaultDimensionsDecorator.ts +++ b/examples/snippets/metrics/defaultDimensionsDecorator.ts @@ -1,5 +1,5 @@ import type { LambdaInterface } from '@aws-lambda-powertools/commons/types'; -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ namespace: 'serverlessAirline', diff --git a/examples/snippets/metrics/defaultDimensionsMiddy.ts b/examples/snippets/metrics/defaultDimensionsMiddy.ts index 9fc64520a2..b5f7ec9256 100644 --- a/examples/snippets/metrics/defaultDimensionsMiddy.ts +++ b/examples/snippets/metrics/defaultDimensionsMiddy.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; import { logMetrics } from '@aws-lambda-powertools/metrics/middleware'; import middy from '@middy/core'; diff --git a/examples/snippets/metrics/dimensionSets.ts b/examples/snippets/metrics/dimensionSets.ts index b1b1853951..ba3aa73470 100644 --- a/examples/snippets/metrics/dimensionSets.ts +++ b/examples/snippets/metrics/dimensionSets.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ namespace: 'serverlessAirline', diff --git a/examples/snippets/metrics/functionName.ts b/examples/snippets/metrics/functionName.ts index 2811a45af1..e6e2431a3c 100644 --- a/examples/snippets/metrics/functionName.ts +++ b/examples/snippets/metrics/functionName.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ namespace: 'serverlessAirline', diff --git a/examples/snippets/metrics/manual.ts b/examples/snippets/metrics/manual.ts index 424ad50b16..79c0068ca8 100644 --- a/examples/snippets/metrics/manual.ts +++ b/examples/snippets/metrics/manual.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ namespace: 'serverlessAirline', diff --git a/examples/snippets/metrics/middy.ts b/examples/snippets/metrics/middy.ts index 6585d4c227..d45a4aa08d 100644 --- a/examples/snippets/metrics/middy.ts +++ b/examples/snippets/metrics/middy.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; import { logMetrics } from '@aws-lambda-powertools/metrics/middleware'; import middy from '@middy/core'; diff --git a/examples/snippets/metrics/multiValueMetrics.ts b/examples/snippets/metrics/multiValueMetrics.ts index 0c4971c135..be185d0718 100644 --- a/examples/snippets/metrics/multiValueMetrics.ts +++ b/examples/snippets/metrics/multiValueMetrics.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ namespace: 'serverlessAirline', diff --git a/examples/snippets/metrics/sam.ts b/examples/snippets/metrics/sam.ts index a5fd3f0964..999e3fd9e3 100644 --- a/examples/snippets/metrics/sam.ts +++ b/examples/snippets/metrics/sam.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; // Metrics parameters fetched from the environment variables (see template.yaml tab) const metrics = new Metrics(); diff --git a/examples/snippets/metrics/setDefaultDimensions.ts b/examples/snippets/metrics/setDefaultDimensions.ts index 877570467e..7125519d54 100644 --- a/examples/snippets/metrics/setDefaultDimensions.ts +++ b/examples/snippets/metrics/setDefaultDimensions.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ namespace: 'serverlessAirline', diff --git a/examples/snippets/metrics/setTimestamp.ts b/examples/snippets/metrics/setTimestamp.ts index 5f6d6f69a4..f1866d1844 100644 --- a/examples/snippets/metrics/setTimestamp.ts +++ b/examples/snippets/metrics/setTimestamp.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ namespace: 'serverlessAirline', diff --git a/examples/snippets/metrics/singleMetric.ts b/examples/snippets/metrics/singleMetric.ts index d2889f48ce..ed1a829f06 100644 --- a/examples/snippets/metrics/singleMetric.ts +++ b/examples/snippets/metrics/singleMetric.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; const metrics = new Metrics({ namespace: 'serverlessAirline', diff --git a/examples/snippets/metrics/throwOnEmptyMetrics.ts b/examples/snippets/metrics/throwOnEmptyMetrics.ts index 391ae89124..2acb3f3dfd 100644 --- a/examples/snippets/metrics/throwOnEmptyMetrics.ts +++ b/examples/snippets/metrics/throwOnEmptyMetrics.ts @@ -1,4 +1,4 @@ -import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; +import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; import { logMetrics } from '@aws-lambda-powertools/metrics/middleware'; import middy from '@middy/core'; diff --git a/examples/snippets/parameters/testingYourCodeClientHandler.ts b/examples/snippets/parameters/testingYourCodeClientHandler.ts index 9264d5eff3..c0227d0a0e 100644 --- a/examples/snippets/parameters/testingYourCodeClientHandler.ts +++ b/examples/snippets/parameters/testingYourCodeClientHandler.ts @@ -10,7 +10,7 @@ export const handler = async ( return { value: parameter, }; - } catch (error) { + } catch (_error) { return { message: 'Unable to retrieve secret', }; diff --git a/examples/snippets/parser/extendAPIGatewayProxyEventV2Schema.ts b/examples/snippets/parser/extendAPIGatewayProxyEventV2Schema.ts index 7282564a0b..7e2600c546 100644 --- a/examples/snippets/parser/extendAPIGatewayProxyEventV2Schema.ts +++ b/examples/snippets/parser/extendAPIGatewayProxyEventV2Schema.ts @@ -11,4 +11,4 @@ const extendedSchema = APIGatewayProxyEventV2Schema.extend({ // (1)! }) ), }); -type ExtendedAPIGatewayEvent = z.infer; +type _ExtendedAPIGatewayEvent = z.infer; diff --git a/examples/snippets/parser/extendAlbSchema.ts b/examples/snippets/parser/extendAlbSchema.ts index ed7c8cf35b..7de794973e 100644 --- a/examples/snippets/parser/extendAlbSchema.ts +++ b/examples/snippets/parser/extendAlbSchema.ts @@ -11,4 +11,4 @@ const extendedSchema = AlbSchema.extend({ body: JSONStringified(customSchema), }); -type ExtendedAlbEvent = z.infer; +type _ExtendedAlbEvent = z.infer; diff --git a/examples/snippets/parser/extendDynamoDBStreamSchema.ts b/examples/snippets/parser/extendDynamoDBStreamSchema.ts index 30fc8abe2e..4742d78738 100644 --- a/examples/snippets/parser/extendDynamoDBStreamSchema.ts +++ b/examples/snippets/parser/extendDynamoDBStreamSchema.ts @@ -21,4 +21,4 @@ const extendedSchema = DynamoDBStreamSchema.extend({ ), }); -type ExtendedDynamoDBStreamEvent = z.infer; +type _ExtendedDynamoDBStreamEvent = z.infer; diff --git a/examples/snippets/parser/extendSqsSchema.ts b/examples/snippets/parser/extendSqsSchema.ts index 0a1d36c072..f5e4ed43c0 100644 --- a/examples/snippets/parser/extendSqsSchema.ts +++ b/examples/snippets/parser/extendSqsSchema.ts @@ -18,4 +18,4 @@ const extendedSchema = SqsSchema.extend({ ), }); -type ExtendedSqsEvent = z.infer; +type _ExtendedSqsEvent = z.infer; diff --git a/examples/snippets/parser/samples/exampleAPIGatewayProxyEventV2.json b/examples/snippets/parser/samples/exampleAPIGatewayProxyEventV2.json index c3cbd7fc40..5a993cb9c4 100644 --- a/examples/snippets/parser/samples/exampleAPIGatewayProxyEventV2.json +++ b/examples/snippets/parser/samples/exampleAPIGatewayProxyEventV2.json @@ -38,4 +38,4 @@ }, "body": "{\"name\":\"John\",\"age\":42}", "isBase64Encoded": false -} \ No newline at end of file +} diff --git a/examples/snippets/parser/samples/exampleDynamoDBStreamPayload.json b/examples/snippets/parser/samples/exampleDynamoDBStreamPayload.json index 621c5dc47f..16009a7a95 100644 --- a/examples/snippets/parser/samples/exampleDynamoDBStreamPayload.json +++ b/examples/snippets/parser/samples/exampleDynamoDBStreamPayload.json @@ -1,66 +1,65 @@ { - "Records": [ - { - "eventID": "1", - "eventVersion": "1.0", - "dynamodb": { - "ApproximateCreationDateTime": 1693997155.0, - "Keys": { - "Id": { - "N": "101" - } - }, - "NewImage": { - "Message": { - "S": "New item!" - }, - "Id": { - "N": "101" - } + "Records": [ + { + "eventID": "1", + "eventVersion": "1.0", + "dynamodb": { + "ApproximateCreationDateTime": 1693997155.0, + "Keys": { + "Id": { + "N": "101" + } + }, + "NewImage": { + "Message": { + "S": "New item!" }, - "StreamViewType": "NEW_AND_OLD_IMAGES", - "SequenceNumber": "111", - "SizeBytes": 26 + "Id": { + "N": "101" + } }, - "awsRegion": "us-west-2", - "eventName": "INSERT", - "eventSourceARN": "eventsource_arn", - "eventSource": "aws:dynamodb" + "StreamViewType": "NEW_AND_OLD_IMAGES", + "SequenceNumber": "111", + "SizeBytes": 26 }, - { - "eventID": "2", - "eventVersion": "1.0", - "dynamodb": { - "OldImage": { - "Message": { - "S": "New item!" - }, - "Id": { - "N": "101" - } - }, - "SequenceNumber": "222", - "Keys": { - "Id": { - "N": "101" - } + "awsRegion": "us-west-2", + "eventName": "INSERT", + "eventSourceARN": "eventsource_arn", + "eventSource": "aws:dynamodb" + }, + { + "eventID": "2", + "eventVersion": "1.0", + "dynamodb": { + "OldImage": { + "Message": { + "S": "New item!" }, - "SizeBytes": 59, - "NewImage": { - "Message": { - "S": "This item has changed" - }, - "Id": { - "N": "101" - } + "Id": { + "N": "101" + } + }, + "SequenceNumber": "222", + "Keys": { + "Id": { + "N": "101" + } + }, + "SizeBytes": 59, + "NewImage": { + "Message": { + "S": "This item has changed" }, - "StreamViewType": "NEW_AND_OLD_IMAGES" + "Id": { + "N": "101" + } }, - "awsRegion": "us-west-2", - "eventName": "MODIFY", - "eventSourceARN": "source_arn", - "eventSource": "aws:dynamodb" - } - ] - } - \ No newline at end of file + "StreamViewType": "NEW_AND_OLD_IMAGES" + }, + "awsRegion": "us-west-2", + "eventName": "MODIFY", + "eventSourceARN": "source_arn", + "eventSource": "aws:dynamodb" + } + ] +} diff --git a/examples/snippets/tracer/accessRootTraceId.ts b/examples/snippets/tracer/accessRootTraceId.ts index 54139f8f1c..c09acd2c3c 100644 --- a/examples/snippets/tracer/accessRootTraceId.ts +++ b/examples/snippets/tracer/accessRootTraceId.ts @@ -5,7 +5,7 @@ const tracer = new Tracer({ serviceName: 'serverlessAirline' }); export const handler = async (): Promise => { try { throw new Error('Something went wrong'); - } catch (err) { + } catch (_error) { const rootTraceId = tracer.getRootXrayTraceId(); // Example of returning an error response diff --git a/examples/snippets/validation/advancedExternalRefs.ts b/examples/snippets/validation/advancedExternalRefs.ts index 87ab0824ac..381108ad69 100644 --- a/examples/snippets/validation/advancedExternalRefs.ts +++ b/examples/snippets/validation/advancedExternalRefs.ts @@ -1,8 +1,8 @@ import { validator } from '@aws-lambda-powertools/validation/decorator'; import type { Context } from 'aws-lambda'; import { - type InboundSchema, defsSchema, + type InboundSchema, inboundSchema, outboundSchema, } from './schemasWithExternalRefs.js'; diff --git a/examples/snippets/validation/gettingStartedDecorator.ts b/examples/snippets/validation/gettingStartedDecorator.ts index 50cf98fa14..ebcc65185d 100644 --- a/examples/snippets/validation/gettingStartedDecorator.ts +++ b/examples/snippets/validation/gettingStartedDecorator.ts @@ -2,8 +2,8 @@ import { validator } from '@aws-lambda-powertools/validation/decorator'; import type { Context } from 'aws-lambda'; import { type InboundSchema, - type OutboundSchema, inboundSchema, + type OutboundSchema, outboundSchema, } from './schemas.js'; diff --git a/examples/snippets/validation/gettingStartedEnvelope.ts b/examples/snippets/validation/gettingStartedEnvelope.ts index 520e006bed..beee50fe9b 100644 --- a/examples/snippets/validation/gettingStartedEnvelope.ts +++ b/examples/snippets/validation/gettingStartedEnvelope.ts @@ -7,7 +7,7 @@ class Lambda { inboundSchema, envelope: 'detail', }) - async handler(event: InboundSchema, context: Context) { + async handler(event: InboundSchema, _context: Context) { return { message: `processed ${event.userId}`, success: true, diff --git a/examples/snippets/validation/gettingStartedMiddy.ts b/examples/snippets/validation/gettingStartedMiddy.ts index 9b700ab9cf..fe09bfbd58 100644 --- a/examples/snippets/validation/gettingStartedMiddy.ts +++ b/examples/snippets/validation/gettingStartedMiddy.ts @@ -2,8 +2,8 @@ import { validator } from '@aws-lambda-powertools/validation/middleware'; import middy from '@middy/core'; import { type InboundSchema, - type OutboundSchema, inboundSchema, + type OutboundSchema, outboundSchema, } from './schemas.js'; diff --git a/examples/snippets/validation/samples/gettingStartedEnvelopeEvent.json b/examples/snippets/validation/samples/gettingStartedEnvelopeEvent.json index 17c1c5672e..d31f2d1700 100644 --- a/examples/snippets/validation/samples/gettingStartedEnvelopeEvent.json +++ b/examples/snippets/validation/samples/gettingStartedEnvelopeEvent.json @@ -10,4 +10,4 @@ "detail": { "userId": "123" } -} \ No newline at end of file +} diff --git a/examples/snippets/validation/samples/gettingStartedSQSEnvelopeEvent.json b/examples/snippets/validation/samples/gettingStartedSQSEnvelopeEvent.json index a8df4bf107..0bdc1552c4 100644 --- a/examples/snippets/validation/samples/gettingStartedSQSEnvelopeEvent.json +++ b/examples/snippets/validation/samples/gettingStartedSQSEnvelopeEvent.json @@ -33,4 +33,4 @@ "awsRegion": "us-west-2" } ] -} \ No newline at end of file +} diff --git a/examples/snippets/validation/samples/schemaWithCustomFormat.json b/examples/snippets/validation/samples/schemaWithCustomFormat.json index 954fe05ddd..69b21e9569 100644 --- a/examples/snippets/validation/samples/schemaWithCustomFormat.json +++ b/examples/snippets/validation/samples/schemaWithCustomFormat.json @@ -10,7 +10,5 @@ "format": "creditcard" } }, - "required": [ - "accountId" - ] -} \ No newline at end of file + "required": ["accountId"] +} diff --git a/layers/tests/e2e/layerPublisher.class.test.functionCode.ts b/layers/tests/e2e/layerPublisher.class.test.functionCode.ts index 440875dfd1..ed6b0f2d8e 100644 --- a/layers/tests/e2e/layerPublisher.class.test.functionCode.ts +++ b/layers/tests/e2e/layerPublisher.class.test.functionCode.ts @@ -79,7 +79,7 @@ const getVersionFromModule = async (moduleName: string): Promise => { return moduleVersion; }; -export const handler = async (event: unknown): Promise => { +export const handler = async (_event: unknown): Promise => { // Check that the packages version matches the expected one for (const moduleName of [ 'commons', diff --git a/layers/tests/e2e/layerPublisher.test.ts b/layers/tests/e2e/layerPublisher.test.ts index cffa1db3a5..0b2796828e 100644 --- a/layers/tests/e2e/layerPublisher.test.ts +++ b/layers/tests/e2e/layerPublisher.test.ts @@ -1,14 +1,14 @@ import { join } from 'node:path'; import { - TestInvocationLogs, - TestStack, generateTestUniqueName, invokeFunctionOnce, + TestInvocationLogs, + TestStack, } from '@aws-lambda-powertools/testing-utils'; import { TestNodejsFunction } from '@aws-lambda-powertools/testing-utils/resources/lambda'; import { App } from 'aws-cdk-lib'; import { LayerVersion } from 'aws-cdk-lib/aws-lambda'; -import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'; +import { afterAll, beforeAll, describe, expect, it } from 'vitest'; import packageJson from '../../package.json' with { type: 'json' }; import { LayerPublisherStack } from '../../src/layer-publisher-stack.js'; import { RESOURCE_NAME_PREFIX } from './constants.js'; diff --git a/package-lock.json b/package-lock.json index 980e7a889e..13dfd84ad7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ "packages/kafka" ], "devDependencies": { - "@biomejs/biome": "^1.9.4", + "@biomejs/biome": "^2.0.6", "@types/aws-lambda": "^8.10.150", "@types/node": "^24.0.10", "@vitest/coverage-v8": "^3.2.4", @@ -10770,11 +10770,11 @@ } }, "node_modules/@biomejs/biome": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.9.4.tgz", - "integrity": "sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.0.6.tgz", + "integrity": "sha512-RRP+9cdh5qwe2t0gORwXaa27oTOiQRQvrFf49x2PA1tnpsyU7FIHX4ZOFMtBC4QNtyWsN7Dqkf5EDbg4X+9iqA==", "dev": true, - "hasInstallScript": true, + "license": "MIT OR Apache-2.0", "bin": { "biome": "bin/biome" }, @@ -10786,24 +10786,25 @@ "url": "https://opencollective.com/biome" }, "optionalDependencies": { - "@biomejs/cli-darwin-arm64": "1.9.4", - "@biomejs/cli-darwin-x64": "1.9.4", - "@biomejs/cli-linux-arm64": "1.9.4", - "@biomejs/cli-linux-arm64-musl": "1.9.4", - "@biomejs/cli-linux-x64": "1.9.4", - "@biomejs/cli-linux-x64-musl": "1.9.4", - "@biomejs/cli-win32-arm64": "1.9.4", - "@biomejs/cli-win32-x64": "1.9.4" + "@biomejs/cli-darwin-arm64": "2.0.6", + "@biomejs/cli-darwin-x64": "2.0.6", + "@biomejs/cli-linux-arm64": "2.0.6", + "@biomejs/cli-linux-arm64-musl": "2.0.6", + "@biomejs/cli-linux-x64": "2.0.6", + "@biomejs/cli-linux-x64-musl": "2.0.6", + "@biomejs/cli-win32-arm64": "2.0.6", + "@biomejs/cli-win32-x64": "2.0.6" } }, "node_modules/@biomejs/cli-darwin-arm64": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.9.4.tgz", - "integrity": "sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.0.6.tgz", + "integrity": "sha512-AzdiNNjNzsE6LfqWyBvcL29uWoIuZUkndu+wwlXW13EKcBHbbKjNQEZIJKYDc6IL+p7bmWGx3v9ZtcRyIoIz5A==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "darwin" @@ -10813,13 +10814,14 @@ } }, "node_modules/@biomejs/cli-darwin-x64": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.9.4.tgz", - "integrity": "sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.0.6.tgz", + "integrity": "sha512-wJjjP4E7bO4WJmiQaLnsdXMa516dbtC6542qeRkyJg0MqMXP0fvs4gdsHhZ7p9XWTAmGIjZHFKXdsjBvKGIJJQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "darwin" @@ -10829,13 +10831,14 @@ } }, "node_modules/@biomejs/cli-linux-arm64": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.9.4.tgz", - "integrity": "sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.0.6.tgz", + "integrity": "sha512-ZSVf6TYo5rNMUHIW1tww+rs/krol7U5A1Is/yzWyHVZguuB0lBnIodqyFuwCNqG9aJGyk7xIMS8HG0qGUPz0SA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "linux" @@ -10845,13 +10848,14 @@ } }, "node_modules/@biomejs/cli-linux-arm64-musl": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.9.4.tgz", - "integrity": "sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.0.6.tgz", + "integrity": "sha512-CVPEMlin3bW49sBqLBg2x016Pws7eUXA27XYDFlEtponD0luYjg2zQaMJ2nOqlkKG9fqzzkamdYxHdMDc2gZFw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "linux" @@ -10861,13 +10865,14 @@ } }, "node_modules/@biomejs/cli-linux-x64": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.9.4.tgz", - "integrity": "sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.0.6.tgz", + "integrity": "sha512-geM1MkHTV1Kh2Cs/Xzot9BOF3WBacihw6bkEmxkz4nSga8B9/hWy5BDiOG3gHDGIBa8WxT0nzsJs2f/hPqQIQw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "linux" @@ -10877,13 +10882,14 @@ } }, "node_modules/@biomejs/cli-linux-x64-musl": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.9.4.tgz", - "integrity": "sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.0.6.tgz", + "integrity": "sha512-mKHE/e954hR/hSnAcJSjkf4xGqZc/53Kh39HVW1EgO5iFi0JutTN07TSjEMg616julRtfSNJi0KNyxvc30Y4rQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "linux" @@ -10893,13 +10899,14 @@ } }, "node_modules/@biomejs/cli-win32-arm64": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.9.4.tgz", - "integrity": "sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.0.6.tgz", + "integrity": "sha512-290V4oSFoKaprKE1zkYVsDfAdn0An5DowZ+GIABgjoq1ndhvNxkJcpxPsiYtT7slbVe3xmlT0ncdfOsN7KruzA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "win32" @@ -10909,13 +10916,14 @@ } }, "node_modules/@biomejs/cli-win32-x64": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.9.4.tgz", - "integrity": "sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.0.6.tgz", + "integrity": "sha512-bfM1Bce0d69Ao7pjTjUS+AWSZ02+5UHdiAP85Th8e9yV5xzw6JrHXbL5YWlcEKQ84FIZMdDc7ncuti1wd2sdbw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT OR Apache-2.0", "optional": true, "os": [ "win32" diff --git a/package.json b/package.json index 330daeb105..9f72ee2bc8 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ }, "homepage": "https://github.com/aws-powertools/powertools-lambda-typescript#readme", "devDependencies": { - "@biomejs/biome": "^1.9.4", + "@biomejs/biome": "^2.0.6", "@types/aws-lambda": "^8.10.150", "@types/node": "^24.0.10", "@vitest/coverage-v8": "^3.2.4", diff --git a/packages/batch/src/SqsFifoPartialProcessor.ts b/packages/batch/src/SqsFifoPartialProcessor.ts index fded442669..d7752b83f8 100644 --- a/packages/batch/src/SqsFifoPartialProcessor.ts +++ b/packages/batch/src/SqsFifoPartialProcessor.ts @@ -1,12 +1,12 @@ import type { SQSRecord } from 'aws-lambda'; import { BatchProcessorSync } from './BatchProcessorSync.js'; -import { SqsFifoProcessor } from './SqsFifoProcessor.js'; import { EventType } from './constants.js'; import { type BatchProcessingError, SqsFifoMessageGroupShortCircuitError, SqsFifoShortCircuitError, } from './errors.js'; +import { SqsFifoProcessor } from './SqsFifoProcessor.js'; import type { BaseRecord, EventSourceDataClassTypes, diff --git a/packages/batch/src/SqsFifoPartialProcessorAsync.ts b/packages/batch/src/SqsFifoPartialProcessorAsync.ts index 59001b6b4b..9e15d4a916 100644 --- a/packages/batch/src/SqsFifoPartialProcessorAsync.ts +++ b/packages/batch/src/SqsFifoPartialProcessorAsync.ts @@ -1,12 +1,12 @@ import type { SQSRecord } from 'aws-lambda'; import { BatchProcessor } from './BatchProcessor.js'; -import { SqsFifoProcessor } from './SqsFifoProcessor.js'; import { EventType } from './constants.js'; import { type BatchProcessingError, SqsFifoMessageGroupShortCircuitError, SqsFifoShortCircuitError, } from './errors.js'; +import { SqsFifoProcessor } from './SqsFifoProcessor.js'; import type { BaseRecord, EventSourceDataClassTypes, diff --git a/packages/batch/src/index.ts b/packages/batch/src/index.ts index ceb2b114fb..510c57123d 100644 --- a/packages/batch/src/index.ts +++ b/packages/batch/src/index.ts @@ -1,15 +1,15 @@ +export { BasePartialBatchProcessor } from './BasePartialBatchProcessor.js'; +export { BatchProcessor } from './BatchProcessor.js'; +export { BatchProcessorSync } from './BatchProcessorSync.js'; export { EventType } from './constants.js'; export { BatchProcessingError, FullBatchFailureError, - SqsFifoShortCircuitError, SqsFifoMessageGroupShortCircuitError, + SqsFifoShortCircuitError, UnexpectedBatchTypeError, } from './errors.js'; -export { BasePartialBatchProcessor } from './BasePartialBatchProcessor.js'; -export { BatchProcessorSync } from './BatchProcessorSync.js'; -export { BatchProcessor } from './BatchProcessor.js'; -export { processPartialResponseSync } from './processPartialResponseSync.js'; export { processPartialResponse } from './processPartialResponse.js'; +export { processPartialResponseSync } from './processPartialResponseSync.js'; export { SqsFifoPartialProcessor } from './SqsFifoPartialProcessor.js'; export { SqsFifoPartialProcessorAsync } from './SqsFifoPartialProcessorAsync.js'; diff --git a/packages/batch/tests/helpers/handlers.ts b/packages/batch/tests/helpers/handlers.ts index 1902cd1a2b..fbc962daee 100644 --- a/packages/batch/tests/helpers/handlers.ts +++ b/packages/batch/tests/helpers/handlers.ts @@ -68,7 +68,7 @@ const handlerWithContext = (record: SQSRecord, context: Context): string => { if (context.getRemainingTimeInMillis() === 0) { throw Error('No time remaining.'); } - } catch (e) { + } catch { throw Error(`Context possibly malformed. Displaying context:\n${context}`); } @@ -83,7 +83,7 @@ const asyncHandlerWithContext = async ( if (context.getRemainingTimeInMillis() === 0) { throw Error('No time remaining.'); } - } catch (e) { + } catch { throw Error(`Context possibly malformed. Displaying context:\n${context}`); } diff --git a/packages/batch/tests/unit/BatchProcessorSync.test.ts b/packages/batch/tests/unit/BatchProcessorSync.test.ts index e341628da8..91c9e7bfe0 100644 --- a/packages/batch/tests/unit/BatchProcessorSync.test.ts +++ b/packages/batch/tests/unit/BatchProcessorSync.test.ts @@ -1,5 +1,4 @@ import context from '@aws-lambda-powertools/testing-utils/context'; -import type { Context } from 'aws-lambda'; import { afterAll, beforeEach, describe, expect, it, vi } from 'vitest'; import { BatchProcessingError, diff --git a/packages/batch/tests/unit/SqsFifoPartialProcessor.test.ts b/packages/batch/tests/unit/SqsFifoPartialProcessor.test.ts index 3c6cc35e76..6071464039 100644 --- a/packages/batch/tests/unit/SqsFifoPartialProcessor.test.ts +++ b/packages/batch/tests/unit/SqsFifoPartialProcessor.test.ts @@ -1,11 +1,11 @@ import { afterAll, beforeEach, describe, expect, it, vi } from 'vitest'; import { + processPartialResponse, + processPartialResponseSync, SqsFifoMessageGroupShortCircuitError, SqsFifoPartialProcessor, SqsFifoPartialProcessorAsync, SqsFifoShortCircuitError, - processPartialResponse, - processPartialResponseSync, } from '../../src/index.js'; import type { PartialItemFailureResponse } from '../../src/types.js'; import { sqsRecordFactory } from '../helpers/factories.js'; diff --git a/packages/batch/tests/unit/processPartialResponse.test.ts b/packages/batch/tests/unit/processPartialResponse.test.ts index 54d0ef6fec..d9c6d56a20 100644 --- a/packages/batch/tests/unit/processPartialResponse.test.ts +++ b/packages/batch/tests/unit/processPartialResponse.test.ts @@ -11,8 +11,8 @@ import { BatchProcessor, EventType, FullBatchFailureError, - UnexpectedBatchTypeError, processPartialResponse, + UnexpectedBatchTypeError, } from '../../src/index.js'; import type { BatchProcessingOptions, diff --git a/packages/batch/tests/unit/processPartialResponseSync.test.ts b/packages/batch/tests/unit/processPartialResponseSync.test.ts index b274f6f8f6..ccd773aefd 100644 --- a/packages/batch/tests/unit/processPartialResponseSync.test.ts +++ b/packages/batch/tests/unit/processPartialResponseSync.test.ts @@ -10,8 +10,8 @@ import { BatchProcessorSync, EventType, FullBatchFailureError, - UnexpectedBatchTypeError, processPartialResponseSync, + UnexpectedBatchTypeError, } from '../../src/index.js'; import type { BatchProcessingOptions, diff --git a/packages/batch/tsconfig.cjs.json b/packages/batch/tsconfig.cjs.json index 7d570c8dbe..a8fadd417f 100644 --- a/packages/batch/tsconfig.cjs.json +++ b/packages/batch/tsconfig.cjs.json @@ -7,7 +7,5 @@ "rootDir": "./src", "tsBuildInfoFile": ".tsbuildinfo/cjs.json" }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/batch/tsconfig.json b/packages/batch/tsconfig.json index 204ff253d4..e1c2fb1dc4 100644 --- a/packages/batch/tsconfig.json +++ b/packages/batch/tsconfig.json @@ -8,7 +8,5 @@ "composite": true, "declaration": true }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/commons/src/envUtils.ts b/packages/commons/src/envUtils.ts index fe1c459b6e..b9848dc993 100644 --- a/packages/commons/src/envUtils.ts +++ b/packages/commons/src/envUtils.ts @@ -224,7 +224,7 @@ const isDevMode = (): boolean => { key: POWERTOOLS_DEV_ENV_VAR, extendedParsing: true, }); - } catch (error) { + } catch { return false; } }; diff --git a/packages/commons/src/index.ts b/packages/commons/src/index.ts index 03b21e2ef7..64a2774b83 100644 --- a/packages/commons/src/index.ts +++ b/packages/commons/src/index.ts @@ -1,26 +1,28 @@ import { PT_VERSION } from './version.js'; + if (!process.env.AWS_SDK_UA_APP_ID) { process.env.AWS_SDK_UA_APP_ID = `PT/NO-OP/${PT_VERSION}`; } -export { PT_VERSION } from './version.js'; + +export { addUserAgentMiddleware, isSdkClient } from './awsSdkUtils.js'; +export { EnvironmentVariablesService } from './config/EnvironmentVariablesService.js'; +export { cleanupMiddlewares } from './middleware/cleanupMiddlewares.js'; export { - isRecord, - isString, - isNumber, + IDEMPOTENCY_KEY, + LOGGER_KEY, + METRICS_KEY, + TRACER_KEY, +} from './middleware/constants.js'; +export { + getType, isIntegerNumber, - isTruthy, isNull, isNullOrUndefined, - getType, + isNumber, + isRecord, isStrictEqual, + isString, + isTruthy, } from './typeUtils.js'; export { Utility } from './Utility.js'; -export { EnvironmentVariablesService } from './config/EnvironmentVariablesService.js'; -export { addUserAgentMiddleware, isSdkClient } from './awsSdkUtils.js'; -export { cleanupMiddlewares } from './middleware/cleanupMiddlewares.js'; -export { - TRACER_KEY, - LOGGER_KEY, - METRICS_KEY, - IDEMPOTENCY_KEY, -} from './middleware/constants.js'; +export { PT_VERSION } from './version.js'; diff --git a/packages/commons/src/types/index.ts b/packages/commons/src/types/index.ts index de3d07f01b..7984f1308a 100644 --- a/packages/commons/src/types/index.ts +++ b/packages/commons/src/types/index.ts @@ -1,27 +1,27 @@ +export type { MiddlewareArgsLike, SdkClient } from './awsSdk.js'; +export type { ConfigServiceInterface } from './ConfigServiceInterface.js'; export type { - Request, - MiddlewareLikeObj, - MiddyLikeRequest, - MiddlewareFn, - CleanupFunction, -} from './middy.js'; + GetBooleanFromEnvOptions, + GetNumberFromEnvOptions, + GetStringFromEnvOptions, +} from './envUtils.js'; export type { GenericLogger } from './GenericLogger.js'; -export type { SdkClient, MiddlewareArgsLike } from './awsSdk.js'; export type { + JSONArray, + JSONObject, JSONPrimitive, JSONValue, - JSONObject, - JSONArray, } from './json.js'; export type { - SyncHandler, AsyncHandler, - LambdaInterface, HandlerMethodDecorator, + LambdaInterface, + SyncHandler, } from './LambdaInterface.js'; -export type { ConfigServiceInterface } from './ConfigServiceInterface.js'; export type { - GetStringFromEnvOptions, - GetBooleanFromEnvOptions, - GetNumberFromEnvOptions, -} from './envUtils.js'; + CleanupFunction, + MiddlewareFn, + MiddlewareLikeObj, + MiddyLikeRequest, + Request, +} from './middy.js'; diff --git a/packages/commons/src/unmarshallDynamoDB.ts b/packages/commons/src/unmarshallDynamoDB.ts index 6c98201999..13dff27de4 100644 --- a/packages/commons/src/unmarshallDynamoDB.ts +++ b/packages/commons/src/unmarshallDynamoDB.ts @@ -58,7 +58,7 @@ const convertNumber = (numString: string) => { if (isLargeFiniteNumber) { try { return BigInt(numString); - } catch (error) { + } catch { throw new UnmarshallDynamoDBAttributeError( `${numString} can't be converted to BigInt` ); diff --git a/packages/commons/tests/unit/cleanupMiddlewares.test.ts b/packages/commons/tests/unit/cleanupMiddlewares.test.ts index 2046455de4..c11da107fe 100644 --- a/packages/commons/tests/unit/cleanupMiddlewares.test.ts +++ b/packages/commons/tests/unit/cleanupMiddlewares.test.ts @@ -1,11 +1,11 @@ import context from '@aws-lambda-powertools/testing-utils/context'; import { describe, expect, it, vi } from 'vitest'; import { + cleanupMiddlewares, IDEMPOTENCY_KEY, LOGGER_KEY, METRICS_KEY, TRACER_KEY, - cleanupMiddlewares, } from '../../src/index.js'; describe('Function: cleanupMiddlewares', () => { diff --git a/packages/commons/tsconfig.cjs.json b/packages/commons/tsconfig.cjs.json index 7d570c8dbe..a8fadd417f 100644 --- a/packages/commons/tsconfig.cjs.json +++ b/packages/commons/tsconfig.cjs.json @@ -7,7 +7,5 @@ "rootDir": "./src", "tsBuildInfoFile": ".tsbuildinfo/cjs.json" }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/commons/tsconfig.json b/packages/commons/tsconfig.json index 204ff253d4..e1c2fb1dc4 100644 --- a/packages/commons/tsconfig.json +++ b/packages/commons/tsconfig.json @@ -8,7 +8,5 @@ "composite": true, "declaration": true }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/commons/typedoc.json b/packages/commons/typedoc.json index 1ba85b7f7d..e85c329a9d 100644 --- a/packages/commons/typedoc.json +++ b/packages/commons/typedoc.json @@ -1,7 +1,5 @@ { - "extends": [ - "../../typedoc.base.json" - ], + "extends": ["../../typedoc.base.json"], "entryPoints": [ "./src/index.ts", "./src/types/index.ts", @@ -12,4 +10,4 @@ "./src/LRUCache.ts" ], "readme": "./README.md" -} \ No newline at end of file +} diff --git a/packages/event-handler/src/appsync-events/AppSyncEventsResolver.ts b/packages/event-handler/src/appsync-events/AppSyncEventsResolver.ts index 4e1e06b1c5..25be97bb8d 100644 --- a/packages/event-handler/src/appsync-events/AppSyncEventsResolver.ts +++ b/packages/event-handler/src/appsync-events/AppSyncEventsResolver.ts @@ -7,8 +7,8 @@ import type { OnSubscribeHandler, } from '../types/appsync-events.js'; import type { ResolveOptions } from '../types/common.js'; -import { Router } from './Router.js'; import { UnauthorizedException } from './errors.js'; +import { Router } from './Router.js'; import { isAppSyncEventsEvent, isAppSyncEventsPublishEvent } from './utils.js'; /** diff --git a/packages/event-handler/src/appsync-events/RouteHandlerRegistry.ts b/packages/event-handler/src/appsync-events/RouteHandlerRegistry.ts index f6cbf9ebe2..4ad6937aa9 100644 --- a/packages/event-handler/src/appsync-events/RouteHandlerRegistry.ts +++ b/packages/event-handler/src/appsync-events/RouteHandlerRegistry.ts @@ -101,7 +101,8 @@ class RouteHandlerRegistry { return this.#resolverCache.get(path); } this.#logger.debug(`Resolving handler for path '${path}'`); - let mostSpecificHandler = undefined; + let mostSpecificHandler: RouteHandlerOptions | undefined; + // Find the most specific handler by checking the regex patterns let mostSpecificRouteLength = 0; for (const [key, value] of this.resolvers.entries()) { if (new RegExp(key).test(path)) { @@ -137,7 +138,7 @@ class RouteHandlerRegistry { */ static isValidPath(path: string): boolean { if (path === '/*') return true; - const pathRegex = /^\/([^\/\*]+)(\/[^\/\*]+)*(\/\*)?$/; + const pathRegex = /^\/([^/*]+)(\/[^/*]+)*(\/\*)?$/; return pathRegex.test(path); } @@ -149,7 +150,7 @@ class RouteHandlerRegistry { * @param path - The path to be converted to a regex string */ static pathToRegexString(path: string): string { - const escapedPath = path.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, '\\$1'); + const escapedPath = path.replace(/([.*+?^=!:${}()|[\]/\\])/g, '\\$1'); return `^${escapedPath.replace(/\\\*/g, '.*')}$`; } } diff --git a/packages/event-handler/src/appsync-events/Router.ts b/packages/event-handler/src/appsync-events/Router.ts index feb70526ef..8aa0a10cd6 100644 --- a/packages/event-handler/src/appsync-events/Router.ts +++ b/packages/event-handler/src/appsync-events/Router.ts @@ -194,7 +194,7 @@ class Router { return; } - return (target, _propertyKey, descriptor: PropertyDescriptor) => { + return (_target, _propertyKey, descriptor: PropertyDescriptor) => { const routeOptions = isRecord(handler) ? handler : options; this.onPublishRegistry.register({ path, diff --git a/packages/event-handler/src/appsync-events/index.ts b/packages/event-handler/src/appsync-events/index.ts index 8b25ae13be..00e319169d 100644 --- a/packages/event-handler/src/appsync-events/index.ts +++ b/packages/event-handler/src/appsync-events/index.ts @@ -1,3 +1,3 @@ export { AppSyncEventsResolver } from './AppSyncEventsResolver.js'; -export { Router } from './Router.js'; export { UnauthorizedException } from './errors.js'; +export { Router } from './Router.js'; diff --git a/packages/event-handler/src/appsync-graphql/AppSyncGraphQLResolver.ts b/packages/event-handler/src/appsync-graphql/AppSyncGraphQLResolver.ts index cda083b554..9c2679dcea 100644 --- a/packages/event-handler/src/appsync-graphql/AppSyncGraphQLResolver.ts +++ b/packages/event-handler/src/appsync-graphql/AppSyncGraphQLResolver.ts @@ -1,7 +1,7 @@ import type { AppSyncResolverEvent, Context } from 'aws-lambda'; import type { ResolveOptions } from '../types/common.js'; -import { Router } from './Router.js'; import { ResolverNotFoundException } from './errors.js'; +import { Router } from './Router.js'; import { isAppSyncGraphQLEvent } from './utils.js'; /** diff --git a/packages/event-handler/src/appsync-graphql/index.ts b/packages/event-handler/src/appsync-graphql/index.ts index 78092fbd57..40524b71aa 100644 --- a/packages/event-handler/src/appsync-graphql/index.ts +++ b/packages/event-handler/src/appsync-graphql/index.ts @@ -1,9 +1,9 @@ export { AppSyncGraphQLResolver } from './AppSyncGraphQLResolver.js'; export { ResolverNotFoundException } from './errors.js'; export { - makeId, - awsTimestamp, awsDate, - awsTime, awsDateTime, + awsTime, + awsTimestamp, + makeId, } from './scalarTypesUtils.js'; diff --git a/packages/event-handler/src/bedrock-agent/BedrockFunctionResponse.ts b/packages/event-handler/src/bedrock-agent/BedrockFunctionResponse.ts index 25609c9ee9..8bb5258c4e 100644 --- a/packages/event-handler/src/bedrock-agent/BedrockFunctionResponse.ts +++ b/packages/event-handler/src/bedrock-agent/BedrockFunctionResponse.ts @@ -71,10 +71,7 @@ class BedrockFunctionResponse { * @param options.actionGroup - The action group of the function, this comes from the `event.actionGroup` field in the Bedrock agent function event. * @param options.func - The name of the function being invoked by the agent, this comes from the `event.function` field in the Bedrock agent function event. */ - build(options: { - actionGroup: string; - func: string; - }) { + build(options: { actionGroup: string; func: string }) { return { messageVersion: '1.0', response: { diff --git a/packages/event-handler/src/types/index.ts b/packages/event-handler/src/types/index.ts index 3a5d286377..c26f70b878 100644 --- a/packages/event-handler/src/types/index.ts +++ b/packages/event-handler/src/types/index.ts @@ -11,21 +11,21 @@ export type { } from './appsync-events.js'; export type { + GraphQlRouteOptions, + GraphQlRouterOptions, ResolverHandler, RouteHandlerOptions, - GraphQlRouterOptions, - GraphQlRouteOptions, } from './appsync-graphql.js'; export type { BedrockAgentFunctionEvent, BedrockAgentFunctionResponse, - ResolverOptions, Parameter, + ResolverOptions, ResponseState, } from './bedrock-agent.js'; export type { - ResolveOptions, Anything, + ResolveOptions, } from './common.js'; diff --git a/packages/event-handler/tests/events/onPublish.json b/packages/event-handler/tests/events/onPublish.json index 0e7150930b..4db0f93a2d 100644 --- a/packages/event-handler/tests/events/onPublish.json +++ b/packages/event-handler/tests/events/onPublish.json @@ -10,10 +10,7 @@ "info": { "channel": { "path": "/request/channel", - "segments": [ - "request", - "channel" - ] + "segments": ["request", "channel"] }, "channelNamespace": { "name": "request" @@ -44,4 +41,4 @@ "id": "8bb2983a-0967-45a0-8243-0aeb8c83d80e" } ] -} \ No newline at end of file +} diff --git a/packages/event-handler/tests/unit/appsync-graphql/AppSyncGraphQLResolver.test.ts b/packages/event-handler/tests/unit/appsync-graphql/AppSyncGraphQLResolver.test.ts index b28b3877bf..6e6c2574f9 100644 --- a/packages/event-handler/tests/unit/appsync-graphql/AppSyncGraphQLResolver.test.ts +++ b/packages/event-handler/tests/unit/appsync-graphql/AppSyncGraphQLResolver.test.ts @@ -216,7 +216,10 @@ describe('Class: AppSyncGraphQLResolver', () => { public async handleAddPost({ title, content, - }: { title: string; content: string }) { + }: { + title: string; + content: string; + }) { return { id: '123', title, diff --git a/packages/event-handler/tsconfig.cjs.json b/packages/event-handler/tsconfig.cjs.json index 7d570c8dbe..a8fadd417f 100644 --- a/packages/event-handler/tsconfig.cjs.json +++ b/packages/event-handler/tsconfig.cjs.json @@ -7,7 +7,5 @@ "rootDir": "./src", "tsBuildInfoFile": ".tsbuildinfo/cjs.json" }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/event-handler/tsconfig.json b/packages/event-handler/tsconfig.json index 204ff253d4..e1c2fb1dc4 100644 --- a/packages/event-handler/tsconfig.json +++ b/packages/event-handler/tsconfig.json @@ -8,7 +8,5 @@ "composite": true, "declaration": true }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/event-handler/typedoc.json b/packages/event-handler/typedoc.json index fce95e37d4..779f9ec709 100644 --- a/packages/event-handler/typedoc.json +++ b/packages/event-handler/typedoc.json @@ -1,12 +1,10 @@ { - "extends": [ - "../../typedoc.base.json" - ], + "extends": ["../../typedoc.base.json"], "entryPoints": [ "./src/appsync-events/index.ts", "./src/appsync-graphql/index.ts", "./src/bedrock-agent/index.ts", - "./src/types/index.ts", + "./src/types/index.ts" ], "readme": "README.md" -} \ No newline at end of file +} diff --git a/packages/idempotency/src/IdempotencyHandler.ts b/packages/idempotency/src/IdempotencyHandler.ts index dcf27d3264..aad48f9dea 100644 --- a/packages/idempotency/src/IdempotencyHandler.ts +++ b/packages/idempotency/src/IdempotencyHandler.ts @@ -4,7 +4,6 @@ import type { } from '@aws-lambda-powertools/commons/types'; import { search } from '@aws-lambda-powertools/jmespath'; import type { Handler } from 'aws-lambda'; -import type { IdempotencyConfig } from './IdempotencyConfig.js'; import { IdempotencyRecordStatus, MAX_RETRIES } from './constants.js'; import { IdempotencyAlreadyInProgressError, @@ -13,6 +12,7 @@ import { IdempotencyPersistenceLayerError, IdempotencyUnknownError, } from './errors.js'; +import type { IdempotencyConfig } from './IdempotencyConfig.js'; import type { BasePersistenceLayer } from './persistence/BasePersistenceLayer.js'; import type { IdempotencyRecord } from './persistence/IdempotencyRecord.js'; import type { diff --git a/packages/idempotency/src/constants.ts b/packages/idempotency/src/constants.ts index 404a0bf95f..902a408f46 100644 --- a/packages/idempotency/src/constants.ts +++ b/packages/idempotency/src/constants.ts @@ -1,4 +1,5 @@ import type { BasePersistenceAttributes } from './types/BasePersistenceLayer.js'; + /** * Number of times to retry a request in case of `IdempotencyInconsistentStateError` * diff --git a/packages/idempotency/src/idempotencyDecorator.ts b/packages/idempotency/src/idempotencyDecorator.ts index 64ad4c4fad..968b3bd10e 100644 --- a/packages/idempotency/src/idempotencyDecorator.ts +++ b/packages/idempotency/src/idempotencyDecorator.ts @@ -55,13 +55,13 @@ import type { * @see {@link persistence/DynamoDBPersistenceLayer.DynamoDBPersistenceLayer | DynamoDBPersistenceLayer} * @see https://www.typescriptlang.org/docs/handbook/decorators.html */ -const idempotent = function ( +const idempotent = ( options: ItempotentFunctionOptions> -): ( +): (( target: unknown, propertyKey: string, descriptor: PropertyDescriptor -) => PropertyDescriptor { +) => PropertyDescriptor) => { // biome-ignore lint/complexity/useArrowFunction: this is a decorator function and we need to maintain the `this` context return function ( _target: unknown, diff --git a/packages/idempotency/src/index.ts b/packages/idempotency/src/index.ts index 6a76aac37a..c8b2ce454f 100644 --- a/packages/idempotency/src/index.ts +++ b/packages/idempotency/src/index.ts @@ -1,18 +1,18 @@ export { - IdempotencyItemAlreadyExistsError, - IdempotencyItemNotFoundError, + IdempotencyRecordStatus, + PERSISTENCE_ATTRIBUTE_KEY_MAPPINGS, +} from './constants.js'; +export { IdempotencyAlreadyInProgressError, - IdempotencyInvalidStatusError, - IdempotencyValidationError, IdempotencyInconsistentStateError, - IdempotencyPersistenceLayerError, + IdempotencyInvalidStatusError, + IdempotencyItemAlreadyExistsError, + IdempotencyItemNotFoundError, IdempotencyKeyError, + IdempotencyPersistenceLayerError, IdempotencyUnknownError, + IdempotencyValidationError, } from './errors.js'; export { IdempotencyConfig } from './IdempotencyConfig.js'; -export { makeIdempotent } from './makeIdempotent.js'; export { idempotent } from './idempotencyDecorator.js'; -export { - IdempotencyRecordStatus, - PERSISTENCE_ATTRIBUTE_KEY_MAPPINGS, -} from './constants.js'; +export { makeIdempotent } from './makeIdempotent.js'; diff --git a/packages/idempotency/src/middleware/makeHandlerIdempotent.ts b/packages/idempotency/src/middleware/makeHandlerIdempotent.ts index 3803062a01..d48dcc221d 100644 --- a/packages/idempotency/src/middleware/makeHandlerIdempotent.ts +++ b/packages/idempotency/src/middleware/makeHandlerIdempotent.ts @@ -1,6 +1,6 @@ import { - IDEMPOTENCY_KEY, cleanupMiddlewares, + IDEMPOTENCY_KEY, } from '@aws-lambda-powertools/commons'; import type { JSONValue, diff --git a/packages/idempotency/src/persistence/BasePersistenceLayer.ts b/packages/idempotency/src/persistence/BasePersistenceLayer.ts index cc29ac6e4b..515a315652 100644 --- a/packages/idempotency/src/persistence/BasePersistenceLayer.ts +++ b/packages/idempotency/src/persistence/BasePersistenceLayer.ts @@ -1,4 +1,4 @@ -import { type Hash, createHash } from 'node:crypto'; +import { createHash, type Hash } from 'node:crypto'; import type { JSONValue } from '@aws-lambda-powertools/commons/types'; import { LRUCache } from '@aws-lambda-powertools/commons/utils/lru-cache'; import { search } from '@aws-lambda-powertools/jmespath'; @@ -174,7 +174,7 @@ abstract class BasePersistenceLayer implements BasePersistenceLayerInterface { if (remainingTimeInMillis) { idempotencyRecord.inProgressExpiryTimestamp = - new Date().getTime() + remainingTimeInMillis; + Date.now() + remainingTimeInMillis; } else { console.warn( 'Could not determine remaining time left. Did you call registerLambdaContext on IdempotencyConfig?' diff --git a/packages/idempotency/src/types/IdempotencyRecord.ts b/packages/idempotency/src/types/IdempotencyRecord.ts index ee1fed1223..1569373286 100644 --- a/packages/idempotency/src/types/IdempotencyRecord.ts +++ b/packages/idempotency/src/types/IdempotencyRecord.ts @@ -1,6 +1,7 @@ import type { JSONValue } from '@aws-lambda-powertools/commons/types'; import type { IdempotencyRecordStatus } from '../constants.js'; import type { DynamoDBPersistenceLayer } from '../persistence/DynamoDBPersistenceLayer.js'; + /** * The status of an IdempotencyRecord */ diff --git a/packages/idempotency/src/types/index.ts b/packages/idempotency/src/types/index.ts index 193571d092..1d77754342 100644 --- a/packages/idempotency/src/types/index.ts +++ b/packages/idempotency/src/types/index.ts @@ -1,20 +1,12 @@ export type { - IdempotencyRecordOptions, - IdempotencyRecordStatusValue, -} from './IdempotencyRecord.js'; -export type { + BasePersistenceAttributes, BasePersistenceLayerInterface, BasePersistenceLayerOptions, - BasePersistenceAttributes, } from './BasePersistenceLayer.js'; export type { - IdempotencyConfigOptions, - IdempotencyLambdaHandlerOptions, - IdempotencyHandlerOptions, - ItempotentFunctionOptions, - AnyFunction, - ResponseHook, -} from './IdempotencyOptions.js'; + CacheClient, + CachePersistenceOptions, +} from './CachePersistence.js'; export type { DynamoDBPersistenceOptions, DynamoDBPersistenceOptionsBase, @@ -22,6 +14,14 @@ export type { DynamoDBPersistenceOptionsWithClientInstance, } from './DynamoDBPersistence.js'; export type { - CacheClient, - CachePersistenceOptions, -} from './CachePersistence.js'; + AnyFunction, + IdempotencyConfigOptions, + IdempotencyHandlerOptions, + IdempotencyLambdaHandlerOptions, + ItempotentFunctionOptions, + ResponseHook, +} from './IdempotencyOptions.js'; +export type { + IdempotencyRecordOptions, + IdempotencyRecordStatusValue, +} from './IdempotencyRecord.js'; diff --git a/packages/idempotency/tests/e2e/idempotentDecorator.test.ts b/packages/idempotency/tests/e2e/idempotentDecorator.test.ts index 9c83ab5417..c3bf22d41b 100644 --- a/packages/idempotency/tests/e2e/idempotentDecorator.test.ts +++ b/packages/idempotency/tests/e2e/idempotentDecorator.test.ts @@ -1,9 +1,9 @@ import { createHash } from 'node:crypto'; import { join } from 'node:path'; import { + invokeFunction, TestInvocationLogs, TestStack, - invokeFunction, } from '@aws-lambda-powertools/testing-utils'; import { DynamoDBClient } from '@aws-sdk/client-dynamodb'; import { ScanCommand } from '@aws-sdk/lib-dynamodb'; diff --git a/packages/idempotency/tests/e2e/makeHandlerIdempotent.test.FunctionCode.ts b/packages/idempotency/tests/e2e/makeHandlerIdempotent.test.FunctionCode.ts index 7358697039..6ade59d2ef 100644 --- a/packages/idempotency/tests/e2e/makeHandlerIdempotent.test.FunctionCode.ts +++ b/packages/idempotency/tests/e2e/makeHandlerIdempotent.test.FunctionCode.ts @@ -1,6 +1,6 @@ import { Logger } from '@aws-lambda-powertools/logger'; -import middy from 'middy6'; import type { Context } from 'aws-lambda'; +import middy from 'middy6'; import { IdempotencyConfig } from '../../src/IdempotencyConfig.js'; import { makeHandlerIdempotent } from '../../src/middleware/makeHandlerIdempotent.js'; import { DynamoDBPersistenceLayer } from '../../src/persistence/DynamoDBPersistenceLayer.js'; diff --git a/packages/idempotency/tests/e2e/makeHandlerIdempotent.test.ts b/packages/idempotency/tests/e2e/makeHandlerIdempotent.test.ts index 9b92a56af8..0c379b5f4e 100644 --- a/packages/idempotency/tests/e2e/makeHandlerIdempotent.test.ts +++ b/packages/idempotency/tests/e2e/makeHandlerIdempotent.test.ts @@ -1,9 +1,9 @@ import { createHash } from 'node:crypto'; import { join } from 'node:path'; import { + invokeFunction, TestInvocationLogs, TestStack, - invokeFunction, } from '@aws-lambda-powertools/testing-utils'; import { DynamoDBClient } from '@aws-sdk/client-dynamodb'; import { ScanCommand } from '@aws-sdk/lib-dynamodb'; diff --git a/packages/idempotency/tests/e2e/makeIdempotent.test.FunctionCode.ts b/packages/idempotency/tests/e2e/makeIdempotent.test.FunctionCode.ts index 2fd70bf6a1..10e2ce5f73 100644 --- a/packages/idempotency/tests/e2e/makeIdempotent.test.FunctionCode.ts +++ b/packages/idempotency/tests/e2e/makeIdempotent.test.FunctionCode.ts @@ -1,8 +1,8 @@ -import type { Context } from 'aws-lambda'; -import { DynamoDBPersistenceLayer } from '../../src/persistence/DynamoDBPersistenceLayer.js'; -import { makeIdempotent } from '../../src/makeIdempotent.js'; import { Logger } from '@aws-lambda-powertools/logger'; +import type { Context } from 'aws-lambda'; import { IdempotencyConfig } from '../../src/IdempotencyConfig.js'; +import { makeIdempotent } from '../../src/makeIdempotent.js'; +import { DynamoDBPersistenceLayer } from '../../src/persistence/DynamoDBPersistenceLayer.js'; const IDEMPOTENCY_TABLE_NAME = process.env.IDEMPOTENCY_TABLE_NAME || 'table_name'; diff --git a/packages/idempotency/tests/e2e/makeIdempotent.test.ts b/packages/idempotency/tests/e2e/makeIdempotent.test.ts index c87bc9f6b7..380945509d 100644 --- a/packages/idempotency/tests/e2e/makeIdempotent.test.ts +++ b/packages/idempotency/tests/e2e/makeIdempotent.test.ts @@ -1,16 +1,16 @@ import { createHash } from 'node:crypto'; import { join } from 'node:path'; import { + invokeFunction, TestInvocationLogs, TestStack, - invokeFunction, } from '@aws-lambda-powertools/testing-utils'; import { DynamoDBClient } from '@aws-sdk/client-dynamodb'; import { ScanCommand } from '@aws-sdk/lib-dynamodb'; import { AttributeType } from 'aws-cdk-lib/aws-dynamodb'; import { afterAll, beforeAll, describe, expect, it } from 'vitest'; import { IdempotencyTestNodejsFunctionAndDynamoTable } from '../helpers/resources.js'; -import { RESOURCE_NAME_PREFIX } from './constants'; +import { RESOURCE_NAME_PREFIX } from './constants.js'; describe('Idempotency E2E tests, wrapper function usage', () => { const testStack = new TestStack({ diff --git a/packages/idempotency/tests/helpers/resources.ts b/packages/idempotency/tests/helpers/resources.ts index 3a732f5ba0..fe7507f31c 100644 --- a/packages/idempotency/tests/helpers/resources.ts +++ b/packages/idempotency/tests/helpers/resources.ts @@ -1,16 +1,16 @@ +import { randomUUID } from 'node:crypto'; import { - type TestStack, concatenateResourceName, + type TestStack, } from '@aws-lambda-powertools/testing-utils'; -import { TestNodejsFunction } from '@aws-lambda-powertools/testing-utils/resources/lambda'; import { TestDynamodbTable } from '@aws-lambda-powertools/testing-utils/resources/dynamodb'; +import { TestNodejsFunction } from '@aws-lambda-powertools/testing-utils/resources/lambda'; import type { ExtraTestProps, TestDynamodbTableProps, TestNodejsFunctionProps, } from '@aws-lambda-powertools/testing-utils/types'; import { Construct } from 'constructs'; -import { randomUUID } from 'node:crypto'; class IdempotencyTestNodejsFunctionAndDynamoTable extends Construct { public constructor( diff --git a/packages/idempotency/tests/tsconfig.json b/packages/idempotency/tests/tsconfig.json index dde99895c8..39f442212e 100644 --- a/packages/idempotency/tests/tsconfig.json +++ b/packages/idempotency/tests/tsconfig.json @@ -1,12 +1,8 @@ { - "extends": "../tsconfig.json", - "compilerOptions": { - "rootDir": "../../", - "noEmit": true - }, - "include": [ - "../../testing/src/setupEnv.ts", - "../src/**/*", - "./**/*", - ] -} \ No newline at end of file + "extends": "../tsconfig.json", + "compilerOptions": { + "rootDir": "../../", + "noEmit": true + }, + "include": ["../../testing/src/setupEnv.ts", "../src/**/*", "./**/*"] +} diff --git a/packages/idempotency/tests/unit/IdempotencyHandler.test.ts b/packages/idempotency/tests/unit/IdempotencyHandler.test.ts index 22f574ac53..883abb0219 100644 --- a/packages/idempotency/tests/unit/IdempotencyHandler.test.ts +++ b/packages/idempotency/tests/unit/IdempotencyHandler.test.ts @@ -1,7 +1,7 @@ import type { JSONValue } from '@aws-lambda-powertools/commons/types'; import { afterAll, beforeEach, describe, expect, it, vi } from 'vitest'; -import { IdempotencyHandler } from '../../src/IdempotencyHandler.js'; import { IdempotencyRecordStatus, MAX_RETRIES } from '../../src/constants.js'; +import { IdempotencyHandler } from '../../src/IdempotencyHandler.js'; import { IdempotencyAlreadyInProgressError, IdempotencyConfig, @@ -15,7 +15,7 @@ import { PersistenceLayerTestClass } from '../helpers/idempotencyUtils.js'; const mockFunctionToMakeIdempotent = vi.fn(); const mockResponseHook = vi .fn() - .mockImplementation((response, record) => response); + .mockImplementation((response, _record) => response); const mockFunctionPayloadToBeHashed = {}; const persistenceStore = new PersistenceLayerTestClass(); const mockIdempotencyOptions = { diff --git a/packages/idempotency/tests/unit/idempotencyDecorator.test.ts b/packages/idempotency/tests/unit/idempotencyDecorator.test.ts index 7f32a4e98c..b153c01418 100644 --- a/packages/idempotency/tests/unit/idempotencyDecorator.test.ts +++ b/packages/idempotency/tests/unit/idempotencyDecorator.test.ts @@ -2,9 +2,9 @@ import type { LambdaInterface } from '@aws-lambda-powertools/commons/types'; import context from '@aws-lambda-powertools/testing-utils/context'; import type { Context } from 'aws-lambda'; import { describe, expect, it, vi } from 'vitest'; -import { idempotent, IdempotencyConfig } from '../../src/index.js'; -import { PersistenceLayerTestClass } from '../helpers/idempotencyUtils.js'; +import { IdempotencyConfig, idempotent } from '../../src/index.js'; import { BasePersistenceLayer } from '../../src/persistence/BasePersistenceLayer.js'; +import { PersistenceLayerTestClass } from '../helpers/idempotencyUtils.js'; describe('Given a class with a function to decorate', () => { it('maintains the scope of the decorated function', async () => { diff --git a/packages/idempotency/tests/unit/makeIdempotent.test.ts b/packages/idempotency/tests/unit/makeIdempotent.test.ts index 1e1a1e2054..bc567d452f 100644 --- a/packages/idempotency/tests/unit/makeIdempotent.test.ts +++ b/packages/idempotency/tests/unit/makeIdempotent.test.ts @@ -420,7 +420,7 @@ describe('Function: makeIdempotent', () => { mockIdempotencyOptions.persistenceStore, 'configure' ); - + // Act const result = await handler(event, context); diff --git a/packages/idempotency/tests/unit/persistence/BasePersistenceLayer.test.ts b/packages/idempotency/tests/unit/persistence/BasePersistenceLayer.test.ts index 2a2d5e1a56..acd40bcb99 100644 --- a/packages/idempotency/tests/unit/persistence/BasePersistenceLayer.test.ts +++ b/packages/idempotency/tests/unit/persistence/BasePersistenceLayer.test.ts @@ -103,9 +103,7 @@ describe('Class: BasePersistenceLayer', () => { persistenceLayer.configure({ config, keyPrefix: 'my-custom-prefix' }); // Assess - expect(persistenceLayer.idempotencyKeyPrefix).toBe( - 'my-custom-prefix' - ); + expect(persistenceLayer.idempotencyKeyPrefix).toBe('my-custom-prefix'); }); it('uses default config when no option is provided', () => { diff --git a/packages/idempotency/tests/unit/persistence/DynamoDbPersistenceLayer.test.ts b/packages/idempotency/tests/unit/persistence/DynamoDbPersistenceLayer.test.ts index bb72789986..f786774cbb 100644 --- a/packages/idempotency/tests/unit/persistence/DynamoDbPersistenceLayer.test.ts +++ b/packages/idempotency/tests/unit/persistence/DynamoDbPersistenceLayer.test.ts @@ -28,7 +28,7 @@ import type { DynamoDBPersistenceOptions } from '../../../src/types/DynamoDBPers import { DynamoDBPersistenceLayerTestClass } from '../../helpers/idempotencyUtils.js'; const getFutureTimestamp = (seconds: number): number => - new Date().getTime() + seconds * 1000; + Date.now() + seconds * 1000; vi.mock('@aws-lambda-powertools/commons', async (importOriginal) => ({ ...(await importOriginal()), diff --git a/packages/idempotency/tsconfig.cjs.json b/packages/idempotency/tsconfig.cjs.json index 682c17bfad..beaff94051 100644 --- a/packages/idempotency/tsconfig.cjs.json +++ b/packages/idempotency/tsconfig.cjs.json @@ -1,13 +1,11 @@ { - "extends": "../../tsconfig.cjs.json", - "compilerOptions": { - "outDir": "./lib/cjs", - "rootDir": "./src", - "tsBuildInfoFile": ".tsbuildinfo/cjs.json", - "composite": true, - "declaration": true - }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "extends": "../../tsconfig.cjs.json", + "compilerOptions": { + "outDir": "./lib/cjs", + "rootDir": "./src", + "tsBuildInfoFile": ".tsbuildinfo/cjs.json", + "composite": true, + "declaration": true + }, + "include": ["./src/**/*"] +} diff --git a/packages/idempotency/tsconfig.json b/packages/idempotency/tsconfig.json index 204ff253d4..e1c2fb1dc4 100644 --- a/packages/idempotency/tsconfig.json +++ b/packages/idempotency/tsconfig.json @@ -8,7 +8,5 @@ "composite": true, "declaration": true }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/idempotency/typedoc.json b/packages/idempotency/typedoc.json index 73da1534e3..a429c1b85f 100644 --- a/packages/idempotency/typedoc.json +++ b/packages/idempotency/typedoc.json @@ -7,7 +7,7 @@ "./src/persistence/index.ts", "./src/persistence/DynamoDBPersistenceLayer.ts", "./src/persistence/CachePersistenceLayer.ts", - "./src/types/CachePersistence.ts", + "./src/types/CachePersistence.ts" ], "readme": "README.md" } diff --git a/packages/jmespath/src/Lexer.ts b/packages/jmespath/src/Lexer.ts index 313cc271df..a200b74974 100644 --- a/packages/jmespath/src/Lexer.ts +++ b/packages/jmespath/src/Lexer.ts @@ -285,7 +285,7 @@ class Lexer { start, end: this.#position - start, }; - } catch (error) { + } catch { throw new LexerError(start, lexeme); } } diff --git a/packages/jmespath/src/ParsedResult.ts b/packages/jmespath/src/ParsedResult.ts index 0ed9a2d4ca..c5436fabd1 100644 --- a/packages/jmespath/src/ParsedResult.ts +++ b/packages/jmespath/src/ParsedResult.ts @@ -1,10 +1,10 @@ -import { TreeInterpreter } from './TreeInterpreter.js'; import { ArityError, JMESPathTypeError, UnknownFunctionError, VariadicArityError, } from './errors.js'; +import { TreeInterpreter } from './TreeInterpreter.js'; import type { JMESPathParsingOptions, JSONObject, Node } from './types.js'; class ParsedResult { diff --git a/packages/jmespath/src/Parser.ts b/packages/jmespath/src/Parser.ts index 208aa45314..8c006cc8e3 100644 --- a/packages/jmespath/src/Parser.ts +++ b/packages/jmespath/src/Parser.ts @@ -1,6 +1,4 @@ import { randomInt } from 'node:crypto'; -import { Lexer } from './Lexer.js'; -import { ParsedResult } from './ParsedResult.js'; import { andExpression, comparator, @@ -27,6 +25,8 @@ import { } from './ast.js'; import { BINDING_POWER } from './constants.js'; import { IncompleteExpressionError, LexerError, ParseError } from './errors.js'; +import { Lexer } from './Lexer.js'; +import { ParsedResult } from './ParsedResult.js'; import type { Node, Token } from './types.js'; /** diff --git a/packages/jmespath/src/TreeInterpreter.ts b/packages/jmespath/src/TreeInterpreter.ts index 324c7a35ca..385dbab6b3 100644 --- a/packages/jmespath/src/TreeInterpreter.ts +++ b/packages/jmespath/src/TreeInterpreter.ts @@ -4,7 +4,6 @@ import { isStrictEqual, } from '@aws-lambda-powertools/commons/typeutils'; import { Expression } from './Expression.js'; -import { Functions } from './Functions.js'; import { ArityError, JMESPathError, @@ -12,6 +11,7 @@ import { UnknownFunctionError, VariadicArityError, } from './errors.js'; +import { Functions } from './Functions.js'; import type { JMESPathParsingOptions, JSONObject, Node } from './types.js'; import { isTruthy, sliceArray } from './utils.js'; diff --git a/packages/jmespath/src/index.ts b/packages/jmespath/src/index.ts index a0f2545f85..400898bfb5 100644 --- a/packages/jmespath/src/index.ts +++ b/packages/jmespath/src/index.ts @@ -1,12 +1,12 @@ -export { search } from './search.js'; export { + ArityError, + EmptyExpressionError, + IncompleteExpressionError, JMESPathError, + JMESPathTypeError, LexerError, ParseError, - IncompleteExpressionError, - ArityError, - VariadicArityError, - JMESPathTypeError, - EmptyExpressionError, UnknownFunctionError, + VariadicArityError, } from './errors.js'; +export { search } from './search.js'; diff --git a/packages/jmespath/src/types.ts b/packages/jmespath/src/types.ts index 92e3e7ffff..485529d9f1 100644 --- a/packages/jmespath/src/types.ts +++ b/packages/jmespath/src/types.ts @@ -2,8 +2,8 @@ import type { JSONArray, JSONValue, } from '@aws-lambda-powertools/commons/types'; -import type { Functions } from './Functions.js'; import type { BINDING_POWER } from './constants.js'; +import type { Functions } from './Functions.js'; /** * A token in the JMESPath AST. diff --git a/packages/jmespath/src/utils.ts b/packages/jmespath/src/utils.ts index 113d3f30f7..9a27909c98 100644 --- a/packages/jmespath/src/utils.ts +++ b/packages/jmespath/src/utils.ts @@ -230,7 +230,6 @@ const checkIfArgumentTypeIsValid = ( } if (['string', 'number', 'boolean'].includes(type)) { typeCheckType(arg, type, argumentSpec, hasMoreTypesToCheck); - // biome-ignore lint/suspicious/useValidTypeof: we know that `type` is one of 'string', 'number', or 'boolean' because we checked for that above if (typeof arg === type) return true; } else if (type === 'object') { checkObjectType(arg, argumentSpec, hasMoreTypesToCheck); @@ -255,7 +254,6 @@ const typeCheckType = ( argumentSpec: string[], hasMoreTypesToCheck: boolean ): void => { - // biome-ignore lint/suspicious/useValidTypeof: we know that `type` is one of 'string', 'number', or 'boolean' because we checked before calling this function if (typeof arg !== type && !hasMoreTypesToCheck) { throw new JMESPathTypeError({ currentValue: arg, diff --git a/packages/jmespath/tests/unit/index.test.ts b/packages/jmespath/tests/unit/index.test.ts index 7b25c566e1..b71230c671 100644 --- a/packages/jmespath/tests/unit/index.test.ts +++ b/packages/jmespath/tests/unit/index.test.ts @@ -1,19 +1,19 @@ import { brotliDecompressSync } from 'node:zlib'; import { fromBase64 } from '@aws-lambda-powertools/commons/utils/base64'; import { describe, expect, it } from 'vitest'; +import { extractDataFromEnvelope, SQS } from '../../src/envelopes.js'; import { Functions } from '../../src/Functions.js'; -import { Parser } from '../../src/Parser.js'; -import { PowertoolsFunctions } from '../../src/PowertoolsFunctions.js'; -import { TreeInterpreter } from '../../src/TreeInterpreter.js'; -import { SQS, extractDataFromEnvelope } from '../../src/envelopes.js'; import { ArityError, EmptyExpressionError, JMESPathError, LexerError, - VariadicArityError, search, + VariadicArityError, } from '../../src/index.js'; +import { Parser } from '../../src/Parser.js'; +import { PowertoolsFunctions } from '../../src/PowertoolsFunctions.js'; +import { TreeInterpreter } from '../../src/TreeInterpreter.js'; describe('Coverage tests', () => { // These expressions tests are not part of the compliance suite, but are added to ensure coverage diff --git a/packages/jmespath/tsconfig.cjs.json b/packages/jmespath/tsconfig.cjs.json index 7d570c8dbe..a8fadd417f 100644 --- a/packages/jmespath/tsconfig.cjs.json +++ b/packages/jmespath/tsconfig.cjs.json @@ -7,7 +7,5 @@ "rootDir": "./src", "tsBuildInfoFile": ".tsbuildinfo/cjs.json" }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/jmespath/tsconfig.json b/packages/jmespath/tsconfig.json index 4fdaca79c4..d5b9efc4f2 100644 --- a/packages/jmespath/tsconfig.json +++ b/packages/jmespath/tsconfig.json @@ -6,7 +6,5 @@ "rootDir": "./src", "tsBuildInfoFile": ".tsbuildinfo/esm.json" }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/kafka/src/types/index.ts b/packages/kafka/src/types/index.ts index 944b14b4eb..a6e3f96bc3 100644 --- a/packages/kafka/src/types/index.ts +++ b/packages/kafka/src/types/index.ts @@ -5,8 +5,8 @@ export type { ProtobufMessage, Record, RecordHeader, - SchemaType, SchemaConfig, SchemaConfigValue, SchemaMetadata, + SchemaType, } from './types.js'; diff --git a/packages/kafka/tests/events/avro.json b/packages/kafka/tests/events/avro.json index d495060d7c..8d6ef22108 100644 --- a/packages/kafka/tests/events/avro.json +++ b/packages/kafka/tests/events/avro.json @@ -48,4 +48,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/kafka/tests/events/protobuf-complex.confluent.json b/packages/kafka/tests/events/protobuf-complex.confluent.json index 47f5e4c8de..e7534f3906 100644 --- a/packages/kafka/tests/events/protobuf-complex.confluent.json +++ b/packages/kafka/tests/events/protobuf-complex.confluent.json @@ -62,4 +62,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/kafka/tests/events/protobuf-complex.glue.json b/packages/kafka/tests/events/protobuf-complex.glue.json index f051e5f652..f2e81fa33e 100644 --- a/packages/kafka/tests/events/protobuf-complex.glue.json +++ b/packages/kafka/tests/events/protobuf-complex.glue.json @@ -14,19 +14,7 @@ "value": "AQoDMTIzEgRUZXN0Ggx0ZXN0QGdteC5jb20gCjIKMjAyNS0wNi0yMDoEdGFnMToEdGFnMkoOCgV0aGVtZRIFbGlnaHRSGgoKTXl0aGVucXVhaRIGWnVyaWNoGgQ4MDAy", "headers": [ { - "headerKey": [ - 104, - 101, - 97, - 100, - 101, - 114, - 86, - 97, - 108, - 117, - 101 - ] + "headerKey": [104, 101, 97, 100, 101, 114, 86, 97, 108, 117, 101] } ], "valueSchemaMetadata": { @@ -36,4 +24,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/kafka/tests/events/protobuf.json b/packages/kafka/tests/events/protobuf.json index 58ad47f5e0..b7f152879f 100644 --- a/packages/kafka/tests/events/protobuf.json +++ b/packages/kafka/tests/events/protobuf.json @@ -18,7 +18,7 @@ } ], "valueSchemaMetadata": { - "dataFormat": "PROTOBUF" + "dataFormat": "PROTOBUF" } }, { @@ -35,8 +35,8 @@ } ], "valueSchemaMetadata": { - "dataFormat": "PROTOBUF", - "schemaId": "7d55d475-2244-4485-8341-f74468c1e058" + "dataFormat": "PROTOBUF", + "schemaId": "7d55d475-2244-4485-8341-f74468c1e058" } }, { @@ -53,10 +53,10 @@ } ], "valueSchemaMetadata": { - "dataFormat": "PROTOBUF", - "schemaId": "2" + "dataFormat": "PROTOBUF", + "schemaId": "2" } } ] } -} \ No newline at end of file +} diff --git a/packages/kafka/tests/tsconfig.json b/packages/kafka/tests/tsconfig.json index 6b38e082b1..daf72b90df 100644 --- a/packages/kafka/tests/tsconfig.json +++ b/packages/kafka/tests/tsconfig.json @@ -5,9 +5,5 @@ "noEmit": true, "resolveJsonModule": true }, - "include": [ - "../../testing/src/setupEnv.ts", - "../src/**/*", - "./**/*" - ] -} \ No newline at end of file + "include": ["../../testing/src/setupEnv.ts", "../src/**/*", "./**/*"] +} diff --git a/packages/kafka/tests/unit/consumer.test.ts b/packages/kafka/tests/unit/consumer.test.ts index f653be5497..ebad6e6493 100644 --- a/packages/kafka/tests/unit/consumer.test.ts +++ b/packages/kafka/tests/unit/consumer.test.ts @@ -2,7 +2,7 @@ import type { Context } from 'aws-lambda'; import { describe, expect, it } from 'vitest'; import { z } from 'zod/v4'; import { KafkaConsumerMissingSchemaError } from '../../src/errors.js'; -import { SchemaType, kafkaConsumer } from '../../src/index.js'; +import { kafkaConsumer, SchemaType } from '../../src/index.js'; import type { ConsumerRecords, MSKEvent } from '../../src/types/types.js'; import { loadEvent } from '../helpers/loadEvent.js'; import { com } from '../protos/complex.generated.js'; diff --git a/packages/kafka/tsconfig.cjs.json b/packages/kafka/tsconfig.cjs.json index 7d570c8dbe..a8fadd417f 100644 --- a/packages/kafka/tsconfig.cjs.json +++ b/packages/kafka/tsconfig.cjs.json @@ -7,7 +7,5 @@ "rootDir": "./src", "tsBuildInfoFile": ".tsbuildinfo/cjs.json" }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/kafka/tsconfig.json b/packages/kafka/tsconfig.json index 204ff253d4..e1c2fb1dc4 100644 --- a/packages/kafka/tsconfig.json +++ b/packages/kafka/tsconfig.json @@ -8,7 +8,5 @@ "composite": true, "declaration": true }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/kafka/typedoc.json b/packages/kafka/typedoc.json index e56c23f196..dafd6a578c 100644 --- a/packages/kafka/typedoc.json +++ b/packages/kafka/typedoc.json @@ -1,11 +1,5 @@ { - "extends": [ - "../../typedoc.base.json" - ], - "entryPoints": [ - "./src/index.ts", - "./src/types/types.ts", - "./src/errors.ts" - ], + "extends": ["../../typedoc.base.json"], + "entryPoints": ["./src/index.ts", "./src/types/types.ts", "./src/errors.ts"], "readme": "README.md" -} \ No newline at end of file +} diff --git a/packages/logger/src/Logger.ts b/packages/logger/src/Logger.ts index 139839abcf..c62d91d0b7 100644 --- a/packages/logger/src/Logger.ts +++ b/packages/logger/src/Logger.ts @@ -1,6 +1,6 @@ import { Console } from 'node:console'; import { randomInt } from 'node:crypto'; -import { Utility, isNullOrUndefined } from '@aws-lambda-powertools/commons'; +import { isNullOrUndefined, Utility } from '@aws-lambda-powertools/commons'; import type { AsyncHandler, HandlerMethodDecorator, @@ -26,10 +26,10 @@ import type { InjectLambdaContextOptions, LogAttributes, LogFunction, + LoggerInterface, LogItemExtraInput, LogItemMessage, LogLevel, - LoggerInterface, } from './types/Logger.js'; import type { LogKeys, @@ -545,12 +545,7 @@ class Logger extends Utility implements LoggerInterface { options?: InjectLambdaContextOptions ): void { logger.addContext(context); - - let shouldLogEvent = undefined; - if (options && Object.hasOwn(options, 'logEvent')) { - shouldLogEvent = options.logEvent; - } - logger.logEventIfEnabled(event, shouldLogEvent); + logger.logEventIfEnabled(event, options?.logEvent); } /* v8 ignore stop */ /** diff --git a/packages/logger/src/formatter/LogFormatter.ts b/packages/logger/src/formatter/LogFormatter.ts index d63c5f4572..9bae4fbaa4 100644 --- a/packages/logger/src/formatter/LogFormatter.ts +++ b/packages/logger/src/formatter/LogFormatter.ts @@ -1,6 +1,6 @@ import type { EnvironmentVariablesService } from '../config/EnvironmentVariablesService.js'; -import type { LogAttributes } from '../types/Logger.js'; import type { LogFormatterOptions } from '../types/formatters.js'; +import type { LogAttributes } from '../types/Logger.js'; import type { UnformattedAttributes } from '../types/logKeys.js'; import type { LogItem } from './LogItem.js'; @@ -120,10 +120,7 @@ abstract class LogFormatter { this.envVarsService?.isDevMode() && typeof stack === 'string' ? stack?.split('\n') : stack, - cause: - error.cause instanceof Error - ? this.formatError(error.cause) - : error.cause, + cause: cause instanceof Error ? this.formatError(cause) : cause, }; for (const key in error) { if ( diff --git a/packages/logger/src/middleware/middy.ts b/packages/logger/src/middleware/middy.ts index fe36bfaf18..3bd10004ac 100644 --- a/packages/logger/src/middleware/middy.ts +++ b/packages/logger/src/middleware/middy.ts @@ -3,8 +3,8 @@ import type { MiddlewareLikeObj, MiddyLikeRequest, } from '@aws-lambda-powertools/commons/types'; -import { Logger } from '../Logger.js'; import { UncaughtErrorLogMessage } from '../constants.js'; +import { Logger } from '../Logger.js'; import type { InjectLambdaContextOptions } from '../types/Logger.js'; /** diff --git a/packages/logger/tests/e2e/advancedUses.test.ts b/packages/logger/tests/e2e/advancedUses.test.ts index 6682042226..6592e08204 100644 --- a/packages/logger/tests/e2e/advancedUses.test.ts +++ b/packages/logger/tests/e2e/advancedUses.test.ts @@ -1,8 +1,8 @@ import { join } from 'node:path'; import { + invokeFunction, TestInvocationLogs, TestStack, - invokeFunction, } from '@aws-lambda-powertools/testing-utils'; import { afterAll, beforeAll, describe, expect, it } from 'vitest'; import { LoggerTestNodejsFunction } from '../helpers/resources.js'; @@ -104,7 +104,7 @@ describe('Logger E2E - Advanced uses', () => { try { JSON.parse(log); return true; - } catch (error) { + } catch { return false; } }); diff --git a/packages/logger/tests/e2e/basicFeatures.middy.test.FunctionCode.ts b/packages/logger/tests/e2e/basicFeatures.middy.test.FunctionCode.ts index 4db33bef6b..258c89299b 100644 --- a/packages/logger/tests/e2e/basicFeatures.middy.test.FunctionCode.ts +++ b/packages/logger/tests/e2e/basicFeatures.middy.test.FunctionCode.ts @@ -26,7 +26,10 @@ const logger = new Logger({ }, }); -const testFunction = async (event: TestEvent, context: Context): TestOutput => { +const testFunction = async ( + _event: TestEvent, + context: Context +): TestOutput => { // Test feature 1: Context data injection (all logs should have the same context data) // Test feature 2: Event log (this log should have the event data) // Test feature 3: Log level filtering (log level is set to INFO) diff --git a/packages/logger/tests/e2e/basicFeatures.middy.test.ts b/packages/logger/tests/e2e/basicFeatures.middy.test.ts index 04a6eb5200..81071435b8 100644 --- a/packages/logger/tests/e2e/basicFeatures.middy.test.ts +++ b/packages/logger/tests/e2e/basicFeatures.middy.test.ts @@ -1,17 +1,17 @@ import { join } from 'node:path'; import { + invokeFunction, TestInvocationLogs, TestStack, - invokeFunction, } from '@aws-lambda-powertools/testing-utils'; import type { APIGatewayAuthorizerResult } from 'aws-lambda'; import { afterAll, beforeAll, describe, expect, it } from 'vitest'; import { LoggerTestNodejsFunction } from '../helpers/resources.js'; import { + commonEnvironmentVars, RESOURCE_NAME_PREFIX, STACK_OUTPUT_LOG_GROUP, XRAY_TRACE_ID_REGEX, - commonEnvironmentVars, } from './constants.js'; describe('Logger E2E tests, basic functionalities middy usage', () => { diff --git a/packages/logger/tests/e2e/childLogger.manual.test.ts b/packages/logger/tests/e2e/childLogger.manual.test.ts index 57dd63c926..cc90c4be84 100644 --- a/packages/logger/tests/e2e/childLogger.manual.test.ts +++ b/packages/logger/tests/e2e/childLogger.manual.test.ts @@ -1,15 +1,15 @@ import { join } from 'node:path'; import { + invokeFunction, TestInvocationLogs, TestStack, - invokeFunction, } from '@aws-lambda-powertools/testing-utils'; import { afterAll, beforeAll, describe, expect, it } from 'vitest'; import { LoggerTestNodejsFunction } from '../helpers/resources.js'; import { + commonEnvironmentVars, RESOURCE_NAME_PREFIX, STACK_OUTPUT_LOG_GROUP, - commonEnvironmentVars, } from './constants.js'; describe('Logger E2E tests, child logger', () => { diff --git a/packages/logger/tests/e2e/logEventEnvVarSetting.middy.test.ts b/packages/logger/tests/e2e/logEventEnvVarSetting.middy.test.ts index 3a3efe2609..63d1ed86ad 100644 --- a/packages/logger/tests/e2e/logEventEnvVarSetting.middy.test.ts +++ b/packages/logger/tests/e2e/logEventEnvVarSetting.middy.test.ts @@ -1,8 +1,8 @@ import { join } from 'node:path'; import { + invokeFunction, TestInvocationLogs, TestStack, - invokeFunction, } from '@aws-lambda-powertools/testing-utils'; import { afterAll, beforeAll, describe, expect, it } from 'vitest'; import { LoggerTestNodejsFunction } from '../helpers/resources.js'; diff --git a/packages/logger/tests/e2e/sampleRate.decorator.test.ts b/packages/logger/tests/e2e/sampleRate.decorator.test.ts index d6e848f06e..2be3ea594a 100644 --- a/packages/logger/tests/e2e/sampleRate.decorator.test.ts +++ b/packages/logger/tests/e2e/sampleRate.decorator.test.ts @@ -1,9 +1,9 @@ import { randomUUID } from 'node:crypto'; import { join } from 'node:path'; import { + invokeFunction, TestInvocationLogs, TestStack, - invokeFunction, } from '@aws-lambda-powertools/testing-utils'; import { afterAll, beforeAll, describe, expect, it } from 'vitest'; import { LoggerTestNodejsFunction } from '../helpers/resources.js'; diff --git a/packages/logger/tests/tsconfig.json b/packages/logger/tests/tsconfig.json index 195239b807..39f442212e 100644 --- a/packages/logger/tests/tsconfig.json +++ b/packages/logger/tests/tsconfig.json @@ -4,9 +4,5 @@ "rootDir": "../../", "noEmit": true }, - "include": [ - "../../testing/src/setupEnv.ts", - "../src/**/*", - "./**/*" - ] -} \ No newline at end of file + "include": ["../../testing/src/setupEnv.ts", "../src/**/*", "./**/*"] +} diff --git a/packages/logger/tests/unit/formatters.test.ts b/packages/logger/tests/unit/formatters.test.ts index 0d2d218c21..19cfb2685e 100644 --- a/packages/logger/tests/unit/formatters.test.ts +++ b/packages/logger/tests/unit/formatters.test.ts @@ -4,9 +4,9 @@ import { EnvironmentVariablesService } from '../../src/config/EnvironmentVariabl import { PowertoolsLogFormatter } from '../../src/formatter/PowertoolsLogFormatter.js'; import { LogFormatter, + Logger, LogItem, LogLevelThreshold, - Logger, } from '../../src/index.js'; import type { CustomJsonReplacerFn, @@ -15,7 +15,6 @@ import type { } from '../../src/types/Logger.js'; import type { LogKey, UnformattedAttributes } from '../../src/types/logKeys.js'; -const fileNameRegexp = new RegExp(/index.js:\d+$/); const fileNameRegexpWithLine = new RegExp(/formatters.test.ts:\d+:\d+/); const formatter = new PowertoolsLogFormatter(); const formatterWithEnv = new PowertoolsLogFormatter({ diff --git a/packages/logger/tests/unit/initializeLogger.test.ts b/packages/logger/tests/unit/initializeLogger.test.ts index e133ae71f0..2a1a53c76b 100644 --- a/packages/logger/tests/unit/initializeLogger.test.ts +++ b/packages/logger/tests/unit/initializeLogger.test.ts @@ -1,6 +1,6 @@ -import { type Mock, beforeEach, describe, expect, it, vi } from 'vitest'; -import { Logger } from '../../src/Logger.js'; +import { beforeEach, describe, expect, it, type Mock, vi } from 'vitest'; import { LogJsonIndent, LogLevel } from '../../src/constants.js'; +import { Logger } from '../../src/Logger.js'; describe('Log levels', () => { const ENVIRONMENT_VARIABLES = process.env; diff --git a/packages/logger/tests/unit/injectLambdaContext.test.ts b/packages/logger/tests/unit/injectLambdaContext.test.ts index 03dec2cb66..606ce60ca2 100644 --- a/packages/logger/tests/unit/injectLambdaContext.test.ts +++ b/packages/logger/tests/unit/injectLambdaContext.test.ts @@ -2,8 +2,8 @@ import context from '@aws-lambda-powertools/testing-utils/context'; import middy from '@middy/core'; import type { Context } from 'aws-lambda'; import { beforeEach, describe, expect, it, vi } from 'vitest'; -import { Logger } from '../../src/Logger.js'; import { search } from '../../src/correlationId.js'; +import { Logger } from '../../src/Logger.js'; import { injectLambdaContext } from '../../src/middleware/middy.js'; const event = { diff --git a/packages/logger/tests/unit/logBuffer.test.ts b/packages/logger/tests/unit/logBuffer.test.ts index ebe7d838c2..550e92f911 100644 --- a/packages/logger/tests/unit/logBuffer.test.ts +++ b/packages/logger/tests/unit/logBuffer.test.ts @@ -1,9 +1,9 @@ import context from '@aws-lambda-powertools/testing-utils/context'; import type { Context } from 'aws-lambda'; import middy from 'middy5'; -import { type Mock, beforeEach, describe, expect, it, vi } from 'vitest'; -import { Logger } from '../../src/Logger.js'; +import { beforeEach, describe, expect, it, type Mock, vi } from 'vitest'; import { LogLevel, UncaughtErrorLogMessage } from '../../src/constants.js'; +import { Logger } from '../../src/Logger.js'; import { injectLambdaContext } from '../../src/middleware/middy.js'; describe('Buffer logs', () => { diff --git a/packages/logger/tests/unit/logEvent.test.ts b/packages/logger/tests/unit/logEvent.test.ts index 17140c238c..85f7e40728 100644 --- a/packages/logger/tests/unit/logEvent.test.ts +++ b/packages/logger/tests/unit/logEvent.test.ts @@ -86,7 +86,7 @@ describe('Log event', () => { const logger = new Logger(); class Test { @logger.injectLambdaContext({ logEvent: true }) - async handler(event: unknown, context: Context) { + async handler(event: unknown, _context: Context) { return event; } } diff --git a/packages/logger/tests/unit/logLevels.test.ts b/packages/logger/tests/unit/logLevels.test.ts index 04aa73e192..af28510dad 100644 --- a/packages/logger/tests/unit/logLevels.test.ts +++ b/packages/logger/tests/unit/logLevels.test.ts @@ -1,6 +1,6 @@ import { beforeEach, describe, expect, it, vi } from 'vitest'; -import { Logger } from '../../src/Logger.js'; import { LogLevel, LogLevelThreshold } from '../../src/constants.js'; +import { Logger } from '../../src/Logger.js'; import type { ConfigServiceInterface } from '../../src/types/ConfigServiceInterface.js'; import type { LogFunction, diff --git a/packages/logger/tests/unit/sampling.test.ts b/packages/logger/tests/unit/sampling.test.ts index 2179e4d041..0373329b71 100644 --- a/packages/logger/tests/unit/sampling.test.ts +++ b/packages/logger/tests/unit/sampling.test.ts @@ -1,6 +1,6 @@ import { beforeEach, describe, expect, it } from 'vitest'; import { EnvironmentVariablesService } from '../../src/config/EnvironmentVariablesService.js'; -import { LogLevel, LogLevelThreshold, Logger } from '../../src/index.js'; +import { Logger, LogLevel, LogLevelThreshold } from '../../src/index.js'; class CustomConfigService extends EnvironmentVariablesService { #sampleRateValue = 1; diff --git a/packages/logger/tests/unit/workingWithkeys.test.ts b/packages/logger/tests/unit/workingWithkeys.test.ts index e4d4bbc1ec..45a13bff3e 100644 --- a/packages/logger/tests/unit/workingWithkeys.test.ts +++ b/packages/logger/tests/unit/workingWithkeys.test.ts @@ -478,7 +478,7 @@ describe('Working with keys', () => { }); class Test { @logger.injectLambdaContext({ resetKeys: true }) - async handler(addKey: boolean, context: Context) { + async handler(addKey: boolean, _context: Context) { if (addKey) { logger.appendKeys({ foo: 'baz', diff --git a/packages/logger/tsconfig.cjs.json b/packages/logger/tsconfig.cjs.json index 7d570c8dbe..a8fadd417f 100644 --- a/packages/logger/tsconfig.cjs.json +++ b/packages/logger/tsconfig.cjs.json @@ -7,7 +7,5 @@ "rootDir": "./src", "tsBuildInfoFile": ".tsbuildinfo/cjs.json" }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/logger/tsconfig.json b/packages/logger/tsconfig.json index 204ff253d4..e1c2fb1dc4 100644 --- a/packages/logger/tsconfig.json +++ b/packages/logger/tsconfig.json @@ -8,7 +8,5 @@ "composite": true, "declaration": true }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/metrics/src/Metrics.ts b/packages/metrics/src/Metrics.ts index c53116d2bc..70a4139b0d 100644 --- a/packages/metrics/src/Metrics.ts +++ b/packages/metrics/src/Metrics.ts @@ -1,5 +1,5 @@ import { Console } from 'node:console'; -import { Utility, isIntegerNumber } from '@aws-lambda-powertools/commons'; +import { isIntegerNumber, Utility } from '@aws-lambda-powertools/commons'; import type { GenericLogger, HandlerMethodDecorator, @@ -12,8 +12,8 @@ import { EMF_MAX_TIMESTAMP_FUTURE_AGE, EMF_MAX_TIMESTAMP_PAST_AGE, MAX_DIMENSION_COUNT, - MAX_METRICS_SIZE, MAX_METRIC_VALUES_SIZE, + MAX_METRICS_SIZE, MetricResolution as MetricResolutions, MetricUnit as MetricUnits, } from './constants.js'; @@ -24,9 +24,9 @@ import type { ExtraOptions, MetricDefinition, MetricResolution, - MetricUnit, MetricsInterface, MetricsOptions, + MetricUnit, StoredMetrics, } from './types/index.js'; @@ -753,7 +753,7 @@ class Metrics extends Utility implements MetricsInterface { return { _aws: { - Timestamp: this.#timestamp ?? new Date().getTime(), + Timestamp: this.#timestamp ?? Date.now(), CloudWatchMetrics: [ { Namespace: this.namespace || DEFAULT_NAMESPACE, @@ -764,6 +764,7 @@ class Metrics extends Utility implements MetricsInterface { }, ...this.defaultDimensions, ...this.dimensions, + // biome-ignore lint/performance/noAccumulatingSpread: need to merge all dimension sets ...this.dimensionSets.reduce((acc, dims) => Object.assign(acc, dims), {}), ...metricValues, ...this.metadata, @@ -1101,7 +1102,7 @@ class Metrics extends Utility implements MetricsInterface { } const timestampMs = isDate ? timestamp.getTime() : timestamp; - const currentTime = new Date().getTime(); + const currentTime = Date.now(); const minValidTimestamp = currentTime - EMF_MAX_TIMESTAMP_PAST_AGE; const maxValidTimestamp = currentTime + EMF_MAX_TIMESTAMP_FUTURE_AGE; diff --git a/packages/metrics/src/index.ts b/packages/metrics/src/index.ts index 3db8841fd4..e68ba670d1 100644 --- a/packages/metrics/src/index.ts +++ b/packages/metrics/src/index.ts @@ -1,2 +1,2 @@ +export { MetricResolution, MetricUnit } from './constants.js'; export { Metrics } from './Metrics.js'; -export { MetricUnit, MetricResolution } from './constants.js'; diff --git a/packages/metrics/src/types/index.ts b/packages/metrics/src/types/index.ts index 6cb26881a1..ced7349ffd 100644 --- a/packages/metrics/src/types/index.ts +++ b/packages/metrics/src/types/index.ts @@ -1,13 +1,13 @@ +export type { ConfigServiceInterface } from './ConfigServiceInterface.js'; export type { - MetricsOptions, Dimensions, EmfOutput, ExtraOptions, - StoredMetrics, - StoredMetric, MetricDefinition, MetricResolution, - MetricUnit, MetricsInterface, + MetricsOptions, + MetricUnit, + StoredMetric, + StoredMetrics, } from './Metrics.js'; -export type { ConfigServiceInterface } from './ConfigServiceInterface.js'; diff --git a/packages/metrics/tests/e2e/basicFeatures.decorator.test.functionCode.ts b/packages/metrics/tests/e2e/basicFeatures.decorator.test.functionCode.ts index d2f4a391eb..aa098a4abf 100644 --- a/packages/metrics/tests/e2e/basicFeatures.decorator.test.functionCode.ts +++ b/packages/metrics/tests/e2e/basicFeatures.decorator.test.functionCode.ts @@ -1,6 +1,6 @@ import type { LambdaInterface } from '@aws-lambda-powertools/commons/types'; import type { Context } from 'aws-lambda'; -import { MetricUnit, Metrics } from '../../src/index.js'; +import { Metrics, MetricUnit } from '../../src/index.js'; import type { MetricUnit as MetricUnitType } from '../../src/types/index.js'; const namespace = process.env.EXPECTED_NAMESPACE ?? 'CdkExample'; diff --git a/packages/metrics/tests/e2e/basicFeatures.decorators.test.ts b/packages/metrics/tests/e2e/basicFeatures.decorators.test.ts index 39ce36248a..2858aec832 100644 --- a/packages/metrics/tests/e2e/basicFeatures.decorators.test.ts +++ b/packages/metrics/tests/e2e/basicFeatures.decorators.test.ts @@ -1,7 +1,7 @@ import { join } from 'node:path'; import { - TestStack, invokeFunction, + TestStack, } from '@aws-lambda-powertools/testing-utils'; import { CloudWatchClient, @@ -10,7 +10,7 @@ import { import { afterAll, beforeAll, describe, expect, it } from 'vitest'; import { getMetrics, sortDimensions } from '../helpers/metricsUtils.js'; import { MetricsTestNodejsFunction } from '../helpers/resources.js'; -import { RESOURCE_NAME_PREFIX, commonEnvironmentVars } from './constants.js'; +import { commonEnvironmentVars, RESOURCE_NAME_PREFIX } from './constants.js'; describe('Metrics E2E tests, basic features decorator usage', () => { const testStack = new TestStack({ @@ -92,7 +92,7 @@ describe('Metrics E2E tests, basic features decorator usage', () => { // Check coldstart metric value const adjustedStartTime = new Date(startTime.getTime() - 60 * 1000); - const endTime = new Date(new Date().getTime() + 60 * 1000); + const endTime = new Date(Date.now() + 60 * 1000); const coldStartMetricStat = await cloudwatchClient.send( new GetMetricStatisticsCommand({ Namespace: expectedNamespace, @@ -150,7 +150,7 @@ describe('Metrics E2E tests, basic features decorator usage', () => { // Check coldstart metric value const adjustedStartTime = new Date(startTime.getTime() - 3 * 60 * 1000); - const endTime = new Date(new Date().getTime() + 60 * 1000); + const endTime = new Date(Date.now() + 60 * 1000); const metricStat = await cloudwatchClient.send( new GetMetricStatisticsCommand({ Namespace: expectedNamespace, diff --git a/packages/metrics/tests/e2e/basicFeatures.manual.test.functionCode.ts b/packages/metrics/tests/e2e/basicFeatures.manual.test.functionCode.ts index 4091a2691a..e72736189d 100644 --- a/packages/metrics/tests/e2e/basicFeatures.manual.test.functionCode.ts +++ b/packages/metrics/tests/e2e/basicFeatures.manual.test.functionCode.ts @@ -1,5 +1,5 @@ import type { Context } from 'aws-lambda'; -import { MetricUnit, Metrics } from '../../src/index.js'; +import { Metrics, MetricUnit } from '../../src/index.js'; import type { MetricUnit as MetricUnitType } from '../../src/types/index.js'; const namespace = process.env.EXPECTED_NAMESPACE ?? 'CdkExample'; diff --git a/packages/metrics/tests/e2e/basicFeatures.manual.test.ts b/packages/metrics/tests/e2e/basicFeatures.manual.test.ts index 694d444847..1fb1e40528 100644 --- a/packages/metrics/tests/e2e/basicFeatures.manual.test.ts +++ b/packages/metrics/tests/e2e/basicFeatures.manual.test.ts @@ -1,7 +1,7 @@ import { join } from 'node:path'; import { - TestStack, invokeFunction, + TestStack, } from '@aws-lambda-powertools/testing-utils'; import { CloudWatchClient, @@ -10,7 +10,7 @@ import { import { afterAll, beforeAll, describe, expect, it } from 'vitest'; import { getMetrics, sortDimensions } from '../helpers/metricsUtils.js'; import { MetricsTestNodejsFunction } from '../helpers/resources.js'; -import { RESOURCE_NAME_PREFIX, commonEnvironmentVars } from './constants.js'; +import { commonEnvironmentVars, RESOURCE_NAME_PREFIX } from './constants.js'; describe('Metrics E2E tests, manual usage', () => { const testStack = new TestStack({ @@ -78,7 +78,7 @@ describe('Metrics E2E tests, manual usage', () => { // Check coldstart metric value const adjustedStartTime = new Date(startTime.getTime() - 60 * 1000); - const endTime = new Date(new Date().getTime() + 60 * 1000); + const endTime = new Date(Date.now() + 60 * 1000); const coldStartMetricStat = await cloudwatchClient.send( new GetMetricStatisticsCommand({ Namespace: expectedNamespace, @@ -136,7 +136,7 @@ describe('Metrics E2E tests, manual usage', () => { // Check coldstart metric value const adjustedStartTime = new Date(startTime.getTime() - 3 * 60 * 1000); - const endTime = new Date(new Date().getTime() + 60 * 1000); + const endTime = new Date(Date.now() + 60 * 1000); const metricStat = await cloudwatchClient.send( new GetMetricStatisticsCommand({ Namespace: expectedNamespace, diff --git a/packages/metrics/tests/tsconfig.json b/packages/metrics/tests/tsconfig.json index 76e267d72e..39f442212e 100644 --- a/packages/metrics/tests/tsconfig.json +++ b/packages/metrics/tests/tsconfig.json @@ -4,9 +4,5 @@ "rootDir": "../../", "noEmit": true }, - "include": [ - "../../testing/src/setupEnv.ts", - "../src/**/*", - "./**/*" - ] + "include": ["../../testing/src/setupEnv.ts", "../src/**/*", "./**/*"] } diff --git a/packages/metrics/tests/unit/coldStartMetric.test.ts b/packages/metrics/tests/unit/coldStartMetric.test.ts index e63ee9eb72..5dbcd61f11 100644 --- a/packages/metrics/tests/unit/coldStartMetric.test.ts +++ b/packages/metrics/tests/unit/coldStartMetric.test.ts @@ -1,6 +1,6 @@ import { beforeEach, describe, expect, it, vi } from 'vitest'; import { COLD_START_METRIC, DEFAULT_NAMESPACE } from '../../src/constants.js'; -import { MetricUnit, Metrics } from '../../src/index.js'; +import { Metrics, MetricUnit } from '../../src/index.js'; describe('ColdStart metric', () => { const ENVIRONMENT_VARIABLES = process.env; diff --git a/packages/metrics/tests/unit/creatingMetrics.test.ts b/packages/metrics/tests/unit/creatingMetrics.test.ts index 2b5a84aeaf..c26ed5e66e 100644 --- a/packages/metrics/tests/unit/creatingMetrics.test.ts +++ b/packages/metrics/tests/unit/creatingMetrics.test.ts @@ -4,7 +4,7 @@ import { MAX_METRICS_SIZE, MetricResolution, } from '../../src/constants.js'; -import { MetricUnit, Metrics } from '../../src/index.js'; +import { Metrics, MetricUnit } from '../../src/index.js'; describe('Creating metrics', () => { const ENVIRONMENT_VARIABLES = process.env; diff --git a/packages/metrics/tests/unit/customTimestamp.test.ts b/packages/metrics/tests/unit/customTimestamp.test.ts index 59ffd4159e..61e3ffa221 100644 --- a/packages/metrics/tests/unit/customTimestamp.test.ts +++ b/packages/metrics/tests/unit/customTimestamp.test.ts @@ -4,7 +4,7 @@ import { EMF_MAX_TIMESTAMP_FUTURE_AGE, EMF_MAX_TIMESTAMP_PAST_AGE, } from '../../src/constants.js'; -import { MetricUnit, Metrics } from '../../src/index.js'; +import { Metrics, MetricUnit } from '../../src/index.js'; describe('Setting custom timestamp', () => { const ENVIRONMENT_VARIABLES = process.env; diff --git a/packages/metrics/tests/unit/dimensions.test.ts b/packages/metrics/tests/unit/dimensions.test.ts index 24ceb798c2..5b3a7c3df5 100644 --- a/packages/metrics/tests/unit/dimensions.test.ts +++ b/packages/metrics/tests/unit/dimensions.test.ts @@ -1,6 +1,6 @@ import { beforeEach, describe, expect, it, vi } from 'vitest'; import { DEFAULT_NAMESPACE, MAX_DIMENSION_COUNT } from '../../src/constants.js'; -import { MetricUnit, Metrics } from '../../src/index.js'; +import { Metrics, MetricUnit } from '../../src/index.js'; describe('Working with dimensions', () => { const ENVIRONMENT_VARIABLES = process.env; diff --git a/packages/metrics/tests/unit/initializeMetrics.test.ts b/packages/metrics/tests/unit/initializeMetrics.test.ts index a6b4a62a9d..b1193e99da 100644 --- a/packages/metrics/tests/unit/initializeMetrics.test.ts +++ b/packages/metrics/tests/unit/initializeMetrics.test.ts @@ -1,6 +1,6 @@ import { beforeEach, describe, expect, it, vi } from 'vitest'; import { COLD_START_METRIC, DEFAULT_NAMESPACE } from '../../src/constants.js'; -import { MetricUnit, Metrics } from '../../src/index.js'; +import { Metrics, MetricUnit } from '../../src/index.js'; import type { ConfigServiceInterface } from '../../src/types/index.js'; describe('Initialize Metrics', () => { diff --git a/packages/metrics/tests/unit/logMetrics.test.ts b/packages/metrics/tests/unit/logMetrics.test.ts index a0e2a33447..97c6ba7be9 100644 --- a/packages/metrics/tests/unit/logMetrics.test.ts +++ b/packages/metrics/tests/unit/logMetrics.test.ts @@ -3,7 +3,7 @@ import middy from '@middy/core'; import type { Context } from 'aws-lambda'; import { beforeEach, describe, expect, it, vi } from 'vitest'; import { COLD_START_METRIC, DEFAULT_NAMESPACE } from '../../src/constants.js'; -import { MetricUnit, Metrics } from '../../src/index.js'; +import { Metrics, MetricUnit } from '../../src/index.js'; import { logMetrics } from '../../src/middleware/middy.js'; const contextFunctionName = 'context-function-name'; diff --git a/packages/metrics/tests/unit/metadata.test.ts b/packages/metrics/tests/unit/metadata.test.ts index 7af4074de6..91cfa83b49 100644 --- a/packages/metrics/tests/unit/metadata.test.ts +++ b/packages/metrics/tests/unit/metadata.test.ts @@ -1,5 +1,5 @@ import { beforeEach, describe, expect, it, vi } from 'vitest'; -import { MetricUnit, Metrics } from '../../src/index.js'; +import { Metrics, MetricUnit } from '../../src/index.js'; describe('Working with metadata', () => { const ENVIRONMENT_VARIABLES = process.env; diff --git a/packages/metrics/tsconfig.cjs.json b/packages/metrics/tsconfig.cjs.json index f81fe3fbd1..dfd6c269b2 100644 --- a/packages/metrics/tsconfig.cjs.json +++ b/packages/metrics/tsconfig.cjs.json @@ -7,7 +7,5 @@ "rootDir": "./src", "tsBuildInfoFile": ".tsbuildinfo/cjs.json" }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/metrics/tsconfig.json b/packages/metrics/tsconfig.json index 204ff253d4..e1c2fb1dc4 100644 --- a/packages/metrics/tsconfig.json +++ b/packages/metrics/tsconfig.json @@ -8,7 +8,5 @@ "composite": true, "declaration": true }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/metrics/typedoc.json b/packages/metrics/typedoc.json index dd6ff840a1..7df20e3456 100644 --- a/packages/metrics/typedoc.json +++ b/packages/metrics/typedoc.json @@ -6,4 +6,4 @@ "./src/middleware/middy.ts" ], "readme": "README.md" -} \ No newline at end of file +} diff --git a/packages/parameters/src/appconfig/AppConfigProvider.ts b/packages/parameters/src/appconfig/AppConfigProvider.ts index 0ef520a1e2..0bfa989865 100644 --- a/packages/parameters/src/appconfig/AppConfigProvider.ts +++ b/packages/parameters/src/appconfig/AppConfigProvider.ts @@ -1,9 +1,9 @@ +import type { StartConfigurationSessionCommandInput } from '@aws-sdk/client-appconfigdata'; import { AppConfigDataClient, GetLatestConfigurationCommand, StartConfigurationSessionCommand, } from '@aws-sdk/client-appconfigdata'; -import type { StartConfigurationSessionCommandInput } from '@aws-sdk/client-appconfigdata'; import { BaseProvider } from '../base/BaseProvider.js'; import { APPCONFIG_TOKEN_EXPIRATION } from '../constants.js'; import type { diff --git a/packages/parameters/src/base/index.ts b/packages/parameters/src/base/index.ts index 760ba42344..f61ae4d2b4 100644 --- a/packages/parameters/src/base/index.ts +++ b/packages/parameters/src/base/index.ts @@ -1,4 +1,4 @@ export { BaseProvider } from './BaseProvider.js'; export { DEFAULT_PROVIDERS } from './DefaultProviders.js'; -export { GetOptions } from './GetOptions.js'; export { GetMultipleOptions } from './GetMultipleOptions.js'; +export { GetOptions } from './GetOptions.js'; diff --git a/packages/parameters/src/dynamodb/DynamoDBProvider.ts b/packages/parameters/src/dynamodb/DynamoDBProvider.ts index 6f0e2ce7ec..cbdea3580e 100644 --- a/packages/parameters/src/dynamodb/DynamoDBProvider.ts +++ b/packages/parameters/src/dynamodb/DynamoDBProvider.ts @@ -1,14 +1,14 @@ import type { JSONValue } from '@aws-lambda-powertools/commons/types'; +import type { + GetItemCommandInput, + QueryCommandInput, +} from '@aws-sdk/client-dynamodb'; import { DynamoDBClient, type DynamoDBPaginationConfiguration, GetItemCommand, paginateQuery, } from '@aws-sdk/client-dynamodb'; -import type { - GetItemCommandInput, - QueryCommandInput, -} from '@aws-sdk/client-dynamodb'; import { marshall, unmarshall } from '@aws-sdk/util-dynamodb'; import { BaseProvider } from '../base/BaseProvider.js'; import type { diff --git a/packages/parameters/src/index.ts b/packages/parameters/src/index.ts index 58580e1e1a..970be22b81 100644 --- a/packages/parameters/src/index.ts +++ b/packages/parameters/src/index.ts @@ -1,3 +1,3 @@ export { clearCaches } from './base/DefaultProviders.js'; -export { GetParameterError, TransformParameterError } from './errors.js'; export { Transform } from './constants.js'; +export { GetParameterError, TransformParameterError } from './errors.js'; diff --git a/packages/parameters/src/secrets/SecretsProvider.ts b/packages/parameters/src/secrets/SecretsProvider.ts index fd1e62a51c..134e788536 100644 --- a/packages/parameters/src/secrets/SecretsProvider.ts +++ b/packages/parameters/src/secrets/SecretsProvider.ts @@ -1,8 +1,8 @@ +import type { GetSecretValueCommandInput } from '@aws-sdk/client-secrets-manager'; import { GetSecretValueCommand, SecretsManagerClient, } from '@aws-sdk/client-secrets-manager'; -import type { GetSecretValueCommandInput } from '@aws-sdk/client-secrets-manager'; import { BaseProvider } from '../base/BaseProvider.js'; import type { SecretsGetOptions, diff --git a/packages/parameters/src/secrets/index.ts b/packages/parameters/src/secrets/index.ts index 6bb75d813f..f0a74b5571 100644 --- a/packages/parameters/src/secrets/index.ts +++ b/packages/parameters/src/secrets/index.ts @@ -1,2 +1,2 @@ -export { SecretsProvider } from './SecretsProvider.js'; export { getSecret } from './getSecret.js'; +export { SecretsProvider } from './SecretsProvider.js'; diff --git a/packages/parameters/src/ssm/SSMProvider.ts b/packages/parameters/src/ssm/SSMProvider.ts index 490174522f..0ba511681f 100644 --- a/packages/parameters/src/ssm/SSMProvider.ts +++ b/packages/parameters/src/ssm/SSMProvider.ts @@ -1,11 +1,4 @@ import type { JSONValue } from '@aws-lambda-powertools/commons/types'; -import { - GetParameterCommand, - GetParametersCommand, - PutParameterCommand, - SSMClient, - paginateGetParametersByPath, -} from '@aws-sdk/client-ssm'; import type { GetParameterCommandInput, GetParametersByPathCommandInput, @@ -15,6 +8,13 @@ import type { PutParameterCommandOutput, SSMPaginationConfiguration, } from '@aws-sdk/client-ssm'; +import { + GetParameterCommand, + GetParametersCommand, + PutParameterCommand, + paginateGetParametersByPath, + SSMClient, +} from '@aws-sdk/client-ssm'; import { BaseProvider } from '../base/BaseProvider.js'; import { transformValue } from '../base/transformValue.js'; import { DEFAULT_MAX_AGE_SECS } from '../constants.js'; diff --git a/packages/parameters/src/ssm/index.ts b/packages/parameters/src/ssm/index.ts index a4459d0c18..fe6585709d 100644 --- a/packages/parameters/src/ssm/index.ts +++ b/packages/parameters/src/ssm/index.ts @@ -1,5 +1,5 @@ -export { SSMProvider } from './SSMProvider.js'; export { getParameter } from './getParameter.js'; -export { setParameter } from './setParameter.js'; export { getParameters } from './getParameters.js'; export { getParametersByName } from './getParametersByName.js'; +export { SSMProvider } from './SSMProvider.js'; +export { setParameter } from './setParameter.js'; diff --git a/packages/parameters/tests/e2e/appConfigProvider.class.test.ts b/packages/parameters/tests/e2e/appConfigProvider.class.test.ts index 5159600f79..af28e69110 100644 --- a/packages/parameters/tests/e2e/appConfigProvider.class.test.ts +++ b/packages/parameters/tests/e2e/appConfigProvider.class.test.ts @@ -1,8 +1,8 @@ import { join } from 'node:path'; import { + invokeFunctionOnce, TestInvocationLogs, TestStack, - invokeFunctionOnce, } from '@aws-lambda-powertools/testing-utils'; import { TestNodejsFunction } from '@aws-lambda-powertools/testing-utils/resources/lambda'; import { toBase64 } from '@smithy/util-base64'; diff --git a/packages/parameters/tests/e2e/dynamoDBProvider.class.test.ts b/packages/parameters/tests/e2e/dynamoDBProvider.class.test.ts index 333bbb7fce..f4fa7c4ba4 100644 --- a/packages/parameters/tests/e2e/dynamoDBProvider.class.test.ts +++ b/packages/parameters/tests/e2e/dynamoDBProvider.class.test.ts @@ -1,8 +1,8 @@ import { join } from 'node:path'; import { + invokeFunctionOnce, TestInvocationLogs, TestStack, - invokeFunctionOnce, } from '@aws-lambda-powertools/testing-utils'; import { TestNodejsFunction } from '@aws-lambda-powertools/testing-utils/resources/lambda'; import { AttributeType } from 'aws-cdk-lib/aws-dynamodb'; diff --git a/packages/parameters/tests/e2e/secretsProvider.class.test.ts b/packages/parameters/tests/e2e/secretsProvider.class.test.ts index 87467a9b06..b52481cbed 100644 --- a/packages/parameters/tests/e2e/secretsProvider.class.test.ts +++ b/packages/parameters/tests/e2e/secretsProvider.class.test.ts @@ -1,8 +1,8 @@ import { join } from 'node:path'; import { + invokeFunctionOnce, TestInvocationLogs, TestStack, - invokeFunctionOnce, } from '@aws-lambda-powertools/testing-utils'; import { TestNodejsFunction } from '@aws-lambda-powertools/testing-utils/resources/lambda'; import { SecretValue } from 'aws-cdk-lib'; diff --git a/packages/parameters/tests/e2e/ssmProvider.class.test.ts b/packages/parameters/tests/e2e/ssmProvider.class.test.ts index fa5bf8931b..c5a28619fc 100644 --- a/packages/parameters/tests/e2e/ssmProvider.class.test.ts +++ b/packages/parameters/tests/e2e/ssmProvider.class.test.ts @@ -1,8 +1,8 @@ import { join } from 'node:path'; import { + invokeFunctionOnce, TestInvocationLogs, TestStack, - invokeFunctionOnce, } from '@aws-lambda-powertools/testing-utils'; import { TestNodejsFunction } from '@aws-lambda-powertools/testing-utils/resources/lambda'; import { afterAll, beforeAll, describe, expect, it } from 'vitest'; diff --git a/packages/parameters/tests/helpers/resources.ts b/packages/parameters/tests/helpers/resources.ts index 366e07da1e..955d9da4be 100644 --- a/packages/parameters/tests/helpers/resources.ts +++ b/packages/parameters/tests/helpers/resources.ts @@ -1,9 +1,9 @@ import { randomUUID } from 'node:crypto'; import { - type TestStack, concatenateResourceName, getArchitectureKey, getRuntimeKey, + type TestStack, } from '@aws-lambda-powertools/testing-utils'; import { TestDynamodbTable } from '@aws-lambda-powertools/testing-utils/resources/dynamodb'; import type { TestNodejsFunction } from '@aws-lambda-powertools/testing-utils/resources/lambda'; diff --git a/packages/parameters/tests/tsconfig.json b/packages/parameters/tests/tsconfig.json index 316509ab78..39f442212e 100644 --- a/packages/parameters/tests/tsconfig.json +++ b/packages/parameters/tests/tsconfig.json @@ -4,9 +4,5 @@ "rootDir": "../../", "noEmit": true }, - "include": [ - "../../testing/src/setupEnv.ts", - "../src/**/*", - "./**/*", - ] -} \ No newline at end of file + "include": ["../../testing/src/setupEnv.ts", "../src/**/*", "./**/*"] +} diff --git a/packages/parameters/tests/unit/BaseProvider.test.ts b/packages/parameters/tests/unit/BaseProvider.test.ts index 424f8f687a..c85d43dc47 100644 --- a/packages/parameters/tests/unit/BaseProvider.test.ts +++ b/packages/parameters/tests/unit/BaseProvider.test.ts @@ -10,9 +10,9 @@ import { import type { EnvironmentVariablesService } from '../../src/config/EnvironmentVariablesService.js'; import { DEFAULT_MAX_AGE_SECS } from '../../src/constants.js'; import { + clearCaches, GetParameterError, TransformParameterError, - clearCaches, } from '../../src/index.js'; const encoder = new TextEncoder(); diff --git a/packages/parameters/tests/unit/DynamoDBProvider.test.ts b/packages/parameters/tests/unit/DynamoDBProvider.test.ts index 50f89b93c1..195a766d3d 100644 --- a/packages/parameters/tests/unit/DynamoDBProvider.test.ts +++ b/packages/parameters/tests/unit/DynamoDBProvider.test.ts @@ -1,13 +1,13 @@ import { addUserAgentMiddleware } from '@aws-lambda-powertools/commons'; +import type { + GetItemCommandInput, + QueryCommandInput, +} from '@aws-sdk/client-dynamodb'; import { DynamoDBClient, GetItemCommand, QueryCommand, } from '@aws-sdk/client-dynamodb'; -import type { - GetItemCommandInput, - QueryCommandInput, -} from '@aws-sdk/client-dynamodb'; import { marshall } from '@aws-sdk/util-dynamodb'; import { mockClient } from 'aws-sdk-client-mock'; import { beforeEach, describe, expect, it, vi } from 'vitest'; diff --git a/packages/parameters/tests/unit/SSMProvider.test.ts b/packages/parameters/tests/unit/SSMProvider.test.ts index b3d247c4f8..28471110c1 100644 --- a/packages/parameters/tests/unit/SSMProvider.test.ts +++ b/packages/parameters/tests/unit/SSMProvider.test.ts @@ -1,4 +1,5 @@ import { addUserAgentMiddleware } from '@aws-lambda-powertools/commons'; +import type { GetParametersCommandOutput } from '@aws-sdk/client-ssm'; import { GetParameterCommand, GetParametersByPathCommand, @@ -6,7 +7,6 @@ import { PutParameterCommand, SSMClient, } from '@aws-sdk/client-ssm'; -import type { GetParametersCommandOutput } from '@aws-sdk/client-ssm'; import { toBase64 } from '@smithy/util-base64'; import { mockClient } from 'aws-sdk-client-mock'; import { beforeEach, describe, expect, it, vi } from 'vitest'; diff --git a/packages/parameters/tests/unit/SecretsProvider.test.ts b/packages/parameters/tests/unit/SecretsProvider.test.ts index 4635b67c75..7a9bc71a4f 100644 --- a/packages/parameters/tests/unit/SecretsProvider.test.ts +++ b/packages/parameters/tests/unit/SecretsProvider.test.ts @@ -1,9 +1,9 @@ import { addUserAgentMiddleware } from '@aws-lambda-powertools/commons'; +import type { GetSecretValueCommandInput } from '@aws-sdk/client-secrets-manager'; import { GetSecretValueCommand, SecretsManagerClient, } from '@aws-sdk/client-secrets-manager'; -import type { GetSecretValueCommandInput } from '@aws-sdk/client-secrets-manager'; import { mockClient } from 'aws-sdk-client-mock'; import { beforeEach, describe, expect, it, vi } from 'vitest'; import { SecretsProvider } from '../../src/secrets/index.js'; diff --git a/packages/parameters/tests/unit/getParameter.test.ts b/packages/parameters/tests/unit/getParameter.test.ts index e1bd035103..765ba8e772 100644 --- a/packages/parameters/tests/unit/getParameter.test.ts +++ b/packages/parameters/tests/unit/getParameter.test.ts @@ -2,7 +2,7 @@ import { GetParameterCommand, SSMClient } from '@aws-sdk/client-ssm'; import { mockClient } from 'aws-sdk-client-mock'; import { beforeEach, describe, expect, it, vi } from 'vitest'; import { DEFAULT_PROVIDERS } from '../../src/base/index.js'; -import { SSMProvider, getParameter } from '../../src/ssm/index.js'; +import { getParameter, SSMProvider } from '../../src/ssm/index.js'; describe('Function: getParameter', () => { const client = mockClient(SSMClient); diff --git a/packages/parameters/tests/unit/getParameters.test.ts b/packages/parameters/tests/unit/getParameters.test.ts index 8058fb7972..c224fd5457 100644 --- a/packages/parameters/tests/unit/getParameters.test.ts +++ b/packages/parameters/tests/unit/getParameters.test.ts @@ -2,7 +2,7 @@ import { GetParametersByPathCommand, SSMClient } from '@aws-sdk/client-ssm'; import { mockClient } from 'aws-sdk-client-mock'; import { beforeEach, describe, expect, it, vi } from 'vitest'; import { DEFAULT_PROVIDERS } from '../../src/base/index.js'; -import { SSMProvider, getParameters } from '../../src/ssm/index.js'; +import { getParameters, SSMProvider } from '../../src/ssm/index.js'; describe('Function: getParameters', () => { beforeEach(() => { diff --git a/packages/parameters/tests/unit/getParametersByName.test.ts b/packages/parameters/tests/unit/getParametersByName.test.ts index a31d41959e..6fc1621bb6 100644 --- a/packages/parameters/tests/unit/getParametersByName.test.ts +++ b/packages/parameters/tests/unit/getParametersByName.test.ts @@ -2,7 +2,7 @@ import { GetParametersCommand, SSMClient } from '@aws-sdk/client-ssm'; import { mockClient } from 'aws-sdk-client-mock'; import { beforeEach, describe, expect, it, vi } from 'vitest'; import { DEFAULT_PROVIDERS } from '../../src/base/index.js'; -import { SSMProvider, getParametersByName } from '../../src/ssm/index.js'; +import { getParametersByName, SSMProvider } from '../../src/ssm/index.js'; import type { SSMGetParametersByNameOptions } from '../../src/types/SSMProvider.js'; describe('Function: getParametersByName', () => { diff --git a/packages/parameters/tests/unit/getSecret.test.ts b/packages/parameters/tests/unit/getSecret.test.ts index 22d2f7743d..bcb5afb918 100644 --- a/packages/parameters/tests/unit/getSecret.test.ts +++ b/packages/parameters/tests/unit/getSecret.test.ts @@ -5,7 +5,7 @@ import { import { mockClient } from 'aws-sdk-client-mock'; import { beforeEach, describe, expect, it } from 'vitest'; import { DEFAULT_PROVIDERS } from '../../src/base/index.js'; -import { SecretsProvider, getSecret } from '../../src/secrets/index.js'; +import { getSecret, SecretsProvider } from '../../src/secrets/index.js'; const encoder = new TextEncoder(); diff --git a/packages/parameters/tests/unit/setParameter.test.ts b/packages/parameters/tests/unit/setParameter.test.ts index ac5b97ed7a..b9a0ebf01d 100644 --- a/packages/parameters/tests/unit/setParameter.test.ts +++ b/packages/parameters/tests/unit/setParameter.test.ts @@ -2,8 +2,8 @@ import { PutParameterCommand, SSMClient } from '@aws-sdk/client-ssm'; import { mockClient } from 'aws-sdk-client-mock'; import { beforeEach, describe, expect, it } from 'vitest'; import { DEFAULT_PROVIDERS } from '../../src/base/index.js'; -import { SSMProvider } from '../../src/ssm/SSMProvider.js'; import { setParameter } from '../../src/ssm/index.js'; +import { SSMProvider } from '../../src/ssm/SSMProvider.js'; import type { SSMSetOptions } from '../../src/types/SSMProvider.js'; describe('Function: setParameter', () => { diff --git a/packages/parameters/tsconfig.cjs.json b/packages/parameters/tsconfig.cjs.json index 7d570c8dbe..a8fadd417f 100644 --- a/packages/parameters/tsconfig.cjs.json +++ b/packages/parameters/tsconfig.cjs.json @@ -7,7 +7,5 @@ "rootDir": "./src", "tsBuildInfoFile": ".tsbuildinfo/cjs.json" }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/parameters/tsconfig.json b/packages/parameters/tsconfig.json index 204ff253d4..e1c2fb1dc4 100644 --- a/packages/parameters/tsconfig.json +++ b/packages/parameters/tsconfig.json @@ -8,7 +8,5 @@ "composite": true, "declaration": true }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/parser/src/envelopes/index.ts b/packages/parser/src/envelopes/index.ts index 5e42fb172c..08e77b8756 100644 --- a/packages/parser/src/envelopes/index.ts +++ b/packages/parser/src/envelopes/index.ts @@ -4,11 +4,11 @@ export { CloudWatchEnvelope } from './cloudwatch.js'; export { DynamoDBStreamEnvelope } from './dynamodb.js'; export { EventBridgeEnvelope } from './eventbridge.js'; export { KafkaEnvelope } from './kafka.js'; -export { KinesisFirehoseEnvelope } from './kinesis-firehose.js'; export { KinesisEnvelope } from './kinesis.js'; +export { KinesisFirehoseEnvelope } from './kinesis-firehose.js'; export { LambdaFunctionUrlEnvelope } from './lambda.js'; -export { SnsSqsEnvelope } from './sns-sqs.js'; export { SnsEnvelope } from './sns.js'; +export { SnsSqsEnvelope } from './sns-sqs.js'; export { SqsEnvelope } from './sqs.js'; export { VpcLatticeEnvelope } from './vpc-lattice.js'; export { VpcLatticeV2Envelope } from './vpc-latticev2.js'; diff --git a/packages/parser/src/helpers/dynamodb.ts b/packages/parser/src/helpers/dynamodb.ts index 7addeca6fa..56c9dc9144 100644 --- a/packages/parser/src/helpers/dynamodb.ts +++ b/packages/parser/src/helpers/dynamodb.ts @@ -70,7 +70,7 @@ const DynamoDBMarshalled = (schema: T) => .transform((str, ctx) => { try { return unmarshallDynamoDB(str); - } catch (err) { + } catch { ctx.addIssue({ code: 'custom', message: 'Could not unmarshall DynamoDB stream record', diff --git a/packages/parser/src/helpers/index.ts b/packages/parser/src/helpers/index.ts index f24424d17b..17cf945274 100644 --- a/packages/parser/src/helpers/index.ts +++ b/packages/parser/src/helpers/index.ts @@ -44,7 +44,7 @@ const JSONStringified = (schema: T) => .transform((str, ctx) => { try { return JSON.parse(str); - } catch (err) { + } catch { ctx.addIssue({ code: 'custom', message: 'Invalid JSON', diff --git a/packages/parser/src/index.ts b/packages/parser/src/index.ts index e181735190..d932877eba 100644 --- a/packages/parser/src/index.ts +++ b/packages/parser/src/index.ts @@ -1,2 +1,2 @@ -export { parser } from './parserDecorator.js'; export { ParseError } from './errors.js'; +export { parser } from './parserDecorator.js'; diff --git a/packages/parser/src/schemas/api-gateway-websocket.ts b/packages/parser/src/schemas/api-gateway-websocket.ts index d6e56fed24..a70148c9ba 100644 --- a/packages/parser/src/schemas/api-gateway-websocket.ts +++ b/packages/parser/src/schemas/api-gateway-websocket.ts @@ -67,14 +67,17 @@ export const APIGatewayProxyWebsocketEventSchema = z.object({ headers: z.record(z.string()), multiValueHeaders: z.record(z.array(z.string())), queryStringParameters: z.record(z.string()).nullable().optional(), - multiValueQueryStringParameters: z.record(z.array(z.string())).nullable().optional(), + multiValueQueryStringParameters: z + .record(z.array(z.string())) + .nullable() + .optional(), stageVariables: z.record(z.string()).nullable().optional(), requestContext: z.object({ routeKey: z.string(), - eventType: z.enum(["CONNECT", "DISCONNECT", "MESSAGE"]), + eventType: z.enum(['CONNECT', 'DISCONNECT', 'MESSAGE']), extendedRequestId: z.string(), requestTime: z.string(), - messageDirection: z.enum(["IN", "OUT"]), + messageDirection: z.enum(['IN', 'OUT']), stage: z.string(), connectedAt: z.number(), requestTimeEpoch: z.number(), @@ -89,4 +92,4 @@ export const APIGatewayProxyWebsocketEventSchema = z.object({ }), isBase64Encoded: z.boolean(), body: z.string().optional().nullable(), -}); \ No newline at end of file +}); diff --git a/packages/parser/src/schemas/cloudwatch.ts b/packages/parser/src/schemas/cloudwatch.ts index cc3963fe0a..0ab849f448 100644 --- a/packages/parser/src/schemas/cloudwatch.ts +++ b/packages/parser/src/schemas/cloudwatch.ts @@ -26,7 +26,7 @@ const decompressRecordToJSON = ( ); return CloudWatchLogsDecodeSchema.parse(JSON.parse(uncompressed)); - } catch (error) { + } catch { throw new DecompressError('Failed to decompress CloudWatch log data'); } }; diff --git a/packages/parser/src/schemas/dynamodb.ts b/packages/parser/src/schemas/dynamodb.ts index 5d735ee5bf..f61ec57734 100644 --- a/packages/parser/src/schemas/dynamodb.ts +++ b/packages/parser/src/schemas/dynamodb.ts @@ -40,7 +40,7 @@ const unmarshallDynamoDBTransform = ( try { // @ts-expect-error return unmarshallDynamoDB(image) as Record; - } catch (err) { + } catch { ctx.addIssue({ code: 'custom', message: `Could not unmarshall ${imageName} in DynamoDB stream record`, diff --git a/packages/parser/src/schemas/index.ts b/packages/parser/src/schemas/index.ts index 22854cf653..a43571279f 100644 --- a/packages/parser/src/schemas/index.ts +++ b/packages/parser/src/schemas/index.ts @@ -1,28 +1,28 @@ -export { AlbSchema, AlbMultiValueHeadersSchema } from './alb.js'; +export { AlbMultiValueHeadersSchema, AlbSchema } from './alb.js'; export { + APIGatewayEventRequestContextSchema, APIGatewayProxyEventSchema, APIGatewayRequestAuthorizerEventSchema, APIGatewayTokenAuthorizerEventSchema, - APIGatewayEventRequestContextSchema, } from './api-gateway.js'; export { APIGatewayProxyWebsocketEventSchema } from './api-gateway-websocket.js'; export { - AppSyncResolverSchema, + APIGatewayProxyEventV2Schema, + APIGatewayRequestAuthorizerEventV2Schema, + APIGatewayRequestAuthorizerV2Schema, + APIGatewayRequestContextV2Schema, +} from './api-gatewayv2.js'; +export { AppSyncBatchResolverSchema, + AppSyncResolverSchema, } from './appsync.js'; export { AppSyncEventsBaseSchema, - AppSyncEventsRequestSchema, AppSyncEventsInfoSchema, AppSyncEventsPublishSchema, + AppSyncEventsRequestSchema, AppSyncEventsSubscribeSchema, } from './appsync-events.js'; -export { - APIGatewayProxyEventV2Schema, - APIGatewayRequestAuthorizerEventV2Schema, - APIGatewayRequestAuthorizerV2Schema, - APIGatewayRequestContextV2Schema, -} from './api-gatewayv2.js'; export { CloudFormationCustomResourceCreateSchema, CloudFormationCustomResourceDeleteSchema, @@ -34,18 +34,18 @@ export { CloudWatchLogsSchema, } from './cloudwatch.js'; export { - PreSignupTriggerSchema, + CreateAuthChallengeTriggerSchema, + CustomEmailSenderTriggerSchema, + CustomMessageTriggerSchema, + CustomSMSSenderTriggerSchema, + DefineAuthChallengeTriggerSchema, + MigrateUserTriggerSchema, + PostAuthenticationTriggerSchema, PostConfirmationTriggerSchema, PreAuthenticationTriggerSchema, - PostAuthenticationTriggerSchema, + PreSignupTriggerSchema, PreTokenGenerationTriggerSchemaV1, PreTokenGenerationTriggerSchemaV2AndV3, - MigrateUserTriggerSchema, - CustomMessageTriggerSchema, - CustomEmailSenderTriggerSchema, - CustomSMSSenderTriggerSchema, - DefineAuthChallengeTriggerSchema, - CreateAuthChallengeTriggerSchema, VerifyAuthChallengeTriggerSchema, } from './cognito.js'; export { @@ -55,40 +55,40 @@ export { export { EventBridgeSchema } from './eventbridge.js'; export { KafkaMskEventSchema, - KafkaSelfManagedEventSchema, KafkaRecordSchema, + KafkaSelfManagedEventSchema, } from './kafka.js'; export { + KinesisDataStreamRecord, KinesisDataStreamSchema, KinesisDynamoDBStreamSchema, - KinesisDataStreamRecord, } from './kinesis.js'; export { - KinesisFirehoseSchema, - KinesisFirehoseSqsSchema, KinesisFirehoseRecordSchema, + KinesisFirehoseSchema, KinesisFirehoseSqsRecordSchema, + KinesisFirehoseSqsSchema, } from './kinesis-firehose.js'; export { LambdaFunctionUrlSchema } from './lambda.js'; export { - S3SqsEventNotificationSchema, S3EventNotificationEventBridgeSchema, S3ObjectLambdaEventSchema, S3Schema, + S3SqsEventNotificationSchema, } from './s3.js'; -export { SesSchema, SesRecordSchema } from './ses.js'; +export { SesRecordSchema, SesSchema } from './ses.js'; export { - SnsSchema, + SnsNotificationSchema, SnsRecordSchema, + SnsSchema, SnsSqsNotificationSchema, - SnsNotificationSchema, } from './sns.js'; export { - SqsSchema, - SqsRecordSchema, - SqsMsgAttributeSchema, - SqsMsgAttributeDataTypeSchema, SqsAttributesSchema, + SqsMsgAttributeDataTypeSchema, + SqsMsgAttributeSchema, + SqsRecordSchema, + SqsSchema, } from './sqs.js'; export { TransferFamilySchema } from './transfer-family.js'; export { VpcLatticeSchema } from './vpc-lattice.js'; diff --git a/packages/parser/src/schemas/kinesis-firehose.ts b/packages/parser/src/schemas/kinesis-firehose.ts index cb0bbab57b..dddb628e01 100644 --- a/packages/parser/src/schemas/kinesis-firehose.ts +++ b/packages/parser/src/schemas/kinesis-firehose.ts @@ -40,7 +40,7 @@ const KinesisFirehoseSqsRecordSchema = KinesisFireHoseRecordBase.extend({ return SqsRecordSchema.parse( JSON.parse(Buffer.from(data, 'base64').toString('utf8')) ); - } catch (e) { + } catch { ctx.addIssue({ code: z.ZodIssueCode.custom, message: 'Failed to parse SQS record', diff --git a/packages/parser/src/schemas/kinesis.ts b/packages/parser/src/schemas/kinesis.ts index 9e0b8ba8e2..e0ea622359 100644 --- a/packages/parser/src/schemas/kinesis.ts +++ b/packages/parser/src/schemas/kinesis.ts @@ -16,7 +16,7 @@ const KinesisDataStreamRecordPayload = z.object({ try { // If data was not compressed, try to parse it as JSON otherwise it must be string return decompressed === data ? JSON.parse(decoded) : decompressed; - } catch (e) { + } catch { return decoded; } }), @@ -25,7 +25,7 @@ const KinesisDataStreamRecordPayload = z.object({ const decompress = (data: string): string => { try { return JSON.parse(gunzipSync(fromBase64(data, 'base64')).toString('utf8')); - } catch (e) { + } catch { return data; } }; diff --git a/packages/parser/src/types/index.ts b/packages/parser/src/types/index.ts index 40c2308be8..e111d0d5b5 100644 --- a/packages/parser/src/types/index.ts +++ b/packages/parser/src/types/index.ts @@ -18,9 +18,9 @@ export type { APIGatewayRequestContextV2, APIGatewayTokenAuthorizerEvent, AppSyncBatchResolverEvent, - AppSyncResolverEvent, AppSyncEventsPublishEvent, AppSyncEventsSubscribeEvent, + AppSyncResolverEvent, CloudFormationCustomResourceCreateEvent, CloudFormationCustomResourceDeleteEvent, CloudFormationCustomResourceUpdateEvent, @@ -37,8 +37,8 @@ export type { KinesisDataStreamRecordEvent, KinesisDynamoDBStreamEvent, KinesisFireHoseEvent, - KinesisFirehoseRecord, KinesisFireHoseSqsEvent, + KinesisFirehoseRecord, KinesisFirehoseSqsRecord, LambdaFunctionUrlEvent, S3Event, diff --git a/packages/parser/src/types/schema.ts b/packages/parser/src/types/schema.ts index 7679abf43b..62d4172da9 100644 --- a/packages/parser/src/types/schema.ts +++ b/packages/parser/src/types/schema.ts @@ -1,5 +1,7 @@ import type { z } from 'zod'; import type { + AlbMultiValueHeadersSchema, + AlbSchema, APIGatewayEventRequestContextSchema, APIGatewayProxyEventSchema, APIGatewayProxyEventV2Schema, @@ -8,8 +10,6 @@ import type { APIGatewayRequestAuthorizerV2Schema, APIGatewayRequestContextV2Schema, APIGatewayTokenAuthorizerEventSchema, - AlbMultiValueHeadersSchema, - AlbSchema, AppSyncBatchResolverSchema, AppSyncEventsPublishSchema, AppSyncEventsSubscribeSchema, diff --git a/packages/parser/tests/events/alb/base.json b/packages/parser/tests/events/alb/base.json index 0ce1b680f0..9328cb39e1 100644 --- a/packages/parser/tests/events/alb/base.json +++ b/packages/parser/tests/events/alb/base.json @@ -25,4 +25,4 @@ }, "body": "Test", "isBase64Encoded": false -} \ No newline at end of file +} diff --git a/packages/parser/tests/events/alb/multi-fields.json b/packages/parser/tests/events/alb/multi-fields.json index e555b7840b..ca32152119 100644 --- a/packages/parser/tests/events/alb/multi-fields.json +++ b/packages/parser/tests/events/alb/multi-fields.json @@ -8,28 +8,16 @@ "path": "/lambda", "multiValueQueryStringParameters": {}, "multiValueHeaders": { - "accept": [ - "*/*" - ], + "accept": ["*/*"], "host": [ "alb-c-LoadB-14POFKYCLBNSF-1815800096.eu-central-1.elb.amazonaws.com" ], - "user-agent": [ - "curl/7.79.1" - ], - "x-amzn-trace-id": [ - "Root=1-62fa9327-21cdd4da4c6db451490a5fb7" - ], - "x-forwarded-for": [ - "123.123.123.123" - ], - "x-forwarded-port": [ - "80" - ], - "x-forwarded-proto": [ - "http" - ] + "user-agent": ["curl/7.79.1"], + "x-amzn-trace-id": ["Root=1-62fa9327-21cdd4da4c6db451490a5fb7"], + "x-forwarded-for": ["123.123.123.123"], + "x-forwarded-port": ["80"], + "x-forwarded-proto": ["http"] }, "body": "Test", "isBase64Encoded": false -} \ No newline at end of file +} diff --git a/packages/parser/tests/events/apigw-websocket/connectEvent.json b/packages/parser/tests/events/apigw-websocket/connectEvent.json index 409859eab7..1cd48c1858 100644 --- a/packages/parser/tests/events/apigw-websocket/connectEvent.json +++ b/packages/parser/tests/events/apigw-websocket/connectEvent.json @@ -1,43 +1,42 @@ { - "type": "REQUEST", - "methodArn": "arn:aws:execute-api:us-east-1:123456789012:abcdef123/default/$connect", - "headers": { - "Connection": "upgrade", - "content-length": "0", - "Host": "abcdef123.execute-api.us-east-1.amazonaws.com", - "Upgrade": "websocket" + "type": "REQUEST", + "methodArn": "arn:aws:execute-api:us-east-1:123456789012:abcdef123/default/$connect", + "headers": { + "Connection": "upgrade", + "content-length": "0", + "Host": "abcdef123.execute-api.us-east-1.amazonaws.com", + "Upgrade": "websocket" + }, + "multiValueHeaders": { + "Connection": ["upgrade"], + "content-length": ["0"], + "Host": ["abcdef123.execute-api.us-east-1.amazonaws.com"], + "Upgrade": ["websocket"] + }, + "queryStringParameters": { + "QueryString1": "queryValue1" + }, + "multiValueQueryStringParameters": { + "QueryString1": ["queryValue1"] + }, + "stageVariables": {}, + "requestContext": { + "routeKey": "$connect", + "eventType": "CONNECT", + "extendedRequestId": "XYZ123=", + "requestTime": "10/Oct/2024:22:56:18 +0000", + "messageDirection": "IN", + "stage": "default", + "connectedAt": 1674162806344, + "requestTimeEpoch": 1674162806345, + "identity": { + "sourceIp": "192.0.2.1" }, - "multiValueHeaders": { - "Connection": ["upgrade"], - "content-length": ["0"], - "Host": ["abcdef123.execute-api.us-east-1.amazonaws.com"], - "Upgrade": ["websocket"] - }, - "queryStringParameters": { - "QueryString1": "queryValue1" - }, - "multiValueQueryStringParameters": { - "QueryString1": ["queryValue1"] - }, - "stageVariables": {}, - "requestContext": { - "routeKey": "$connect", - "eventType": "CONNECT", - "extendedRequestId": "XYZ123=", - "requestTime": "10/Oct/2024:22:56:18 +0000", - "messageDirection": "IN", - "stage": "default", - "connectedAt": 1674162806344, - "requestTimeEpoch": 1674162806345, - "identity": { - "sourceIp": "192.0.2.1" - }, - "requestId": "abc123", - "domainName": "abcdef123.execute-api.us-east-1.amazonaws.com", - "connectionId": "def456", - "apiId": "abcdef123" - }, - "isBase64Encoded": false, - "body": null - } - \ No newline at end of file + "requestId": "abc123", + "domainName": "abcdef123.execute-api.us-east-1.amazonaws.com", + "connectionId": "def456", + "apiId": "abcdef123" + }, + "isBase64Encoded": false, + "body": null +} diff --git a/packages/parser/tests/events/appsync-events/base.json b/packages/parser/tests/events/appsync-events/base.json index 3c1ac13542..60e0262284 100644 --- a/packages/parser/tests/events/appsync-events/base.json +++ b/packages/parser/tests/events/appsync-events/base.json @@ -10,10 +10,7 @@ "info": { "channel": { "path": "/request/channel", - "segments": [ - "request", - "channel" - ] + "segments": ["request", "channel"] }, "channelNamespace": { "name": "request" @@ -25,4 +22,4 @@ "stash": {}, "outErrors": [], "events": null -} \ No newline at end of file +} diff --git a/packages/parser/tests/events/cloudwatch/base.json b/packages/parser/tests/events/cloudwatch/base.json index e0eed9de38..2e09f805cc 100644 --- a/packages/parser/tests/events/cloudwatch/base.json +++ b/packages/parser/tests/events/cloudwatch/base.json @@ -2,4 +2,4 @@ "awslogs": { "data": "H4sIAAAAAAAAE6WRTU/bQBCG/0q06jEmO7uzX76lNAGqtkjY6qEYRWt7Eqz6I7U3oQjx3ysbqDgUCam31ewzo2feeWANDYPfUXq/JxazT8t0ufm6SpLl2YrNWXfXUs9ipqQWCgVHEJrNWd3tzvrusGcxW/i7YVH7Ji/9YugairpwS33U+oaewCT05BsWM8EFLoAvBCwuR2bdXn/4skxXSXoDugCjvNpaJ1B770tVWGM95Z7IF4bN2XDIh6Kv9qHq2nVVB+oHFl+z07vQV7sd9Unwxc/o633yijt1egXrjyoqYHl+mwo82s+37GbSWh2pDeOIB1aVLGbSKu00R+MsKglKGo0ASmjLDUotUVsEB+gUGOBSobQguBvTCFVDQ/DNnsVghFOCW6dA2flLts/LR8AjASlgLGwM6gSU/ZEF8mXhoLCRFUZG6EUZ5WB4lHNvrJW5BkdZuPi2vszCOdV1N9v2XTObYj4JQ9ayx/n/7WDeuUOSLq/S2RX9OtAQLsp49h712Xfqh6pr49nzsd8SNgoVKu4kSOOsdkZxxTmCNCgEaIVacXTGCQX4trB7LfyQsZqOVGcsztiUIJtnL/9T8V+Bjszgm31dtbtN78NI8rFG/bEqnvqe35tDW9K2aqmcuv46TcybJx/R372/34TeF7SpygmHSBvQGrfbSLucU2G0QBSSOCrEggu5zdjjmN7N4x+T93ZttgMAAA==" } -} \ No newline at end of file +} diff --git a/packages/parser/tests/events/cognito/base.json b/packages/parser/tests/events/cognito/base.json index 0ea414d08e..95fabe78c4 100644 --- a/packages/parser/tests/events/cognito/base.json +++ b/packages/parser/tests/events/cognito/base.json @@ -10,4 +10,4 @@ "triggerSource": "", "request": {}, "response": {} -} \ No newline at end of file +} diff --git a/packages/parser/tests/events/dynamodb/base.json b/packages/parser/tests/events/dynamodb/base.json index db182d3b9a..3c7eda20f7 100644 --- a/packages/parser/tests/events/dynamodb/base.json +++ b/packages/parser/tests/events/dynamodb/base.json @@ -62,4 +62,4 @@ "eventSource": "aws:dynamodb" } ] -} \ No newline at end of file +} diff --git a/packages/parser/tests/events/sns/base.json b/packages/parser/tests/events/sns/base.json index 9cf3ec939a..553154d29c 100644 --- a/packages/parser/tests/events/sns/base.json +++ b/packages/parser/tests/events/sns/base.json @@ -28,4 +28,4 @@ } } ] -} \ No newline at end of file +} diff --git a/packages/parser/tests/events/transfer-family/base.json b/packages/parser/tests/events/transfer-family/base.json index e0bf0bd4ae..867c1f6520 100644 --- a/packages/parser/tests/events/transfer-family/base.json +++ b/packages/parser/tests/events/transfer-family/base.json @@ -1,8 +1,7 @@ { - "username": "value", - "password": "value", - "protocol": "SFTP", - "serverId": "s-abcd123456", - "sourceIp": "192.168.0.100" - } - \ No newline at end of file + "username": "value", + "password": "value", + "protocol": "SFTP", + "serverId": "s-abcd123456", + "sourceIp": "192.168.0.100" +} diff --git a/packages/parser/tests/events/vpc-lattice/base.json b/packages/parser/tests/events/vpc-lattice/base.json index 39880b4365..fb2e3f8d91 100644 --- a/packages/parser/tests/events/vpc-lattice/base.json +++ b/packages/parser/tests/events/vpc-lattice/base.json @@ -12,4 +12,4 @@ }, "body": "{\"message\": \"Hello from Lambda!\"}", "is_base64_encoded": false -} \ No newline at end of file +} diff --git a/packages/parser/tests/types/envelopes.test.ts b/packages/parser/tests/types/envelopes.test.ts index 7ba2f9387e..729b78b404 100644 --- a/packages/parser/tests/types/envelopes.test.ts +++ b/packages/parser/tests/types/envelopes.test.ts @@ -6,11 +6,11 @@ import { CloudWatchEnvelope } from '../../src/envelopes/cloudwatch.js'; import { DynamoDBStreamEnvelope } from '../../src/envelopes/dynamodb.js'; import { EventBridgeEnvelope } from '../../src/envelopes/eventbridge.js'; import { KafkaEnvelope } from '../../src/envelopes/kafka.js'; -import { KinesisFirehoseEnvelope } from '../../src/envelopes/kinesis-firehose.js'; import { KinesisEnvelope } from '../../src/envelopes/kinesis.js'; +import { KinesisFirehoseEnvelope } from '../../src/envelopes/kinesis-firehose.js'; import { LambdaFunctionUrlEnvelope } from '../../src/envelopes/lambda.js'; -import { SnsSqsEnvelope } from '../../src/envelopes/sns-sqs.js'; import { SnsEnvelope } from '../../src/envelopes/sns.js'; +import { SnsSqsEnvelope } from '../../src/envelopes/sns-sqs.js'; import { SqsEnvelope } from '../../src/envelopes/sqs.js'; import { VpcLatticeEnvelope } from '../../src/envelopes/vpc-lattice.js'; import { VpcLatticeV2Envelope } from '../../src/envelopes/vpc-latticev2.js'; @@ -29,22 +29,17 @@ describe('Types ', () => { { envelope: LambdaFunctionUrlEnvelope, name: 'LambdaFunctionUrl' }, { envelope: VpcLatticeEnvelope, name: 'VpcLattice' }, { envelope: VpcLatticeV2Envelope, name: 'VpcLatticeV2' }, - ])('infers object types for $name envelope', (testCase) => { - type Result = ParserOutput; - // Define the expected type + ])('infers object types for $name envelope', ({ envelope }) => { + // Prepare + type Result = ParserOutput; - // This will fail TypeScript compilation if Result is is an array + // Act const result = { name: 'John', age: 30 } satisfies Result; - // Runtime checks to ensure it's an array with single element + // Assess expect(Array.isArray(result)).toBe(false); expect(result).toEqual({ name: 'John', age: 30 }); - - // Type assertion to ensure it's specifically User[] - type AssertIsUserArray = T extends z.infer[] - ? true - : false; - type Test = AssertIsUserArray; + expectTypeOf(result).toEqualTypeOf>(); }); it.each([ @@ -56,17 +51,16 @@ describe('Types ', () => { { envelope: SqsEnvelope, name: 'Sqs' }, { envelope: SnsEnvelope, name: 'Sns' }, { envelope: SnsSqsEnvelope, name: 'SnsSqs' }, - ])('infers array types with $name envelope', (testCase) => { - // Define the expected type - type Result = ParserOutput; + ])('infers array types with $name envelope', ({ envelope }) => { + // Prepare + type Result = ParserOutput; - // This will fail TypeScript compilation if Result is is an array + // Act const result = [{ name: 'John', age: 30 }] satisfies Result; - // Runtime checks to ensure it's an array with single element + // Assess expect(Array.isArray(result)).toBe(true); expect(result).toEqual([{ name: 'John', age: 30 }]); - expectTypeOf(result).toEqualTypeOf[]>(); }); }); diff --git a/packages/parser/tests/unit/schema/apigw-websocket.test.ts b/packages/parser/tests/unit/schema/apigw-websocket.test.ts index 225458e626..021df64a1d 100644 --- a/packages/parser/tests/unit/schema/apigw-websocket.test.ts +++ b/packages/parser/tests/unit/schema/apigw-websocket.test.ts @@ -24,7 +24,8 @@ describe('Schema: APIGatewayProxyWebsocketEvent', () => { // Prepare const invalidEvent = { type: 'REQUEST', - methodArn: 'arn:aws:execute-api:us-east-1:123456789012:abcdef123/default/$connect', + methodArn: + 'arn:aws:execute-api:us-east-1:123456789012:abcdef123/default/$connect', headers: {}, requestContext: { routeKey: '$connect', @@ -33,6 +34,8 @@ describe('Schema: APIGatewayProxyWebsocketEvent', () => { }; // Act & Assess - expect(() => APIGatewayProxyWebsocketEventSchema.parse(invalidEvent)).toThrow(); + expect(() => + APIGatewayProxyWebsocketEventSchema.parse(invalidEvent) + ).toThrow(); }); -}); \ No newline at end of file +}); diff --git a/packages/parser/tests/unit/schema/kinesis.test.ts b/packages/parser/tests/unit/schema/kinesis.test.ts index 0f8817abf3..1e699d0f48 100644 --- a/packages/parser/tests/unit/schema/kinesis.test.ts +++ b/packages/parser/tests/unit/schema/kinesis.test.ts @@ -1,16 +1,16 @@ import { gunzipSync } from 'node:zlib'; import { describe, expect, it } from 'vitest'; +import { + KinesisDataStreamRecord, + KinesisDataStreamSchema, + KinesisDynamoDBStreamSchema, +} from '../../../src/schemas/kinesis.js'; import { KinesisFirehoseRecordSchema, KinesisFirehoseSchema, KinesisFirehoseSqsRecordSchema, KinesisFirehoseSqsSchema, } from '../../../src/schemas/kinesis-firehose.js'; -import { - KinesisDataStreamRecord, - KinesisDataStreamSchema, - KinesisDynamoDBStreamSchema, -} from '../../../src/schemas/kinesis.js'; import type { KinesisDataStreamEvent, KinesisDynamoDBStreamEvent, @@ -59,7 +59,7 @@ describe('Schema: Kinesis', () => { const parsed = KinesisDataStreamSchema.parse(testEvent); const transformedInput = { - Records: testEvent.Records.map((record, index) => { + Records: testEvent.Records.map((record, _index) => { return { ...record, kinesis: { @@ -187,7 +187,7 @@ describe('Schema: Kinesis', () => { const transformedInput = { ...testEvent, - Records: testEvent.Records.map((record, index) => { + Records: testEvent.Records.map((record) => { return { ...record, kinesis: { diff --git a/packages/parser/tsconfig.cjs.json b/packages/parser/tsconfig.cjs.json index 7d570c8dbe..a8fadd417f 100644 --- a/packages/parser/tsconfig.cjs.json +++ b/packages/parser/tsconfig.cjs.json @@ -7,7 +7,5 @@ "rootDir": "./src", "tsBuildInfoFile": ".tsbuildinfo/cjs.json" }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/parser/tsconfig.json b/packages/parser/tsconfig.json index 204ff253d4..e1c2fb1dc4 100644 --- a/packages/parser/tsconfig.json +++ b/packages/parser/tsconfig.json @@ -8,7 +8,5 @@ "composite": true, "declaration": true }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/testing/src/TestInvocationLogs.ts b/packages/testing/src/TestInvocationLogs.ts index 45c189aa5f..faba42b21d 100644 --- a/packages/testing/src/TestInvocationLogs.ts +++ b/packages/testing/src/TestInvocationLogs.ts @@ -87,7 +87,7 @@ class TestInvocationLogs { const parsedLog = TestInvocationLogs.parseFunctionLog(log); return parsedLog.level === levelToFilter; - } catch (error) { + } catch { // If log is not from structured logging : such as metrics one. return ( (log.split('\t')[2] as keyof typeof LogLevel) === levelToFilter diff --git a/packages/testing/src/helpers.ts b/packages/testing/src/helpers.ts index f0a755b6c5..7df9bc0299 100644 --- a/packages/testing/src/helpers.ts +++ b/packages/testing/src/helpers.ts @@ -1,9 +1,9 @@ import { randomUUID } from 'node:crypto'; import { - TEST_ARCHITECTURES, - TEST_RUNTIMES, defaultArchitecture, defaultRuntime, + TEST_ARCHITECTURES, + TEST_RUNTIMES, } from './constants.js'; const isValidRuntimeKey = ( diff --git a/packages/testing/src/index.ts b/packages/testing/src/index.ts index 89341279d2..069b562a35 100644 --- a/packages/testing/src/index.ts +++ b/packages/testing/src/index.ts @@ -1,18 +1,18 @@ -export { TestStack } from './TestStack.js'; export { - TEST_RUNTIMES, - defaultRuntime, - TEST_ARCHITECTURES, defaultArchitecture, + defaultRuntime, LogLevel, + TEST_ARCHITECTURES, + TEST_RUNTIMES, } from './constants.js'; export { - isValidRuntimeKey, - getRuntimeKey, - generateTestUniqueName, concatenateResourceName, findAndGetStackOutputValue, + generateTestUniqueName, getArchitectureKey, + getRuntimeKey, + isValidRuntimeKey, } from './helpers.js'; export { invokeFunction, invokeFunctionOnce } from './invokeTestFunction.js'; export { TestInvocationLogs } from './TestInvocationLogs.js'; +export { TestStack } from './TestStack.js'; diff --git a/packages/testing/src/resources/TestDynamodbTable.ts b/packages/testing/src/resources/TestDynamodbTable.ts index 6cb3db7379..2589a62250 100644 --- a/packages/testing/src/resources/TestDynamodbTable.ts +++ b/packages/testing/src/resources/TestDynamodbTable.ts @@ -1,8 +1,8 @@ import { randomUUID } from 'node:crypto'; import { CfnOutput, RemovalPolicy } from 'aws-cdk-lib'; import { AttributeType, BillingMode, Table } from 'aws-cdk-lib/aws-dynamodb'; -import type { TestStack } from '../TestStack.js'; import { concatenateResourceName } from '../helpers.js'; +import type { TestStack } from '../TestStack.js'; import type { ExtraTestProps, TestDynamodbTableProps } from '../types.js'; /** diff --git a/packages/testing/src/resources/TestNodejsFunction.ts b/packages/testing/src/resources/TestNodejsFunction.ts index e20ee86183..56b0799a58 100644 --- a/packages/testing/src/resources/TestNodejsFunction.ts +++ b/packages/testing/src/resources/TestNodejsFunction.ts @@ -3,13 +3,13 @@ import { CfnOutput, Duration } from 'aws-cdk-lib'; import { Alias, Tracing } from 'aws-cdk-lib/aws-lambda'; import { NodejsFunction, OutputFormat } from 'aws-cdk-lib/aws-lambda-nodejs'; import { LogGroup, RetentionDays } from 'aws-cdk-lib/aws-logs'; -import type { TestStack } from '../TestStack.js'; import { TEST_ARCHITECTURES, TEST_RUNTIMES } from '../constants.js'; import { concatenateResourceName, getArchitectureKey, getRuntimeKey, } from '../helpers.js'; +import type { TestStack } from '../TestStack.js'; import type { ExtraTestProps, TestNodejsFunctionProps } from '../types.js'; /** diff --git a/packages/testing/src/setupEnv.ts b/packages/testing/src/setupEnv.ts index 9caf9e724f..7363a80828 100644 --- a/packages/testing/src/setupEnv.ts +++ b/packages/testing/src/setupEnv.ts @@ -21,7 +21,7 @@ expect.extend({ const [rawMessage] = call; try { messages[idx] = JSON.parse(rawMessage); - } catch (error) { + } catch { messages[idx] = rawMessage; } if (this.equals(messages[idx], expected)) { @@ -55,7 +55,7 @@ expect.extend({ const [rawMessage] = call; try { messages[idx] = JSON.parse(rawMessage); - } catch (error) { + } catch { messages[idx] = rawMessage; } if (this.equals(messages[idx], expected)) { @@ -119,7 +119,7 @@ expect.extend({ const [rawMessage] = call; try { emfs[idx] = JSON.parse(rawMessage); - } catch (error) { + } catch { emfs[idx] = rawMessage; } const metrics = emfs[idx]._aws.CloudWatchMetrics; diff --git a/packages/testing/tsconfig.cjs.json b/packages/testing/tsconfig.cjs.json index f81fe3fbd1..dfd6c269b2 100644 --- a/packages/testing/tsconfig.cjs.json +++ b/packages/testing/tsconfig.cjs.json @@ -7,7 +7,5 @@ "rootDir": "./src", "tsBuildInfoFile": ".tsbuildinfo/cjs.json" }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/testing/tsconfig.json b/packages/testing/tsconfig.json index 204ff253d4..e1c2fb1dc4 100644 --- a/packages/testing/tsconfig.json +++ b/packages/testing/tsconfig.json @@ -8,7 +8,5 @@ "composite": true, "declaration": true }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/tracer/src/Tracer.ts b/packages/tracer/src/Tracer.ts index 281241bdbc..7a9388e404 100644 --- a/packages/tracer/src/Tracer.ts +++ b/packages/tracer/src/Tracer.ts @@ -10,6 +10,7 @@ if ( ) { process.env.AWS_XRAY_CONTEXT_MISSING = 'IGNORE_ERROR'; } + import { Utility } from '@aws-lambda-powertools/commons'; import type { AsyncHandler, @@ -34,6 +35,7 @@ import type { TracerInterface, TracerOptions, } from './types/Tracer.js'; + const { Subsegment: XraySubsegment } = xraySdk; /** diff --git a/packages/tracer/src/provider/ProviderService.ts b/packages/tracer/src/provider/ProviderService.ts index a080a32278..e12e8df0d0 100644 --- a/packages/tracer/src/provider/ProviderService.ts +++ b/packages/tracer/src/provider/ProviderService.ts @@ -6,6 +6,7 @@ import type { HttpSubsegment, ProviderServiceInterface, } from '../types/ProviderService.js'; + const { captureAWS, captureAWSClient, @@ -21,6 +22,7 @@ const { setDaemonAddress, setLogger, } = xraySdk; + import { subscribe } from 'node:diagnostics_channel'; import http from 'node:http'; import https from 'node:https'; diff --git a/packages/tracer/src/types/index.ts b/packages/tracer/src/types/index.ts index 62fd8b99b2..da006b36b6 100644 --- a/packages/tracer/src/types/index.ts +++ b/packages/tracer/src/types/index.ts @@ -1,10 +1,10 @@ export type { - TracerOptions, + AnyClass, + AnyClassMethod, CaptureLambdaHandlerOptions, CaptureMethodOptions, HandlerMethodDecorator, - AnyClass, - AnyClassMethod, MethodDecorator, TracerInterface, + TracerOptions, } from './Tracer.js'; diff --git a/packages/tracer/tests/e2e/decorator.test.ts b/packages/tracer/tests/e2e/decorator.test.ts index 260dfae659..2c5b14a6af 100644 --- a/packages/tracer/tests/e2e/decorator.test.ts +++ b/packages/tracer/tests/e2e/decorator.test.ts @@ -2,12 +2,11 @@ import { join } from 'node:path'; import { TestStack } from '@aws-lambda-powertools/testing-utils'; import { TestDynamodbTable } from '@aws-lambda-powertools/testing-utils/resources/dynamodb'; import { TestNodejsFunction } from '@aws-lambda-powertools/testing-utils/resources/lambda'; +import type { EnrichedXRayTraceDocumentParsed } from '@aws-lambda-powertools/testing-utils/types'; import { getTraces } from '@aws-lambda-powertools/testing-utils/utils/xray-traces'; -import type { EnrichedXRayTraceDocumentParsed } from 'packages/testing/lib/cjs/types.js'; import { afterAll, beforeAll, describe, expect, it } from 'vitest'; import { invokeAllTestCases } from '../helpers/invokeAllTests.js'; import { - RESOURCE_NAME_PREFIX, EXPECTED_ANNOTATION_KEY as expectedCustomAnnotationKey, EXPECTED_ANNOTATION_VALUE as expectedCustomAnnotationValue, EXPECTED_ERROR_MESSAGE as expectedCustomErrorMessage, @@ -15,6 +14,7 @@ import { EXPECTED_METADATA_VALUE as expectedCustomMetadataValue, EXPECTED_RESPONSE_VALUE as expectedCustomResponseValue, EXPECTED_SUBSEGMENT_NAME as expectedCustomSubSegmentName, + RESOURCE_NAME_PREFIX, } from './constants.js'; describe('Tracer E2E tests, decorator instrumentation', () => { diff --git a/packages/tracer/tests/e2e/manual.test.ts b/packages/tracer/tests/e2e/manual.test.ts index 52dbab375e..c553a7e181 100644 --- a/packages/tracer/tests/e2e/manual.test.ts +++ b/packages/tracer/tests/e2e/manual.test.ts @@ -2,18 +2,18 @@ import { join } from 'node:path'; import { TestStack } from '@aws-lambda-powertools/testing-utils'; import { TestDynamodbTable } from '@aws-lambda-powertools/testing-utils/resources/dynamodb'; import { TestNodejsFunction } from '@aws-lambda-powertools/testing-utils/resources/lambda'; +import type { EnrichedXRayTraceDocumentParsed } from '@aws-lambda-powertools/testing-utils/types'; import { getTraces } from '@aws-lambda-powertools/testing-utils/utils/xray-traces'; -import type { EnrichedXRayTraceDocumentParsed } from 'packages/testing/lib/cjs/types.js'; import { afterAll, beforeAll, describe, expect, it } from 'vitest'; import { invokeAllTestCases } from '../helpers/invokeAllTests.js'; import { - RESOURCE_NAME_PREFIX, EXPECTED_ANNOTATION_KEY as expectedCustomAnnotationKey, EXPECTED_ANNOTATION_VALUE as expectedCustomAnnotationValue, EXPECTED_ERROR_MESSAGE as expectedCustomErrorMessage, EXPECTED_METADATA_KEY as expectedCustomMetadataKey, EXPECTED_METADATA_VALUE as expectedCustomMetadataValue, EXPECTED_RESPONSE_VALUE as expectedCustomResponseValue, + RESOURCE_NAME_PREFIX, } from './constants.js'; describe('Tracer E2E tests, manual instantiation', () => { diff --git a/packages/tracer/tests/e2e/middy.test.ts b/packages/tracer/tests/e2e/middy.test.ts index 361c350166..49f152d1eb 100644 --- a/packages/tracer/tests/e2e/middy.test.ts +++ b/packages/tracer/tests/e2e/middy.test.ts @@ -2,17 +2,17 @@ import { join } from 'node:path'; import { TestStack } from '@aws-lambda-powertools/testing-utils'; import { TestDynamodbTable } from '@aws-lambda-powertools/testing-utils/resources/dynamodb'; import { TestNodejsFunction } from '@aws-lambda-powertools/testing-utils/resources/lambda'; +import type { EnrichedXRayTraceDocumentParsed } from '@aws-lambda-powertools/testing-utils/types'; import { getTraces } from '@aws-lambda-powertools/testing-utils/utils/xray-traces'; -import type { EnrichedXRayTraceDocumentParsed } from 'packages/testing/lib/cjs/types.js'; import { afterAll, beforeAll, describe, expect, it } from 'vitest'; import { invokeAllTestCases } from '../helpers/invokeAllTests.js'; import { - RESOURCE_NAME_PREFIX, EXPECTED_ANNOTATION_KEY as expectedCustomAnnotationKey, EXPECTED_ANNOTATION_VALUE as expectedCustomAnnotationValue, EXPECTED_ERROR_MESSAGE as expectedCustomErrorMessage, EXPECTED_METADATA_KEY as expectedCustomMetadataKey, EXPECTED_METADATA_VALUE as expectedCustomMetadataValue, + RESOURCE_NAME_PREFIX, } from './constants.js'; describe('Tracer E2E tests, middy instrumentation', () => { diff --git a/packages/tracer/tests/unit/Tracer.test.ts b/packages/tracer/tests/unit/Tracer.test.ts index c1ebd7c306..1909b24e5c 100644 --- a/packages/tracer/tests/unit/Tracer.test.ts +++ b/packages/tracer/tests/unit/Tracer.test.ts @@ -7,10 +7,10 @@ import { setContextMissingStrategy, } from 'aws-xray-sdk-core'; import { afterAll, beforeEach, describe, expect, it, vi } from 'vitest'; -import type { ConfigServiceInterface } from '../../src/types/ConfigServiceInterface.js'; -import type { ProviderServiceInterface } from '../../src/types/ProviderService.js'; import { Tracer } from './../../src/index.js'; +import type { ConfigServiceInterface } from '../../src/types/ConfigServiceInterface.js'; import type { CaptureLambdaHandlerOptions } from './../../src/types/index.js'; +import type { ProviderServiceInterface } from '../../src/types/ProviderService.js'; const createCaptureAsyncFuncMock = ( provider: ProviderServiceInterface, @@ -1028,7 +1028,7 @@ describe('Class: Tracer', () => { ); setContextMissingStrategy(() => null); vi.spyOn(tracer.provider, 'captureAsyncFunc').mockImplementation( - async (methodName, callBackFn) => { + async (_methodName, callBackFn) => { await callBackFn(handlerSubsegment); } ); @@ -1419,7 +1419,7 @@ describe('Class: Tracer', () => { ); setContextMissingStrategy(() => null); vi.spyOn(tracer.provider, 'captureAsyncFunc').mockImplementation( - async (methodName, callBackFn) => { + async (_methodName, callBackFn) => { await callBackFn(handlerSubsegment); } ); diff --git a/packages/tracer/tests/unit/middy.test.ts b/packages/tracer/tests/unit/middy.test.ts index eebf3cde48..bb529a3af7 100644 --- a/packages/tracer/tests/unit/middy.test.ts +++ b/packages/tracer/tests/unit/middy.test.ts @@ -8,8 +8,8 @@ import { setContextMissingStrategy, } from 'aws-xray-sdk-core'; import { afterAll, beforeEach, describe, expect, it, vi } from 'vitest'; -import { captureLambdaHandler } from '../../src/middleware/middy.js'; import { Tracer } from './../../src/index.js'; +import { captureLambdaHandler } from '../../src/middleware/middy.js'; describe('Middy middleware', () => { const ENVIRONMENT_VARIABLES = process.env; diff --git a/packages/tracer/tsconfig.cjs.json b/packages/tracer/tsconfig.cjs.json index f81fe3fbd1..dfd6c269b2 100644 --- a/packages/tracer/tsconfig.cjs.json +++ b/packages/tracer/tsconfig.cjs.json @@ -7,7 +7,5 @@ "rootDir": "./src", "tsBuildInfoFile": ".tsbuildinfo/cjs.json" }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/tracer/tsconfig.json b/packages/tracer/tsconfig.json index 204ff253d4..e1c2fb1dc4 100644 --- a/packages/tracer/tsconfig.json +++ b/packages/tracer/tsconfig.json @@ -8,7 +8,5 @@ "composite": true, "declaration": true }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/tracer/typedoc.json b/packages/tracer/typedoc.json index bf98d8924a..c1513a9208 100644 --- a/packages/tracer/typedoc.json +++ b/packages/tracer/typedoc.json @@ -1,12 +1,10 @@ { - "extends": [ - "../../typedoc.base.json" - ], + "extends": ["../../typedoc.base.json"], "entryPoints": [ "./src/index.ts", "./src/types/index.ts", "./src/middleware/middy.ts", - "./src/provider/ProviderService.ts", + "./src/provider/ProviderService.ts" ], "readme": "README.md" -} \ No newline at end of file +} diff --git a/packages/validation/src/types.ts b/packages/validation/src/types.ts index c5d63d89cc..abe5c7ff97 100644 --- a/packages/validation/src/types.ts +++ b/packages/validation/src/types.ts @@ -1,9 +1,5 @@ import type { Ajv, AnySchema, Format } from 'ajv'; -type Prettify = { - [K in keyof T]: T[K]; -} & {}; - /** * Options to customize the JSON Schema validation. * diff --git a/packages/validation/tests/unit/decorator.test.ts b/packages/validation/tests/unit/decorator.test.ts index b2b6df0562..28e6cd27fd 100644 --- a/packages/validation/tests/unit/decorator.test.ts +++ b/packages/validation/tests/unit/decorator.test.ts @@ -114,7 +114,7 @@ describe('Decorator: validator', () => { // Prepare class TestClassOutbound { @validator({ outboundSchema }) - async process(input: { text: string }): Promise<{ result: number }> { + async process(_input: { text: string }): Promise<{ result: number }> { return { result: 42 }; } } diff --git a/packages/validation/tsconfig.cjs.json b/packages/validation/tsconfig.cjs.json index 7d570c8dbe..a8fadd417f 100644 --- a/packages/validation/tsconfig.cjs.json +++ b/packages/validation/tsconfig.cjs.json @@ -7,7 +7,5 @@ "rootDir": "./src", "tsBuildInfoFile": ".tsbuildinfo/cjs.json" }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/validation/tsconfig.json b/packages/validation/tsconfig.json index 204ff253d4..e1c2fb1dc4 100644 --- a/packages/validation/tsconfig.json +++ b/packages/validation/tsconfig.json @@ -8,7 +8,5 @@ "composite": true, "declaration": true }, - "include": [ - "./src/**/*" - ] -} \ No newline at end of file + "include": ["./src/**/*"] +} diff --git a/packages/validation/typedoc.json b/packages/validation/typedoc.json index 3032e9d15e..0ce66a9f21 100644 --- a/packages/validation/typedoc.json +++ b/packages/validation/typedoc.json @@ -1,13 +1,11 @@ { - "extends": [ - "../../typedoc.base.json" - ], + "extends": ["../../typedoc.base.json"], "entryPoints": [ "./src/types.ts", "./src/validate.ts", "./src/middleware.ts", "./src/decorator.ts", - "./src/errors.ts", + "./src/errors.ts" ], "readme": "README.md" -} \ No newline at end of file +} diff --git a/tsconfig.cjs.json b/tsconfig.cjs.json index 4ecd072a6e..aea77723c0 100644 --- a/tsconfig.cjs.json +++ b/tsconfig.cjs.json @@ -2,6 +2,6 @@ "extends": "./tsconfig.json", "compilerOptions": { "module": "commonjs", - "moduleResolution": "node", + "moduleResolution": "node" } -} \ No newline at end of file +} diff --git a/tsconfig.json b/tsconfig.json index 1ad4a97d20..0f09959192 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,7 +16,7 @@ "forceConsistentCasingInFileNames": true, "strict": true, "skipLibCheck": true, - "pretty": true, // Enable pretty formatting for output messages. + "pretty": true // Enable pretty formatting for output messages. }, "files": [], "references": [ @@ -54,4 +54,4 @@ "path": "./packages/validation" } ] -} \ No newline at end of file +} diff --git a/typedoc.base.json b/typedoc.base.json index 6ee9d0352c..e73f29c266 100644 --- a/typedoc.base.json +++ b/typedoc.base.json @@ -8,4 +8,4 @@ "**/*.json", "examples/snippets" ] -} \ No newline at end of file +} diff --git a/typedoc.json b/typedoc.json index 850a326423..57017cc3fb 100644 --- a/typedoc.json +++ b/typedoc.json @@ -1,7 +1,5 @@ { - "entryPoints": [ - "packages/*" - ], + "entryPoints": ["packages/*"], "entryPointStrategy": "packages", "name": "Powertools for AWS Lambda (Typescript) API Reference", "readme": "README.md", @@ -23,4 +21,4 @@ "inherited": true, "external": true } -} \ No newline at end of file +}