diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index b85c74e4ee..618fc1d8f6 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -1,5 +1,5 @@ name: Feature request -description: Suggest an idea for Lambda Powertools +description: Suggest an idea for Powertools for AWS Lambda title: "Feature request: TITLE" labels: ["feature-request", "triage"] projects: ["aws-powertools/7"] diff --git a/.markdownlint.yaml b/.markdownlint.yaml index bf812e66ca..3d16eda25f 100644 --- a/.markdownlint.yaml +++ b/.markdownlint.yaml @@ -223,4 +223,7 @@ MD051: true MD052: true # MD053/link-image-reference-definitions - Link and image reference definitions should be needed -MD053: true \ No newline at end of file +MD053: true + +# MD059/descriptive-link-text - Link text should be descriptive +MD059: true \ No newline at end of file diff --git a/.markdownlintignore b/.markdownlintignore index e478e8a876..df726bebbe 100644 --- a/.markdownlintignore +++ b/.markdownlintignore @@ -9,4 +9,5 @@ layers/*/CHANGELOG.md # other files LICENSE .github/** -**node_modules/** */ \ No newline at end of file +**node_modules/** */ +.venv \ No newline at end of file diff --git a/README.md b/README.md index b2977acff2..037c001e32 100644 --- a/README.md +++ b/README.md @@ -20,26 +20,28 @@ You can use the library in both TypeScript and JavaScript code bases. Find the complete project's [documentation here](https://docs.powertools.aws.dev/lambda/typescript/latest). -- **[Tracer](https://docs.powertools.aws.dev/lambda/typescript/latest/core/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions -- **[Logger](https://docs.powertools.aws.dev/lambda/typescript/latest/core/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context -- **[Metrics](https://docs.powertools.aws.dev/lambda/typescript/latest/core/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) -- **[Parameters](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM Parameter Store, AWS Secrets Manager, AWS AppConfig, and Amazon DynamoDB -- **[Idempotency](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/idempotency/)** - Class method decorator, Middy middleware, and function wrapper to make your Lambda functions idempotent and prevent duplicate execution based on payload content -- **[Batch Processing](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/batch/)** - Utility to handle partial failures when processing batches from Amazon SQS, Amazon Kinesis Data Streams, and Amazon DynamoDB Streams. -- **[JMESPath Functions](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/jmespath/)** - Built-in JMESPath functions to easily deserialize common encoded JSON payloads in Lambda functions. -- **[Parser (Zod)](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parser/)** - Utility that provides data validation and parsing using Zod, a TypeScript-first schema declaration and validation library. -- **[Validation](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/validation/)** - JSON Schema validation for events and responses, including JMESPath support to unwrap events before validation. +- **[Tracer](https://docs.powertools.aws.dev/lambda/typescript/latest/features/tracer/)** - Utilities to trace Lambda function handlers, and both synchronous and asynchronous functions +- **[Logger](https://docs.powertools.aws.dev/lambda/typescript/latest/features/logger/)** - Structured logging made easier, and a middleware to enrich log items with key details of the Lambda context +- **[Metrics](https://docs.powertools.aws.dev/lambda/typescript/latest/features/metrics/)** - Custom Metrics created asynchronously via CloudWatch Embedded Metric Format (EMF) +- **[Event Handler](https://docs.powertools.aws.dev/lambda/typescript/latest/features/event-handler/)** - Lightweight routing to reduce boilerplate for API Gateway REST/HTTP API, ALB and Lambda Function URLs +- **[Parameters](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/)** - High-level functions to retrieve one or more parameters from AWS SSM Parameter Store, AWS Secrets Manager, AWS AppConfig, and Amazon DynamoDB +- **[Idempotency](https://docs.powertools.aws.dev/lambda/typescript/latest/features/idempotency/)** - Class method decorator, Middy middleware, and function wrapper to make your Lambda functions idempotent and prevent duplicate execution based on payload content +- **[Batch Processing](https://docs.powertools.aws.dev/lambda/typescript/latest/features/batch/)** - Utility to handle partial failures when processing batches from Amazon SQS, Amazon Kinesis Data Streams, and Amazon DynamoDB Streams. +- **[JMESPath Functions](https://docs.powertools.aws.dev/lambda/typescript/latest/features/jmespath/)** - Built-in JMESPath functions to easily deserialize common encoded JSON payloads in Lambda functions. +- **[Parser (Zod)](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parser/)** - Utility that provides data validation and parsing using Zod, a TypeScript-first schema declaration and validation library. +- **[Validation](https://docs.powertools.aws.dev/lambda/typescript/latest/features/validation/)** - JSON Schema validation for events and responses, including JMESPath support to unwrap events before validation. ## Install -You can use Powertools for AWS Lambda (TypeScript) by installing it with your favorite dependency management, or [via Lambda Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/#lambda-layer_1). All features are available as individual packages, so you can install only the ones you need, for example: +You can use Powertools for AWS Lambda (TypeScript) by installing it with your favorite dependency management, or [via Lambda Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/getting-started/lambda-layers/). All features are available as individual packages, so you can install only the ones you need, for example: - **Logger**: `npm install @aws-lambda-powertools/logger` - **Metrics**: `npm install @aws-lambda-powertools/metrics` - **Tracer**: `npm install @aws-lambda-powertools/tracer` -- **Parameters**: `npm install @aws-lambda-powertools/parameters @aws-sdk/client-ssm` see [documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/#installation) for other providers -- **Idempotency**: `npm install @aws-lambda-powertools/idempotency @aws-sdk/client-dynamodb @aws-sdk/lib-dynamodb` -- **Batch**: `npm install @aws-lambda-powertools/batch` +- **Event Handler**: `npm install @aws-lambda-powertools/event-handler` +- **Parameters**: `npm install @aws-lambda-powertools/parameters @aws-sdk/client-ssm` see [documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/#installation) for other providers +- **Idempotency**: `npm install @aws-lambda-powertools/idempotency @aws-sdk/client-dynamodb @aws-sdk/lib-dynamodb` see [documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/features/idempotency/#installation) for other providers +- **Batch Processing**: `npm install @aws-lambda-powertools/batch` - **JMESPath Functions**: `npm install @aws-lambda-powertools/jmespath` - **Parser**: `npm install @aws-lambda-powertools/parser zod@~3` - **Validation**: `npm install @aws-lambda-powertools/validation` @@ -48,11 +50,6 @@ You can use Powertools for AWS Lambda (TypeScript) by installing it with your fa You can find examples of how to use Powertools for AWS Lambda (TypeScript) in the [examples](https://github.com/aws-powertools/powertools-lambda-typescript/tree/main/examples) directory. The directory contains code snippets around certain features as well as an is a simple REST API application that can be deployed via either AWS CDK or AWS SAM. -Community-contributed examples: - -- [Serverless TypeScript Demo](https://github.com/aws-samples/serverless-typescript-demo) -- [AWS Lambda performance tuning](https://github.com/aws-samples/optimizations-for-lambda-functions) - ## How to support Powertools for AWS Lambda (TypeScript)? ### Becoming a reference customer @@ -82,11 +79,11 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has [already shared](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this) about Powertools for AWS Lambda (TypeScript). ### Using Lambda Layer -This helps us understand who uses Powertools for AWS Lambda (Typescript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/#lambda-layer), you can add Powertools for AWS Lambda as a dev dependency to not impact the development process. +This helps us understand who uses Powertools for AWS Lambda (Typescript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/getting-started/lambda-layers/), you can add Powertools for AWS Lambda as a dev dependency to not impact the development process. ## Credits @@ -100,7 +97,7 @@ This helps us understand who uses Powertools for AWS Lambda (Typescript) in a no ## Security disclosures -If you think you’ve found a potential security issue, please do not post it in the Issues. Instead, please follow the instructions [here](https://aws.amazon.com/security/vulnerability-reporting/) or [email AWS security directly](mailto:aws-security@amazon.com). +If you think you’ve found a potential security issue, please do not post it in the Issues. Instead, please follow the [vulnerability reporting instructions](https://aws.amazon.com/security/vulnerability-reporting/) or [email AWS security directly](mailto:aws-security@amazon.com). ## License diff --git a/docs/contributing/getting_started.md b/docs/contributing/getting_started.md index f21caddd7a..44bb7c66ac 100644 --- a/docs/contributing/getting_started.md +++ b/docs/contributing/getting_started.md @@ -24,31 +24,31 @@ Whether you're new contributor or a pro, we compiled a list of the common contri !!! info "Please check [existing open](https://github.com/aws-powertools/powertools-lambda-typescript/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc){target='_blank'}, or [recently closed](https://github.com/aws-powertools/powertools-lambda-typescript/issues?q=is%3Aissue+sort%3Aupdated-desc+is%3Aclosed){target='_blank'} issues before creating a new one." Each type link goes to their respective template, or Discord invite. -| Type | Description | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [Documentation](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=area%2Fdocumentation%2Ctriage&projects=aws-powertools%2F7&template=documentation_improvements.yml&title=Docs%3A+TITLE){target="_blank" rel="nofollow"} | Ideas to make user guide or API guide clearer. This includes typos, diagrams, tutorials, the lack of documentation, etc. | -| [Feature request](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=type%2Ffeature-request%2Ctriage&projects=aws-powertools%2F7&template=feature_request.yml&title=Feature+request%3A+TITLE){target="_blank" rel="nofollow"} | New functionalities or enhancements that could help you, your team, or existing and future customers. Check out our [process to understand how we prioritize it](../roadmap.md#process){target="_blank"}. | -| [Design proposals](https://github.com/aws-powertools/powertools-lambda-typescript/discussions/new?category=rfcs){target="_blank" rel="nofollow"} | Request for Comments (RFC) including user experience (UX) based on a feature request to gather the community feedback, and demonstrate the art of the possible. | -| [Bug report](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=type%2Fbug%2Ctriage&projects=aws-powertools%2F7&template=bug_report.yml&title=Bug%3A+TITLE){target="_blank" rel="nofollow"} | A runtime error that is reproducible whether you have an idea how to solve it or not. | -| [Advocacy](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=community-content&projects=aws-powertools%2F7&template=share_your_work.yml&title=%5BI+Made+This%5D%3A+%3CTITLE%3E){target="_blank" rel="nofollow"} | Share what you did with Powertools for AWS Lambda. Blog posts, workshops, presentation, sample applications, podcasts, etc. | -| [Public reference](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=customer-reference&projects=aws-powertools%2F7&template=support_powertools.yml&title=%5BSupport+Powertools+for+AWS+Lambda+%28TypeScript%29%5D%3A+%3Cyour+organization+name%3E){target="_blank" rel="nofollow"} | Become a public reference to share how you're using Powertools for AWS Lambda at your organization. | -| [Discussions](https://discord.gg/B8zZKbbyET){target="_blank" rel="nofollow"} | Kick off a discussion on Discord, introduce yourself, and help respond to existing questions from the community. | -| [Maintenance](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new?assignees=&labels=type%2Finternal%2Ctriage&projects=aws-powertools%2F7&template=maintenance.yml&title=Maintenance%3A+TITLE){target="_blank" rel="nofollow"} | Suggest areas to address technical debt, governance, and anything internal. Generally used by maintainers and contributors. | +| Type | Description | +|------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Documentation](https://s12d.com/pt-ts-new-issue-documentation){target="_blank" rel="nofollow"} | Ideas to make user guide or API guide clearer. This includes typos, diagrams, tutorials, the lack of documentation, etc. | +| [Feature request](https://s12d.com/pt-ts-new-issue-feature-request){target="_blank" rel="nofollow"} | New features or enhancements that could help you, your team, or existing and future customers. Check out our [process to understand how we prioritize it](../roadmap.md#process){target="_blank"} | +| [Design proposals](https://s12d.com/pt-ts-new-rfc){target="_blank" rel="nofollow"} | Request for Comments (RFC) including user experience (UX) based on a feature request to gather the community feedback, and demonstrate the art of the possible. | +| [Bug report](https://s12d.com/pt-ts-new-issue-bug){target="_blank" rel="nofollow"} | A runtime error that is reproducible whether you have an idea how to solve it or not | +| [Advocacy](https://s12d.com/pt-ts-new-issue-community-content){target="_blank" rel="nofollow"} | Share what you did with Powertools for AWS Lambda. Blog posts, workshops, presentation, sample applications, podcasts, etc. | +| [Public reference](https://s12d.com/pt-ts-new-issue-public-reference){target="_blank" rel="nofollow"} | Become a public reference to share how you're using Powertools for AWS Lambda at your organization | +| [Discussions](https://discord.gg/B8zZKbbyET){target="_blank" rel="nofollow"} | Kick off a discussion on Discord, introduce yourself, and help respond to existing questions from the community | +| [Maintenance](https://s12d.com/pt-ts-new-issue-bug-maintenance){target="_blank" rel="nofollow"} | Suggest areas to address technical debt, governance, and anything internal. Generally used by maintainers and contributors | ## Finding contributions to work on [Besides suggesting ideas](#types-of-contributions) you think it'll improve everyone's experience, these are the most common places to find work: -| Area | Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [Help wanted issues](https://github.com/aws-powertools/powertools-lambda-typescript/issues?q=is%3Aopen+is%3Aissue+label%3Ahelp-wanted+sort%3Aupdated-desc){target="_blank" rel="nofollow"} | These are triaged areas that we'd appreciate any level of contribution - from opinions to actual implementation. | -| [Missing customer feedback issues](https://github.com/aws-powertools/powertools-lambda-typescript/issues?q=is%3Aopen+is%3Aissue+label%3Aneed-customer-feedback+sort%3Aupdated-desc+){target="_blank" rel="nofollow"} | These are items we'd like to hear from more customers before making any decision. Sharing your thoughts, use case, or asking additional questions are great help. | -| [Pending design proposals](https://github.com/aws-powertools/powertools-lambda-typescript/discussions/categories/rfcs){target="_blank" rel="nofollow"} | These are feature requests that initially look good but need a RFC to enrich the discussion by validating user-experience, tradeoffs, and highlight use cases. | -| [Backlog items](https://github.com/orgs/aws-powertools/projects/7/views/3?query=is%3Aopen+sort%3Aupdated-desc){target="_blank" rel="nofollow"} | We use GitHub projects to surface what we're working on, needs triage, etc. This view shows items we already triaged but don't have the bandwidth to tackle them just yet. | -| [Documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/){target="_blank"} | Documentation can always be improved. Look for areas that a better example, or a diagram, or more context helps everyone - keep in mind a diverse audience and English as a second language folks. | -| [Participate in discussions](https://discord.gg/B8zZKbbyET){target="_blank" rel="nofollow"} | There's always a discussion that could benefit others in the form of documentation, blog post, etc. | -| [Roadmap](../roadmap.md){target="_blank"} | Some roadmap items need a RFC to discuss design options, or gather customers use case before we can prioritize it. | -| Build a sample application | Using Powertools for AWS Lambda in different contexts will give you insights on what could be made easier, which documentation could be enriched, and more. | +| Area | Description | +| ----------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Help wanted issues](https://s12d.com/pt-ts-help-wanted){target="_blank" rel="nofollow"} | These are triaged areas that we'd appreciate any level of contribution - from opinions to actual implementation | +| [Missing customer feedback issues](https://s12d.com/pt-ts-need-customer-feedback){target="_blank" rel="nofollow"} | These are items we'd like to hear from more customers before making any decision. Sharing your thoughts, use case, or asking additional questions are great help | +| [Pending design proposals](https://s12d.com/pt-ts-open-rfcs){target="_blank" rel="nofollow"} | These are feature requests that initially look good but need a RFC to enrich the discussion by validating user-experience, tradeoffs, and highlight use cases | +| [Backlog items](https://s12d.com/pt-ts-backlog){target="_blank" rel="nofollow"} | We use GitHub projects to surface what we're working on, needs triage, etc. This view shows items we already triaged but don't have the bandwidth to tackle them just yet | +| [Documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/){target="_blank"} | Documentation can always be improved. Look for areas that could use a better example, or a diagram - keep in mind a diverse audience and English as a second language folks | +| [Participate in discussions](https://discord.gg/B8zZKbbyET){target="_blank" rel="nofollow"} | There's always a discussion that could benefit others in the form of documentation, blog post, etc. | +| [Roadmap](../roadmap.md){target="_blank"} | Some roadmap items need a RFC to discuss design options, or gather customers use case before we can prioritize it | +| Build a sample application | Using Powertools for AWS Lambda in different contexts will give you insights on what could be made easier, which documentation could be enriched, and more | !!! question "Still couldn't find anything that match your skill set?" Please reach out on [Discord](https://discord.gg/B8zZKbbyET){target="_blank" rel="nofollow"}, specially if you'd like to get mentoring for a task you'd like to take but you don't feel ready yet :blush: @@ -72,7 +72,7 @@ These are the steps to send a pull request: 1. Make sure that all formatting, linting, and tests tasks run as git pre-commit & pre-push hooks are passing. 2. Commit to your fork using clear commit messages. Don't worry about typos or format, we squash all commits during merge. -3. Send us a pull request with a [conventional semantic title](https://github.com/aws-powertools/powertools-lambda-typescript/pull/1744) - see full list of scopes and actions [here](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/.github/semantic.yml#L2). +3. Send us a pull request with a conventional semantic title - see [full list of scopes and actions](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/.github/semantic.yml#L2). 4. Fill in the areas pre-defined in the pull request body to help expedite reviewing your work. 5. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation. diff --git a/docs/features/logger.md b/docs/features/logger.md index 8fc6bd943c..9d40177cdd 100644 --- a/docs/features/logger.md +++ b/docs/features/logger.md @@ -797,7 +797,7 @@ By default, Logger emits records with the default Lambda timestamp in **UTC**, i If you prefer to log in a specific timezone, you can configure it by setting the `TZ` environment variable. You can do this either as an environment variable or directly within your Lambda function settings. -[Click here](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime){target="_blank"} for a comprehensive list of available Lambda environment variables. +See the [AWS Lambda Developer Guide](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime){target="_blank"} for a comprehensive list of available Lambda environment variables. === "customTimezone.ts" diff --git a/docs/features/metrics.md b/docs/features/metrics.md index add53e6bb1..e47c6fc791 100644 --- a/docs/features/metrics.md +++ b/docs/features/metrics.md @@ -29,7 +29,7 @@ If you're new to Amazon CloudWatch, there are two terminologies you must be awar * **Dimensions**. Metrics metadata in key-value format. They help you slice and dice metrics visualization, for example `ColdStart` metric by Payment `service`. * **Metric**. It's the name of the metric, for example: SuccessfulBooking or UpdatedBooking. * **Unit**. It's a value representing the unit of measure for the corresponding metric, for example: Count or Seconds. -* **Resolution**. It's a value representing the storage resolution for the corresponding metric. Metrics can be either Standard or High resolution. Read more [here](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Resolution_definition). +* **Resolution**. It's a value representing the storage resolution for the corresponding metric. Metrics can be either [Standard or High resolution](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Resolution_definition).
metrics terminology diagram diff --git a/docs/features/validation.md b/docs/features/validation.md index e320943adb..928b0d2b9a 100644 --- a/docs/features/validation.md +++ b/docs/features/validation.md @@ -1,7 +1,6 @@ --- title: Validation descrition: Utility -status: new --- @@ -145,7 +144,7 @@ Here is an example of how you can use the built-in envelope for SQS events: --8<-- "examples/snippets/validation/samples/gettingStartedSQSEnvelopeEvent.json" ``` -For a complete list of built-in envelopes, check the built-in envelopes section [here](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/jmespath/#built-in-envelopes). +For a complete list of built-in envelopes, check the [built-in envelopes section](https://docs.powertools.aws.dev/lambda/typescript/latest/features/jmespath/#built-in-envelopes). ## Advanced @@ -179,9 +178,9 @@ In some cases, your payloads might require some transformation before validation For this, you can use our buil-in JMESPath functions within your expressions. We have a few built-in functions that you can use: -- [`powertools_json()`](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/jmespath/#powertools_json-function): Parses a JSON string -- [`powertools_base64()`](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/jmespath/#powertools_base64-function): Decodes a base64 string -- [`powertools_base64_gzip()`](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/jmespath/#powertools_base64_gzip-function): Decodes a base64 string and unzips it +- [`powertools_json()`](https://docs.powertools.aws.dev/lambda/typescript/latest/features/jmespath/#powertools_json-function): Parses a JSON string +- [`powertools_base64()`](https://docs.powertools.aws.dev/lambda/typescript/latest/features/jmespath/#powertools_base64-function): Decodes a base64 string +- [`powertools_base64_gzip()`](https://docs.powertools.aws.dev/lambda/typescript/latest/features/jmespath/#powertools_base64_gzip-function): Decodes a base64 string and unzips it We use these functions for [built-in envelopes](#built-in-envelopes) to easily decode and unwrap events from sources like Kinesis, SQS, S3, and more. diff --git a/docs/roadmap.md b/docs/roadmap.md index 258b761462..97a56ab973 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -46,7 +46,7 @@ To close the gap between Powertools for AWS Lambda (Python) and Powertools for A ##### Logger - [x] [Ability to add a correlation ID to logs via decorator/middleware](https://github.com/aws-powertools/powertools-lambda-typescript/issues/2863){target="_blank"} -- [ ] [Ability to pretty print stack traces](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1362){target="_blank"} +- [x] [Ability to pretty print stack traces](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1362){target="_blank"} - [x] [Ability to buffer logs](https://github.com/aws-powertools/powertools-lambda-typescript/releases/tag/v2.16.0){target="_blank"} - [x] [Ability to refresh debug log sampling rate via decorator/middleware](https://github.com/aws-powertools/powertools-lambda-typescript/releases/tag/v2.16.0){target="_blank"} @@ -55,8 +55,9 @@ To close the gap between Powertools for AWS Lambda (Python) and Powertools for A In addition to the Event Handler REST feature mentioned above, we will also be working on the following: - [ ] [Implement resolver for Amazon Bedrock Agents Functions](https://github.com/aws-powertools/powertools-lambda-typescript/issues/3710){target="_blank"} +- [x] [Implement resolver for AWS AppSync Events API](https://github.com/aws-powertools/powertools-lambda-typescript/issues/3857){target="_blank"} - [ ] Implement resolver for Amazon Bedrock Agents OpenAPI -- [ ] Create RFC for AppSync GraphQL resolver +- [x] [Create RFC for AppSync GraphQL resolver](https://github.com/aws-powertools/powertools-lambda-typescript/issues/3885){target="_blank"} ##### Validation @@ -67,12 +68,16 @@ For the Validation utility, we'll experiment with a community-driven approach to - [x] [Middy.js middleware validation](https://github.com/aws-powertools/powertools-lambda-typescript/issues/3609){target="_blank"} - [x] [Documentation](https://github.com/aws-powertools/powertools-lambda-typescript/issues/3716){target="_blank"} +##### Other utilities + +- [x] [Support for Valkey- and Redis OSS-compatible cache backends for Idempotency](https://github.com/aws-powertools/powertools-lambda-typescript/issues/3183){target="_blank"} + #### Governance & Advanced Use Cases (p2) To streghten our offering for more advanced customers as well as enterprises, we will be working on a set of activities that will help us better support their needs and practices. These include: - [x] [Publish Lambda layers to GovCloud](https://github.com/aws-powertools/powertools-lambda-typescript/issues/3423){target="_blank"} -- [ ] Publish Lambda layers to China regions +- [ ] [Publish Lambda layers to China regions](https://github.com/aws-powertools/powertools-lambda-typescript/issues/3920){target="_blank"} - [ ] Improve OSS supply chain posture (Q2) by making sure we're auditing our dependencies for compatible licenses and include NOTICE files in our Lambda layers - [ ] Create a new "Advanced Use Cases" section in the docs - to help customers with more complex use cases, such as running Powertools for AWS Lambda in container environments - [ ] Set up CI/CD for performance testing @@ -84,7 +89,7 @@ To streghten our offering for more advanced customers as well as enterprises, we To ensure we are attracting tomorrow's customers as well as new contributors to the project, we will be working on a set of activities that will help us better engage with the community and new customers. These include: -- [ ] [Create a new "Getting Started" guide in the docs](https://github.com/aws-powertools/powertools-lambda-typescript/issues/2948){target="_blank"} +- [x] [Create a new "Getting Started" guide in the docs](https://github.com/aws-powertools/powertools-lambda-typescript/issues/2948){target="_blank"} - [ ] Further improve the "Contributing" & "How to find contributions" pages - [ ] Surface contribution opportunities in Discord & other community channels - [ ] Improve release notes announcements in Discord & other community channels diff --git a/package-lock.json b/package-lock.json index 9d1c2b2866..52bac59aa8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,7 +33,7 @@ "husky": "^9.1.7", "lerna": "8.1.2", "lint-staged": "^16.0.0", - "markdownlint-cli2": "^0.17.2", + "markdownlint-cli2": "^0.18.0", "middy4": "npm:@middy/core@^4.7.0", "middy5": "npm:@middy/core@^5.4.3", "middy6": "npm:@middy/core@^6.0.0", @@ -12699,6 +12699,7 @@ "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -16142,9 +16143,9 @@ } }, "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz", + "integrity": "sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==", "dev": true, "license": "MIT", "dependencies": { @@ -16735,16 +16736,17 @@ "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -18340,9 +18342,9 @@ "dev": true }, "node_modules/katex": { - "version": "0.16.21", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.21.tgz", - "integrity": "sha512-XvqR7FgOHtWupfMiigNzmh+MgUVmDGU2kXZm899ZkPfcuoPuFxyHmXsgATDpFZDAXCI8tvinaVcDo8PIIJSo4A==", + "version": "0.16.22", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.22.tgz", + "integrity": "sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg==", "dev": true, "funding": [ "https://opencollective.com/katex", @@ -19288,40 +19290,40 @@ } }, "node_modules/markdownlint": { - "version": "0.37.4", - "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.37.4.tgz", - "integrity": "sha512-u00joA/syf3VhWh6/ybVFkib5Zpj2e5KB/cfCei8fkSRuums6nyisTWGqjTWIOFoFwuXoTBQQiqlB4qFKp8ncQ==", + "version": "0.38.0", + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.38.0.tgz", + "integrity": "sha512-xaSxkaU7wY/0852zGApM8LdlIfGCW8ETZ0Rr62IQtAnUMlMuifsg09vWJcNYeL4f0anvr8Vo4ZQar8jGpV0btQ==", "dev": true, "license": "MIT", "dependencies": { - "markdown-it": "14.1.0", - "micromark": "4.0.1", - "micromark-core-commonmark": "2.0.2", - "micromark-extension-directive": "3.0.2", + "micromark": "4.0.2", + "micromark-core-commonmark": "2.0.3", + "micromark-extension-directive": "4.0.0", "micromark-extension-gfm-autolink-literal": "2.1.0", "micromark-extension-gfm-footnote": "2.1.0", - "micromark-extension-gfm-table": "2.1.0", + "micromark-extension-gfm-table": "2.1.1", "micromark-extension-math": "3.1.0", - "micromark-util-types": "2.0.1" + "micromark-util-types": "2.0.2" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/DavidAnson" } }, "node_modules/markdownlint-cli2": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.17.2.tgz", - "integrity": "sha512-XH06ZOi8wCrtOSSj3p8y3yJzwgzYOSa7lglNyS3fP05JPRzRGyjauBb5UvlLUSCGysMmULS1moxdRHHudV+g/Q==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.18.0.tgz", + "integrity": "sha512-gHvff1KxBxTqaN1F5cTxRSxBipx+Qkki430tyg0wPxty67iQNZzxREZkXy8ltbj7ObMz1eYD4aspnYXfV0sHAw==", "dev": true, "license": "MIT", "dependencies": { - "globby": "14.0.2", + "globby": "14.1.0", "js-yaml": "4.1.0", "jsonc-parser": "3.3.1", - "markdownlint": "0.37.4", + "markdown-it": "14.1.0", + "markdownlint": "0.38.0", "markdownlint-cli2-formatter-default": "0.0.5", "micromatch": "4.0.8" }, @@ -19329,7 +19331,7 @@ "markdownlint-cli2": "markdownlint-cli2-bin.mjs" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/DavidAnson" @@ -19348,17 +19350,18 @@ } }, "node_modules/markdownlint-cli2/node_modules/globby": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", - "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", "dev": true, + "license": "MIT", "dependencies": { "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.2", - "ignore": "^5.2.4", - "path-type": "^5.0.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", "slash": "^5.1.0", - "unicorn-magic": "^0.1.0" + "unicorn-magic": "^0.3.0" }, "engines": { "node": ">=18" @@ -19367,13 +19370,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/markdownlint-cli2/node_modules/ignore": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz", + "integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/markdownlint-cli2/node_modules/path-type": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -19384,6 +19398,7 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.16" }, @@ -19536,9 +19551,9 @@ } }, "node_modules/micromark": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", - "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", "dev": true, "funding": [ { @@ -19572,9 +19587,9 @@ } }, "node_modules/micromark-core-commonmark": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.2.tgz", - "integrity": "sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", "dev": true, "funding": [ { @@ -19607,9 +19622,9 @@ } }, "node_modules/micromark-extension-directive": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", - "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-4.0.0.tgz", + "integrity": "sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg==", "dev": true, "license": "MIT", "dependencies": { @@ -19665,9 +19680,9 @@ } }, "node_modules/micromark-extension-gfm-table": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz", - "integrity": "sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", "dev": true, "license": "MIT", "dependencies": { @@ -20015,9 +20030,9 @@ } }, "node_modules/micromark-util-subtokenize": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.4.tgz", - "integrity": "sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", "dev": true, "funding": [ { @@ -20055,9 +20070,9 @@ "license": "MIT" }, "node_modules/micromark-util-types": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz", - "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", "dev": true, "funding": [ { @@ -24208,10 +24223,11 @@ "license": "MIT" }, "node_modules/unicorn-magic": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, diff --git a/package.json b/package.json index 7fa8ad4ce2..e57e463af4 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "docs:local:run": ".venv/bin/mkdocs serve", "docs:local:api": "typedoc .", "postpublish": "git restore .", - "lint:markdown": "markdownlint-cli2 '**/*.md' '#node_modules' '#**/*/node_modules' '#docs/changelog.md' '#LICENSE.md' '#.github' '#**/*/CHANGELOG.md' '#examples/app/README.md'" + "lint:markdown": "markdownlint-cli2 '**/*.md' '#node_modules' '#**/*/node_modules' '#docs/changelog.md' '#LICENSE.md' '#.github' '#CHANGELOG.md' '#**/*/CHANGELOG.md' '#examples/app/README.md' '#.venv' '#site'" }, "repository": { "type": "git", @@ -57,7 +57,7 @@ "husky": "^9.1.7", "lerna": "8.1.2", "lint-staged": "^16.0.0", - "markdownlint-cli2": "^0.17.2", + "markdownlint-cli2": "^0.18.0", "middy4": "npm:@middy/core@^4.7.0", "middy5": "npm:@middy/core@^5.4.3", "middy6": "npm:@middy/core@^6.0.0", diff --git a/packages/batch/README.md b/packages/batch/README.md index e084aad2ec..e2abc82b64 100644 --- a/packages/batch/README.md +++ b/packages/batch/README.md @@ -143,7 +143,7 @@ export const handler: SQSHandler = async (event, context) => }); ``` -Check the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/batch/) for more examples. +Check the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/features/batch/) for more examples. ## Contribute @@ -188,11 +188,11 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has [already shared](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this) about Powertools for AWS Lambda (TypeScript). ### Using Lambda Layer -This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/#lambda-layer), you can add Powertools as a dev dependency to not impact the development process. +This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/getting-started/lambda-layers/), you can add Powertools as a dev dependency to not impact the development process. ## License diff --git a/packages/commons/README.md b/packages/commons/README.md index a82ace77fe..88ff1341d1 100644 --- a/packages/commons/README.md +++ b/packages/commons/README.md @@ -138,11 +138,11 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has [already shared](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this) about Powertools for AWS Lambda (TypeScript). ### Using Lambda Layer -This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/#lambda-layer), you can add Powertools as a dev dependency to not impact the development process. +This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/getting-started/lambda-layers/), you can add Powertools as a dev dependency to not impact the development process. ## License diff --git a/packages/event-handler/README.md b/packages/event-handler/README.md index ebc2e9d8b2..71fea28a8f 100644 --- a/packages/event-handler/README.md +++ b/packages/event-handler/README.md @@ -147,11 +147,11 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has [already shared](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this) about Powertools for AWS Lambda (TypeScript). ### Using Lambda Layer -This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/#lambda-layer), you can add Powertools as a dev dependency to not impact the development process. +This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/getting-started/lambda-layers/), you can add Powertools as a dev dependency to not impact the development process. ## License diff --git a/packages/event-handler/package.json b/packages/event-handler/package.json index 22a4aba1bb..cc17f808c0 100644 --- a/packages/event-handler/package.json +++ b/packages/event-handler/package.json @@ -1,7 +1,7 @@ { "name": "@aws-lambda-powertools/event-handler", "version": "2.19.1", - "description": "Lightweight routing to reduce boilerplate for API Gateway REST/HTTP API, ALB and Lambda Function URLs", + "description": "Lightweight routing to reduce boilerplate for API Gateway REST/HTTP API, ALB, Lambda Function URLs, and AppSync.", "author": { "name": "Amazon Web Services", "url": "https://aws.amazon.com" diff --git a/packages/idempotency/README.md b/packages/idempotency/README.md index cecc92799a..fff98a2f86 100644 --- a/packages/idempotency/README.md +++ b/packages/idempotency/README.md @@ -38,7 +38,7 @@ npm i @aws-lambda-powertools/idempotency @aws-sdk/client-dynamodb @aws-sdk/lib-d ``` Next, review the IAM permissions attached to your AWS Lambda function and make sure you allow -the [actions detailed](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/idempotency/#iam-permissions) +the [actions detailed](https://docs.powertools.aws.dev/lambda/typescript/latest/features/idempotency/#iam-permissions) in the documentation of the utility. ### Function wrapper @@ -163,7 +163,7 @@ export const handler = makeIdempotent(myHandler, { ``` Additionally, you can also use one of -the [JMESPath built-in functions](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/jmespath/#built-in-jmespath-functions) +the [JMESPath built-in functions](https://docs.powertools.aws.dev/lambda/typescript/latest/features/jmespath/#built-in-jmespath-functions) like `powertools_json()` to decode keys and use parts of the payload as the idempotency key. ```ts @@ -190,7 +190,7 @@ export const handler = makeIdempotent(myHandler, { }); ``` -Check the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/idempotency/) for more examples. +Check the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/features/idempotency/) for more examples. ### Decorator @@ -254,7 +254,7 @@ export const handler = handlerClass.handler.bind(handlerClass); ``` The decorator configuration options are identical with the ones of the `makeIdempotent` function. Check -the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/idempotency/) for more examples. +the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/features/idempotency/) for more examples. ### Middy middleware @@ -297,7 +297,7 @@ export const handler = middy( ); ``` -Check the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/idempotency/) for more examples. +Check the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/features/idempotency/) for more examples. ### DynamoDB persistence layer @@ -311,16 +311,12 @@ for more details. ## Contribute -If you are interested in contributing to this project, please refer to -our [Contributing Guidelines](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/CONTRIBUTING.md). +If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/CONTRIBUTING.md). ## Roadmap The roadmap of Powertools for AWS Lambda (TypeScript) is driven by customers’ demand. -Help us prioritize upcoming functionalities or utilities -by [upvoting existing RFCs and feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues), -or [creating new ones](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new/choose), in this GitHub -repository. +Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues), or [creating new ones](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new/choose), in this GitHub repository. ## Connect @@ -359,16 +355,11 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and -others. Check out what the community has already shared about Powertools for AWS Lambda ( -TypeScript) [here](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has [already shared](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this) about Powertools for AWS Lambda (TypeScript). ### Using Lambda Layer -This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain -future investments for other Powertools for AWS Lambda languages. -When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/#lambda-layer), you can add Powertools as a -dev dependency to not impact the development process. +This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/getting-started/lambda-layers/), you can add Powertools as a dev dependency to not impact the development process. ## License diff --git a/packages/idempotency/src/persistence/CachePersistenceLayer.ts b/packages/idempotency/src/persistence/CachePersistenceLayer.ts index a8b2e8037a..7eca1ca465 100644 --- a/packages/idempotency/src/persistence/CachePersistenceLayer.ts +++ b/packages/idempotency/src/persistence/CachePersistenceLayer.ts @@ -27,7 +27,7 @@ import { IdempotencyRecord } from './IdempotencyRecord.js'; * * You must provide your own connected client instance by passing it through the `client` option. * - * See the {@link https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/idempotency/ Idempotency documentation} + * See the {@link https://docs.powertools.aws.dev/lambda/typescript/latest/features/idempotency/ Idempotency documentation} * for more details on the configuration and usage patterns. * * **Using Valkey Glide Client** diff --git a/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts b/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts index e72cb0a5e5..c9daed42e9 100644 --- a/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts +++ b/packages/idempotency/src/persistence/DynamoDBPersistenceLayer.ts @@ -34,7 +34,7 @@ import { IdempotencyRecord } from './IdempotencyRecord.js'; * With default configuration you don't need to create the client beforehand, the persistence layer will create it for you. * You can also bring your own AWS SDK V3 client, or configure the client with the `clientConfig` option. * - * See the {@link https://docs.powertools.aws.dev/lambda/python/latest/utilities/idempotency/ Idempotency documentation} for more details + * See the {@link https://docs.powertools.aws.dev/lambda/python/latest/features/idempotency/ Idempotency documentation} for more details * on the IAM permissions and DynamoDB table configuration. * * @example diff --git a/packages/jmespath/README.md b/packages/jmespath/README.md index 7867948a95..178e97b18e 100644 --- a/packages/jmespath/README.md +++ b/packages/jmespath/README.md @@ -90,7 +90,7 @@ export const handler = async (event: MyEvent): Promise => { }; ``` -The library provides [a set of built-in envelopes](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/jmespath/#built-in-envelopes) to help you extract data from common event sources, such as S3, SQS, and SNS, and more. +The library provides [a set of built-in envelopes](https://docs.powertools.aws.dev/lambda/typescript/latest/features/jmespath/#built-in-envelopes) to help you extract data from common event sources, such as S3, SQS, and SNS, and more. ```ts import { @@ -214,11 +214,11 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has [already shared](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this) about Powertools for AWS Lambda (TypeScript). ### Using Lambda Layer -This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/#lambda-layer), you can add Powertools as a dev dependency to not impact the development process. +This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/getting-started/lambda-layers/), you can add Powertools as a dev dependency to not impact the development process. ## License diff --git a/packages/logger/README.md b/packages/logger/README.md index 4bc0e0c9d3..7249a0cdfa 100644 --- a/packages/logger/README.md +++ b/packages/logger/README.md @@ -207,16 +207,12 @@ export const handler = async ( ## Contribute -If you are interested in contributing to this project, please refer to -our [Contributing Guidelines](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/CONTRIBUTING.md). +If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/CONTRIBUTING.md). ## Roadmap The roadmap of Powertools for AWS Lambda (TypeScript) is driven by customers’ demand. -Help us prioritize upcoming functionalities or utilities -by [upvoting existing RFCs and feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues), -or [creating new ones](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new/choose), in this GitHub -repository. +Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues), or [creating new ones](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new/choose), in this GitHub repository. ## Connect @@ -255,16 +251,11 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and -others. Check out what the community has already shared about Powertools for AWS Lambda ( -TypeScript) [here](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has [already shared](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this) about Powertools for AWS Lambda (TypeScript). ### Using Lambda Layer -This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain -future investments for other Powertools for AWS Lambda languages. -When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/#lambda-layer), you can add Powertools as a -dev dependency to not impact the development process. +This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/getting-started/lambda-layers/), you can add Powertools as a dev dependency to not impact the development process. ## License diff --git a/packages/metrics/README.md b/packages/metrics/README.md index 624011a19a..d6cc6dfe31 100644 --- a/packages/metrics/README.md +++ b/packages/metrics/README.md @@ -176,11 +176,11 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has [already shared](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this) about Powertools for AWS Lambda (TypeScript). ### Using Lambda Layer -This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/#lambda-layer), you can add Powertools as a dev dependency to not impact the development process. +This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/getting-started/lambda-layers/), you can add Powertools as a dev dependency to not impact the development process. ## License diff --git a/packages/parameters/README.md b/packages/parameters/README.md index 8a29cc24fd..b563f678c5 100644 --- a/packages/parameters/README.md +++ b/packages/parameters/README.md @@ -39,7 +39,7 @@ To get started, install the library and the corresponding AWS SDK for JavaScript npm install @aws-lambda-powertools/parameters @aws-sdk/client-ssm ``` -Next, review the IAM permissions attached to your AWS Lambda function and make sure you allow the [actions detailed](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/#iam-permissions) in the documentation of the utility. +Next, review the IAM permissions attached to your AWS Lambda function and make sure you allow the [actions detailed](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/#iam-permissions) in the documentation of the utility. You can retrieve a single parameter using the `getParameter` high-level function. @@ -95,7 +95,7 @@ export const handler = async (): Promise => { }; ``` -Check the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/#fetching-parameters) for more examples, and [the advanced section](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/#advanced) for details about caching, transforms, customizing the underlying SDK, and more. +Check the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/#fetching-parameters) for more examples, and [the advanced section](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/#advanced) for details about caching, transforms, customizing the underlying SDK, and more. ### Getting secrets from Amazon Secrets Manager @@ -105,7 +105,7 @@ To get started, install the library and the corresponding AWS SDK for JavaScript npm install @aws-lambda-powertools/parameters @aws-sdk/client-secrets-manager ``` -Next, review the IAM permissions attached to your AWS Lambda function and make sure you allow the [actions detailed](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/#iam-permissions) in the documentation of the utility. +Next, review the IAM permissions attached to your AWS Lambda function and make sure you allow the [actions detailed](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/#iam-permissions) in the documentation of the utility. You can fetch secrets stored in Secrets Manager using the `getSecret` function: @@ -119,7 +119,7 @@ export const handler = async (): Promise => { }; ``` -Check the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/#fetching-secrets) for more examples, and [the advanced section](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/#advanced) for details about caching, transforms, customizing the underlying SDK, and more. +Check the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/#fetching-secrets) for more examples, and [the advanced section](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/#advanced) for details about caching, transforms, customizing the underlying SDK, and more. ### Retrieving values from Amazon DynamoDB @@ -129,7 +129,7 @@ To get started, install the library and the corresponding AWS SDK for JavaScript npm install @aws-lambda-powertools/parameters @aws-sdk/client-dynamodb @aws-sdk/util-dynamodb ``` -Next, review the IAM permissions attached to your AWS Lambda function and make sure you allow the [actions detailed](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/#iam-permissions) in the documentation of the utility. +Next, review the IAM permissions attached to your AWS Lambda function and make sure you allow the [actions detailed](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/#iam-permissions) in the documentation of the utility. You can retrieve a single parameter from DynamoDB using the `DynamoDBProvider.get()` method: @@ -166,7 +166,7 @@ export const handler = async (): Promise => { }; ``` -Check the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/#fetching-secrets) for more examples, and [the advanced section](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/#advanced) for details about caching, transforms, customizing the underlying SDK, and more. +Check the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/#fetching-secrets) for more examples, and [the advanced section](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/#advanced) for details about caching, transforms, customizing the underlying SDK, and more. ### Fetching configs from AWS AppConfig @@ -176,7 +176,7 @@ To get started, install the library and the corresponding AWS SDK for JavaScript npm install @aws-lambda-powertools/parameters @aws-sdk/client-appconfigdata ``` -Next, review the IAM permissions attached to your AWS Lambda function and make sure you allow the [actions detailed](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/#iam-permissions) in the documentation of the utility. +Next, review the IAM permissions attached to your AWS Lambda function and make sure you allow the [actions detailed](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/#iam-permissions) in the documentation of the utility. You can fetch application configurations in AWS AppConfig using the `getAppConfig` function: @@ -193,7 +193,7 @@ export const handler = async (): Promise => { }; ``` -Check the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/#fetching-app-configurations) for more examples, and [the advanced section](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/#advanced) for details about caching, transforms, customizing the underlying SDK, and more. +Check the [docs](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/#fetching-app-configurations) for more examples, and [the advanced section](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/#advanced) for details about caching, transforms, customizing the underlying SDK, and more. ## Contribute @@ -241,11 +241,11 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has [already shared](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this) about Powertools for AWS Lambda (TypeScript). ### Using Lambda Layer -This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/#lambda-layer), you can add Powertools as a dev dependency to not impact the development process. +This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/getting-started/lambda-layers/), you can add Powertools as a dev dependency to not impact the development process. ## License diff --git a/packages/parameters/src/appconfig/AppConfigProvider.ts b/packages/parameters/src/appconfig/AppConfigProvider.ts index 900c5831f0..0ef520a1e2 100644 --- a/packages/parameters/src/appconfig/AppConfigProvider.ts +++ b/packages/parameters/src/appconfig/AppConfigProvider.ts @@ -179,7 +179,7 @@ import type { * * This object must be an instance of the [AWS SDK v3 for JavaScript AppConfig Data client](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-appconfigdata/classes/appconfigdataclient.html). * - * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/). */ class AppConfigProvider extends BaseProvider { public declare client: AppConfigDataClient; @@ -244,7 +244,7 @@ class AppConfigProvider extends BaseProvider { * * @param {string} name - The name of the configuration profile or its ID * @param {AppConfigGetOptions} options - Options to configure the provider - * @see https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/ */ public async get< ExplicitUserProvidedType = undefined, diff --git a/packages/parameters/src/appconfig/getAppConfig.ts b/packages/parameters/src/appconfig/getAppConfig.ts index 914adb3954..aa73d49741 100644 --- a/packages/parameters/src/appconfig/getAppConfig.ts +++ b/packages/parameters/src/appconfig/getAppConfig.ts @@ -135,11 +135,11 @@ import { AppConfigProvider } from './AppConfigProvider.js'; * * For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use the {@link AppConfigProvider} class. * - * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/). * * @param {string} name - The name of the configuration profile or its ID * @param {GetAppConfigOptions} options - Options to configure the provider - * @see https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/ */ const getAppConfig = < ExplicitUserProvidedType = undefined, diff --git a/packages/parameters/src/dynamodb/DynamoDBProvider.ts b/packages/parameters/src/dynamodb/DynamoDBProvider.ts index 3690fa16d7..6f0e2ce7ec 100644 --- a/packages/parameters/src/dynamodb/DynamoDBProvider.ts +++ b/packages/parameters/src/dynamodb/DynamoDBProvider.ts @@ -232,7 +232,7 @@ import type { * * This object must be an instance of the [AWS SDK v3 for JavaScript DynamoDB client](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-dynamodb/classes/dynamodbclient.html). * - * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/). */ class DynamoDBProvider extends BaseProvider { public declare client: DynamoDBClient; @@ -288,7 +288,7 @@ class DynamoDBProvider extends BaseProvider { * * @param {string} name - The name of the value to retrieve (i.e. the partition key) * @param {DynamoDBGetOptionsInterface} options - Options to configure the provider - * @see https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/ */ public async get< ExplicitUserProvidedType = undefined, @@ -336,7 +336,7 @@ class DynamoDBProvider extends BaseProvider { * * @param {string} path - The path of the values to retrieve (i.e. the partition key) * @param {DynamoDBGetMultipleOptions} options - Options to configure the provider - * @see https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/ */ public async getMultiple< ExplicitUserProvidedType = undefined, diff --git a/packages/parameters/src/secrets/SecretsProvider.ts b/packages/parameters/src/secrets/SecretsProvider.ts index ba4ecee562..fd1e62a51c 100644 --- a/packages/parameters/src/secrets/SecretsProvider.ts +++ b/packages/parameters/src/secrets/SecretsProvider.ts @@ -138,10 +138,10 @@ import type { * * This object must be an instance of the [AWS SDK v3 for JavaScript Secrets Manager client](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-secrets-manager/classes/secretsmanagerclient.html). * - * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/). * * @class - * @see https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/ */ class SecretsProvider extends BaseProvider { public declare client: SecretsManagerClient; @@ -185,7 +185,7 @@ class SecretsProvider extends BaseProvider { * * @param {string} name - The name of the secret * @param {SecretsGetOptions} options - Options to customize the retrieval of the secret - * @see https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/ */ public async get< ExplicitUserProvidedType = undefined, diff --git a/packages/parameters/src/secrets/getSecret.ts b/packages/parameters/src/secrets/getSecret.ts index 2e2388bc50..6b47a3cc75 100644 --- a/packages/parameters/src/secrets/getSecret.ts +++ b/packages/parameters/src/secrets/getSecret.ts @@ -99,12 +99,12 @@ import { SecretsProvider } from './SecretsProvider.js'; * * For greater flexibility such as configuring the underlying SDK client used by built-in providers, you can use the {@link SecretsProvider} class. * - * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/). * * * @param {string} name - The name of the secret to retrieve * @param {SecretsGetOptions} options - Options to configure the provider - * @see https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/ */ const getSecret = async < ExplicitUserProvidedType = undefined, diff --git a/packages/parameters/src/ssm/SSMProvider.ts b/packages/parameters/src/ssm/SSMProvider.ts index d94a17a101..490174522f 100644 --- a/packages/parameters/src/ssm/SSMProvider.ts +++ b/packages/parameters/src/ssm/SSMProvider.ts @@ -264,7 +264,7 @@ import type { * * This object must be an instance of the [AWS SDK v3 for JavaScript SSM client](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ssm/classes/ssmclient.html). * - * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/). */ class SSMProvider extends BaseProvider { public declare client: SSMClient; @@ -309,7 +309,7 @@ class SSMProvider extends BaseProvider { * * @param {string} name - The name of the value to retrieve (i.e. the partition key) * @param {SSMGetOptions} options - Options to configure the provider - * @see https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/ */ public async get< ExplicitUserProvidedType = undefined, @@ -354,7 +354,7 @@ class SSMProvider extends BaseProvider { * @param {string} name - The name of the parameter * @param {SSMSetOptions} options - Options to configure the parameter * @returns {Promise} The version of the parameter - * @see https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/ */ public async set< InferredFromOptionsType extends SSMSetOptions | undefined = SSMSetOptions, @@ -412,7 +412,7 @@ class SSMProvider extends BaseProvider { * * @param {string} path - The path of the parameters to retrieve * @param {SSMGetMultipleOptions} options - Options to configure the retrieval - * @see https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/ */ public async getMultiple< ExplicitUserProvidedType = undefined, @@ -480,7 +480,7 @@ class SSMProvider extends BaseProvider { * * @param {Record} parameters - Object containing parameter names and any optional overrides * @param {SSMGetParametersByNameOptions} options - Options to configure the retrieval - * @see https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/ */ public async getParametersByName( parameters: Record, diff --git a/packages/parameters/src/ssm/getParameter.ts b/packages/parameters/src/ssm/getParameter.ts index a3a00932da..50a4ab93f3 100644 --- a/packages/parameters/src/ssm/getParameter.ts +++ b/packages/parameters/src/ssm/getParameter.ts @@ -131,11 +131,11 @@ import { SSMProvider } from './SSMProvider.js'; * * `sdkOptions` - Extra options to pass to the AWS SDK v3 for JavaScript client * * `decrypt` - Whether to decrypt the value before returning it. * - * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/). * * @param {string} name - The name of the parameter to retrieve * @param {SSMGetOptions} options - Options to configure the provider - * @see https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/ */ const getParameter = async < ExplicitUserProvidedType = undefined, diff --git a/packages/parameters/src/ssm/getParameters.ts b/packages/parameters/src/ssm/getParameters.ts index efcebf741a..a00caee550 100644 --- a/packages/parameters/src/ssm/getParameters.ts +++ b/packages/parameters/src/ssm/getParameters.ts @@ -135,11 +135,11 @@ import { SSMProvider } from './SSMProvider.js'; * * `decrypt` - Whether to decrypt the value before returning it. * * `recursive` - Whether to recursively retrieve all parameters within the path. * - * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/). * * @param {string} path - The path of the parameters to retrieve * @param {SSMGetMultipleOptions} options - Options to configure the provider - * @see https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/ */ const getParameters = async < ExplicitUserProvidedType = undefined, diff --git a/packages/parameters/src/ssm/getParametersByName.ts b/packages/parameters/src/ssm/getParametersByName.ts index b740511746..b609871b0f 100644 --- a/packages/parameters/src/ssm/getParametersByName.ts +++ b/packages/parameters/src/ssm/getParametersByName.ts @@ -156,11 +156,11 @@ import { SSMProvider } from './SSMProvider.js'; * β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ * ``` * - * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/). * * @param {Record} parameters - The path of the parameters to retrieve * @param {SSMGetParametersByNameOptions} options - Options to configure the provider - * @see https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/ */ const getParametersByName = async ( parameters: Record, diff --git a/packages/parameters/src/ssm/setParameter.ts b/packages/parameters/src/ssm/setParameter.ts index 01fc937bee..a059d11dc5 100644 --- a/packages/parameters/src/ssm/setParameter.ts +++ b/packages/parameters/src/ssm/setParameter.ts @@ -69,11 +69,11 @@ import { SSMProvider } from './SSMProvider.js'; * * `kmsKeyId` - The KMS key id to use to encrypt the parameter * * `sdkOptions` - Extra options to pass to the AWS SDK v3 for JavaScript client * - * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/). + * For more usage examples, see [our documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/). * * @param name - Name of the parameter * @param options - Options to configure the parameter - * @see https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parameters/ + * @see https://docs.powertools.aws.dev/lambda/typescript/latest/features/parameters/ */ const setParameter = async < InferredFromOptionsType extends SSMSetOptions | undefined = SSMSetOptions, diff --git a/packages/parser/README.md b/packages/parser/README.md index 330993fab1..816f66c719 100644 --- a/packages/parser/README.md +++ b/packages/parser/README.md @@ -19,7 +19,6 @@ You can use the package in both TypeScript and JavaScript code bases. - [Becoming a reference customer](#becoming-a-reference-customer) - [Sharing your work](#sharing-your-work) - [Using Lambda Layer](#using-lambda-layer) -- [Credits](#credits) - [License](#license) ## Intro @@ -238,7 +237,7 @@ export const handler = middy(lambdaHandler).use( ); ``` -See the [safe parsing](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parser#safe-parsing) section in the documentation for more details. +See the [safe parsing](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parser#safe-parsing) section in the documentation for more details. ### Built-in schemas and envelopes @@ -283,7 +282,7 @@ const myFunction = new Lambda(); export const handler = myFunction.handler.bind(myFunction); ``` -Check the utility documentation for a complete list of built-in [schemas](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parser/#built-in-schemas) and [envelopes](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parser/#built-in-envelopes). +Check the utility documentation for a complete list of built-in [schemas](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parser/#built-in-schemas) and [envelopes](https://docs.powertools.aws.dev/lambda/typescript/latest/features/parser/#built-in-envelopes). ## Contribute @@ -303,7 +302,10 @@ Help us prioritize upcoming functionalities or utilities by [upvoting existing R ### Becoming a reference customer -Knowing which companies are using this library is important to help prioritize the project internally. If your company is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://s12d.com/become-a-reference-ts) issue. +Knowing which companies are using this library is important to help prioritize the project internally. If your company +is using Powertools for AWS Lambda (TypeScript), you can request to have your name and logo added to the README file by +raising a [Support Powertools for AWS Lambda (TypeScript) (become a reference)](https://s12d.com/become-reference-pt-ts) +issue. The following companies, among others, use Powertools: @@ -328,16 +330,12 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has [already shared](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this) about Powertools for AWS Lambda (TypeScript). ### Using Lambda Layer -This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/#lambda-layer), you can add Powertools as a dev dependency (or as part of your virtual env) to not impact the development process. - -## Credits - -Credits for the Lambda Powertools for AWS Lambda (TypeScript) idea go to [DAZN](https://github.com/getndazn) and their [DAZN Lambda Powertools](https://github.com/getndazn/dazn-lambda-powertools/). +This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/getting-started/lambda-layers/), you can add Powertools as a dev dependency to not impact the development process. ## License -This library is licensed under the MIT-0 License. See the LICENSE file. +This library is licensed under the MIT-0 License. See the LICENSE file.This library is licensed under the MIT-0 License. See the LICENSE file. diff --git a/packages/tracer/README.md b/packages/tracer/README.md index 63b4a95a4c..4df82cf629 100644 --- a/packages/tracer/README.md +++ b/packages/tracer/README.md @@ -118,16 +118,12 @@ export const handler = async ( ## Contribute -If you are interested in contributing to this project, please refer to -our [Contributing Guidelines](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/CONTRIBUTING.md). +If you are interested in contributing to this project, please refer to our [Contributing Guidelines](https://github.com/aws-powertools/powertools-lambda-typescript/blob/main/CONTRIBUTING.md). ## Roadmap The roadmap of Powertools for AWS Lambda (TypeScript) is driven by customers’ demand. -Help us prioritize upcoming functionalities or utilities -by [upvoting existing RFCs and feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues), -or [creating new ones](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new/choose), in this GitHub -repository. +Help us prioritize upcoming functionalities or utilities by [upvoting existing RFCs and feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues), or [creating new ones](https://github.com/aws-powertools/powertools-lambda-typescript/issues/new/choose), in this GitHub repository. ## Connect @@ -166,16 +162,11 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and -others. Check out what the community has already shared about Powertools for AWS Lambda ( -TypeScript) [here](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has [already shared](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this) about Powertools for AWS Lambda (TypeScript). ### Using Lambda Layer -This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain -future investments for other Powertools for AWS Lambda languages. -When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/#lambda-layer), you can add Powertools as a -dev dependency to not impact the development process. +This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/getting-started/lambda-layers/), you can add Powertools as a dev dependency to not impact the development process. ## License diff --git a/packages/validation/README.md b/packages/validation/README.md index 9e5fb88a10..e150b535cc 100644 --- a/packages/validation/README.md +++ b/packages/validation/README.md @@ -225,7 +225,7 @@ const validatedData = validate({ }); ``` -For more information on how to use the `validate` function, please refer to the [documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/validation). +For more information on how to use the `validate` function, please refer to the [documentation](https://docs.powertools.aws.dev/lambda/typescript/latest/features/validation). ## Contribute @@ -270,11 +270,11 @@ The following companies, among others, use Powertools: ### Sharing your work -Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has already shared about Powertools for AWS Lambda (TypeScript) [here](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this). +Share what you did with Powertools for AWS Lambda (TypeScript) πŸ’žπŸ’ž. Blog post, workshops, presentation, sample apps and others. Check out what the community has [already shared](https://docs.powertools.aws.dev/lambda/typescript/latest/we_made_this) about Powertools for AWS Lambda (TypeScript). ### Using Lambda Layer -This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/#lambda-layer), you can add Powertools as a dev dependency to not impact the development process. +This helps us understand who uses Powertools for AWS Lambda (TypeScript) in a non-intrusive way, and helps us gain future investments for other Powertools for AWS Lambda languages. When [using Layers](https://docs.powertools.aws.dev/lambda/typescript/latest/getting-started/lambda-layers/), you can add Powertools as a dev dependency to not impact the development process. ## License