Closed
Description
Summary
The recently added idempotency feature adds a dependency on jmespath. While that package has many downloads, it hasn't been updated in 2 years.
This seems like a concern for the powertools tenets:
Keep it lean. Additional dependencies are carefully considered for security and ease of maintenance, and prevent negatively impacting startup time.
The key selection that jmespath is used for could easily be implemented without this dependency (see #1644)
Why is this needed?
jmespath seems unmaintained and not ideal for a production dependency.
Which area does this relate to?
JMESPath
Solution
- Remove jmespath and replace with a much simpler method of selecting the idempotency key
- Replace jmespath with a more well maintained implementation? (https://www.npmjs.com/package/@metrichor/jmespath is slightly more recent and in typescript)
- Fork and own jmespath?
Acknowledgment
- This request meets Powertools for AWS Lambda (TypeScript) Tenets
- Should this be considered in other Powertools for AWS Lambda languages? i.e. Python, Java, and .NET
Future readers
Please react with 👍 and your use case to help us understand customer demand.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Shipped