awesome-eslint VS prettier-rpc

Compare awesome-eslint vs prettier-rpc and see what are their differences.

awesome-eslint

A list of awesome ESLint plugins, configs, etc. (by dustinspecker)

prettier-rpc

Single-file build of prettier with JSON-RPC communication (by prettier)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
awesome-eslint prettier-rpc
5 1
4,124 13
- -
5.0 10.0
20 days ago about 7 years ago
JavaScript
Creative Commons Zero v1.0 Universal MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

awesome-eslint

Posts with mentions or reviews of awesome-eslint. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-27.

prettier-rpc

Posts with mentions or reviews of prettier-rpc. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-27.
  • Prettier $20k Bounty was Claimed
    16 projects | news.ycombinator.com | 27 Nov 2023
    Sorry for being late to the party. What I really care about is that we have fast code formatting in the industry.

    But performance is a field that's really hard to accurately measure as there are so many variables, machines, benchmarks... You can see this in the JavaScript ecosystem where every project says that they are faster than the other one and they are in practice all right depending on which benchmarks they use.

    So, creating a big bounty with something that's very hard to accurately measure is likely not going to work out very well.

    In practice in the ecosystem, the Rust community really cares about performance. So it feels that this is the right audience to build something really fast. But, so far, none of the Rust-based printers were even close to outputting the same thing as prettier. They all decided to implement a different set of options, made different design decisions...

    So every time somebody mentioned using one of those, I was getting annoyed that I would --love-- to recommend them, but it wasn't going to be the same. And I believe from experience that one of the main reason Prettier has been so successful is because of this --very very very very-- laborious last few percent of edge cases.

    So goal #1 is to convince at least one of those projects to start being compatible with Prettier so that we had a viable alternative. In practice, there was no way I could talk to them directly and convince them to align with Prettier. So the idea of the bounty came to be, if I made a bounty big enough, it would be a way to convince them to do so (and it worked!).

    The bounty to work needs to be very easy to test (percentage of tests that pass is very easy to test), cannot easily be cheated (unless you run prettier itself, you need to go through the laborious work of doing the same logic) and cover real world use case (all the tests were added over time based on using it in prod). It also mentioned a "project" and not a "person" to encourage collaboration.

    It's a bit unorthodox but I've learned my lesson with code formatting that people are obsessed about discussing this topic so you need to find alternative ways to convince them.

    Now, going back to Prettier, I've been very annoyed that nobody had looked at performance of the project since after I stopped working on the project. For example, I wrote a way to keep the prettier process alive for editor integration instead of paying for the startup cost every single time https://github.com/prettier/prettier-rpc and nobody used it. I needed to find a way to convince people that prettier's performance actually matters.

    One of the most powerful way to get people to improve performance is to have two competing offerings battling against each others. We've seen this very successful between JS engines, JS frameworks... But, due to the success of prettier, there was no competition, the JS Survey admins even stopped asking about it because it was the only choice.

    So having a proper competitor which is faster and uses a relatively controversial language, was a good setup to get a competition going. And it also worked, since the bounty was announced, Fabio Spampinato got nerd snipped thinking he can make the JS version faster than Rust and has been working every day profiling and rewriting the Prettier CLI to be orders of magnitude faster. We are using the open collective money to contract him to work on this.

    Outside of performance, by having another group of people work on the same tests, they uncovered a lot of broken behaviors and edge cases on prettier that should be fixed.

    Last but not least, having a bounty incentivizing another project was intriguing enough to generate a lot of discussion and therefore receive a lot more coverage than just asking people to work on your project.

    ----

    So, overall, it achieved all the outcomes I wanted: by the end of the year, prettier itself is going to be a lot faster, and we actually have -less- fragmentation in the space where the other big project is now aligned in terms of the way code is formatted.

    Would have I been able to spend $10k more effectively, I can't think of how. But I'm pretty sure I'm missing some better strats!

What are some alternatives?

When comparing awesome-eslint and prettier-rpc you can also consider the following projects:

github-cheat-sheet - A list of cool features of Git and GitHub.

biome - A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP.

stylelint - A mighty CSS linter that helps you avoid errors and enforce conventions.

prettier - Prettier is an opinionated code formatter.

jco - JavaScript tooling for working with WebAssembly Components

prettier-plugin-curly - Prettier plugin to enforce consistent brace style for all control statements. 🥌

SemanticDiff - Community support for SemanticDiff, the programming language aware diff for Visual Studio Code.

vscode-react-javascript-snippets - Extension for React/Javascript snippets with search supporting ES7+ and babel features

shared-everything-threads - A draft proposal for spawning threads in WebAssembly

awesome-standard - Documenting the explosion of packages in the standard ecosystem!

age - A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.