Maintenance: evaluate `biome` for linting and format
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.
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
- [X] 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.
After some initial tests, which were promising, I found at least one rule we use extensively that is not supported by biome: typescript-eslint/explicit-function-return-type.
I requested the feature, which was added to the backlog, and I am now looking at options to help with prioritization.
+1 for explicit-function-return-type
⚠️ COMMENT VISIBILITY WARNING ⚠️
This issue is now closed. Please be mindful that future comments are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.
This is now released under v2.7.0 version!