-
Notifications
You must be signed in to change notification settings - Fork 171
Closed
Labels
completedThis item is complete and has been merged/shippedThis item is complete and has been merged/shippeddependenciesChanges that touch dependencies, e.g. Dependabot, etc.Changes that touch dependencies, e.g. Dependabot, etc.idempotencyThis item relates to the Idempotency UtilityThis item relates to the Idempotency Utility
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
completedThis item is complete and has been merged/shippedThis item is complete and has been merged/shippeddependenciesChanges that touch dependencies, e.g. Dependabot, etc.Changes that touch dependencies, e.g. Dependabot, etc.idempotencyThis item relates to the Idempotency UtilityThis item relates to the Idempotency Utility
Type
Projects
Status
Shipped