ESLint vs Prettier: What are the differences?
ESLint and Prettier can be primarily classified as "Code Review" tools.
ESLint and Prettier are both open source tools. It seems that Prettier with 32.6K GitHub stars and 1.81K forks on GitHub has more adoption than ESLint with 14.4K GitHub stars and 2.46K GitHub forks.
Asana, Rainist, and Intuit are some of the popular companies that use ESLint, whereas Prettier is used by Swat.io, HousingAnywhere, and Quizlet. ESLint has a broader approval, being mentioned in 541 company stacks & 592 developers stacks; compared to Prettier, which is listed in 63 company stacks and 60 developer stacks.
What is ESLint?
What is Prettier?
Need advice about which tool to choose?Ask the StackShare community!
Why do developers choose Prettier?
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using ESLint?
What are the cons of using Prettier?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
We use Prettier because when we rebooted our front-end stack, I decided that it would be an efficient use of our time to not worry about code formatting issues and personal preferences during peer review. Prettier eliminates this concern by auto-formatting our code to a deterministic output. We use it along with ESLint and have 1st-class support in our WebStorm and Visual Studio Code editors.
So when starting a new project you generally have your go to tools to get your site up and running locally, and some scripts to build out a production version of your site. Create React App is great for that, however for my projects I feel as though there is to much bloat in Create React App and if I use it, then I'm tied to React, which I love but if I want to switch it up to Vue or something I want that flexibility.
So to start everything up and running I clone my personal Webpack boilerplate - This is still in Webpack 3, and does need some updating but gets the job done for now. So given the name of the repo you may have guessed that yes I am using Webpack as my bundler I use Webpack because it is so powerful, and even though it has a steep learning curve once you get it, its amazing.
The next thing I do is make sure my machine has Node.js configured and the right version installed then run Yarn. I decided to use Yarn because when I was building out this project npm had some shortcomings such as no
.lock file. I could probably move from Yarn to npm but I don't really see any point really.
I use Babel to transpile all of my #ES6 to #ES5 so the browser can read it, I love Babel and to be honest haven't looked up any other transpilers because Babel is amazing.
Finally when developing I have Prettier setup to make sure all my code is clean and uniform across all my JS files, and ESLint to make sure I catch any errors or code that could be optimized.
I'm really happy with this stack for my local env setup, and I'll probably stick with it for a while.
The other option we considered was JSHint, but we scrapped that, as forward-compatibility is essential for us and ESLint is more fast-paced in its development and supports ESnext natively.
For many(if not all) small and medium size business time and cost matter a lot.
That's why languages, frameworks, tools, and services that are easy to use and provide 0 to productive in less time, it's best.
Maybe Node.js frameworks might provide better features compared to Rails but in terms of MVPs, for us Rails is the leading alternative.
Amazon EC2 might be cheaper and more customizable than Heroku but in the initial terms of a project, you need to complete configurationos and deploy early.
Advanced configurations can be done down the road, when the project is running and making money, not before.
Finally, comunication and keeping a good history of conversations, decisions, and discussions is important so we use a mix of Slack and Twist
I use Visual Studio Code because plugins. For choosing IDE, the most important part is not IDE itself, but plugins. Some may argues that Visual Studio Code is not IDE, but I like to call it IDE, any text editor can do debug is IDE. Visual Studio Code can do it, and can use ESLint and Prettier , so it's IDE.
I use TypeScript because the tooling is more mature (the decision to discontinue TSLint in favor of moving all its checks to ESLint is a thoughtful and mature decision), there's a ton of examples and tutorials for it, and it just generally seems to be where the industry is headed. Flow (JS) is a fine tool, but it just hasn't seen the uptake that TS has, and as a result is lacking a lot of the nicer small things, like thorough Visual Studio Code integration, offered by TS.
I decided to use ESLint over other tools like Prettier because I think it's better to show your fails than fix them without knowing what you are doing. It's a better way to learn. I know it's slower, but you are fully conscious of your work. I also use Sass linters for the same reason. I recommend Prettier when you are already a senior developer, but try to use linters instead when you start coding. It will help you to improve a lot. I recommend you #Airbnb rules set. Strict, but well written. Very useful even for accesibility.
Scenario: I want to integrate Prettier in our code base which is currently using ESLint (for .js and .scss both). The project is using gulp.
It doesn't feel quite right to me to use ESLint, I wonder if it would be better to use Stylelint or Sass Lint instead.
I completed integrating ESLint + Prettier, Planning to do the same with [ Stylelint || Sasslint || EsLint] + Prettier.
And have gulp 'fix' on file save (Watcher).
Any recommendation is appreciated.
I use my IDE’s (Visual Studio Code) ESLint integration to validate the code I write in realtime.
ESLint is used in the build process for the Promethean TV Broadcast Center Tool.