Description
Summary
As of now the project uses a combination of eslint
and prettier
to lint and format code.
This works well enough, however there are newer alternatives like biome that boast high compatibility with our current tools (97%) and could allow us to handle both tasks with a single tool/dependency.
This issue tracks the efforts to test the tool on our repo, configure it in a way that causes the least amount of disruption, and potentially adopt it.
Edit:
To split the work and ease review, I'll break down the migration in a series of issues/PRs:
- Maintenance: add biome to project #2790
- Maintenance: add biome to project (testing package) #2802
- Maintenance: add biome to project (jmespath) #2797
- Maintenance: add biome to project (layers) #2793
- Maintenance: add biome to project (batch) #2794
- Maintenance: add biome to project (commons) #2795
- Maintenance: add biome to project (metrics) #2799
- Maintenance: add biome to project (idempotency) #2796
- Maintenance: add biome to project (tracer) #2803
- Maintenance: add biome to project (parser) #2801
- Maintenance: add biome to project (logger) #2798
- Maintenance: add biome to project (parser) #2801
- Maintenance: add biome to project (snippets) #2792
Why is this needed?
The main driver behind this issue is reducing maintainer fatigue. The combination of those two tools requires 9 dev dependencies which need to be kept up to date (Dependabot spam) and understood.
Additionally, there might be a chance to improve performance in our CI by both reducing the time for these operations (probably marginal at our repo size) as well as the time to set up the CI environment due to having less dependencies to fetch & install.
Which area does this relate to?
Automation
Solution
No response
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