Azure / openapi-diff

Command line tool to detect breaking changes between two openapi specifications
MIT License
253 stars 34 forks source link

feat: migrate to biome #338

Closed afonsojramos closed 1 month ago

afonsojramos commented 1 month ago

Fixes #332 by migrating to biome (which also allows for the replacement of prettier).

I was working on this prior to #335, so sorry @konrad-jamrozik for opening this after your PR, but I believe that moving to biome is more beneficial than moving to eslint. Granted, biome is not as battle tested, but it serves the purpose this project needs way better than eslint in my opinion. The performance benefits are just a plus.

konrad-jamrozik commented 1 month ago

@afonsojramos sorry, but our team has standardized on eslint across our entire toolchain. In the future, I recommend for you to open an issue in this repo to discuss such bigger changes to avoid rework. Thanks!

afonsojramos commented 4 weeks ago

No worries, standards supersede all! Might still be something to consider even if just for the formatting perf vs prettier though!

@afonsojramos can you clarify why you are interested in this repository at all? What is your use case?

Was investigating all of the openapi diffing tools out there and enjoyed seeing some activity on this one! In the end I found one that better fits our needs, but still found it very useful! Keep up the good job!

konrad-jamrozik commented 3 weeks ago

@afonsojramos thank you! Can you share the other diffing tools you looked at and which one you chose?

afonsojramos commented 3 weeks ago

Yeah, sure!

Seems like the ones that are being most used at the moment are:

  1. https://github.com/Tufin/oasdiff
  2. https://github.com/pb33f/openapi-changes
  3. https://github.com/OpenAPITools/openapi-diff
  4. This one

Key features that we were looking for, but that were not present in all are:

  1. Full OpenAPI 3.1 support
  2. AsyncAPI support
  3. Circular references support
  4. npm support

As such, and due to the specific needs that we had, we ended up going with @udamir's https://github.com/udamir/api-smart-diff. It is built in a beautifully scalable way, full TS and in a very maintainable state.

So, if the star wasn't enough, thanks @udamir for that project! Hopefully I'll get to contribute to it in the future 🚀