jpedroschmitz / typescript-nextjs-starter

Non-opinionated TypeScript starter for Next.js 15. All the tools you need to build your next project ⚡️
https://next-ts.joaopedro.dev
MIT License
1.26k stars 146 forks source link

Possible adoption of Biome and deprecation of ESLint and Prettier #1009

Open SMCodesP opened 4 months ago

SMCodesP commented 4 months ago

Hello,

I use this project extensively, having adopted this project template for all projects at the company where I work, as well as for personal use. Recently, I came across a tool called Biome that has been stabilizing and proving to be a very reliable library for both old and new projects. I've been migrating many internal projects to Biome, and for new projects that I start with this template, I migrate the ESLint and Prettier configurations to Biome, which sincerely doesn’t take much work and is quite quick, not even close to being a bother.

For most internal projects at my company, I have noticed some performance issues. I always thought it was either ESLint, Prettier, or the Visual Studio Code LSP itself (which could still be a possibility, but less likely). When I switched to Biome, much of this performance lag disappeared, and I have been having a great experience with both migration and support for Biome. Although some ESLint and Prettier extensions and plugins, like Next's own, are not supported in Biome, this has not been an issue for me.

I would like to know your thoughts on this potential migration and if you have had any experience using this template with Biome. If this issue receives positive feedback, I am willing to make a pull request myself. I just want to ensure that this would not be considered outside the scope or too extreme to introduce a relatively unknown and not widely used library.

One of the things I enjoy most about migrating is seeing how many dependencies are removed when switching from ESLint and Prettier to just using Biome:

FROM:

TO:

Thank you for considering this suggestion!

@jpedroschmitz :eyes:

jpedroschmitz commented 4 months ago

Hey, @SMCodesP! Thanks for the great issue! Very detailed and with lots of information.

It's great that you've been using this template across different apps and enjoying it.

I've never used Biome personally, but I'm open to considering it (maybe getting started with replacing Prettier first?).

I'll try it out in a few projects to see how it goes, and I will let you know about my experience later.

SMCodesP commented 4 months ago

Thank you for your consideration, any problems or questions I can try to help in case of migration or something like that @jpedroschmitz

jpedroschmitz commented 4 months ago

Do you have any open source repos where you use this starter and Biome? @SMCodesP

SMCodesP commented 4 months ago

Do you have any open source repos where you use this starter and Biome? @SMCodesP

Unfortunately, I don't have any active open source repositories at the moment, and I haven't contributed to any projects for a long time. The projects I mentioned where I use this starter and Biome are all private and belong to the company I work for.

jpedroschmitz commented 4 months ago

I've started using Biome in a side-project which has a lot of files and things (mobg.com.br), and I've been loving it so far.

I haven't used the Lint, but the format part works great!

I believe we can add it to the project soon. I just want to get my hands a little bit more dirty with it. See the problems, the issues I face, etc.

I'll keep you updated.

SMCodesP commented 4 months ago

Thank you very much for your attention and willingness. I will be monitoring this request. Apologies for the delay; I've been quite busy lately, but I will be available as soon as possible when needed. I also have some projects, like landing pages using the typescript-nextjs-starter template with Biome, and some internal systems. Usually, these internal systems grow quite a bit over time, and I am really enjoying using Biome for precisely these projects that have become large. In all of them, I started using Prettier and ESLint, and I have been migrating in a very smooth manner. From what I see, mobg is a considerably large product. I believe that the way you started by using only the formatter is a good choice.

jpedroschmitz commented 3 months ago

One thing I'm missing a lot is this:

https://github.com/biomejs/biome/issues/3177

I'll wait till we have support for it to add it to the template.

jonybekov commented 1 week ago

Hello, everyone! It's good that there are better alternatives to eslint and prettier. However, I'd also suggest to keep an eye on oxc linter and formatter before deciding biome migration. It promises 5x more speed than biome according to https://youtu.be/EKvvptbTx6k?t=879