awesome-eslint
prettier-rpc
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 |
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
-
Prettier $20k Bounty was Claimed
[2] https://github.com/dustinspecker/awesome-eslint#plugins
-
What are good ways to speed up the small little things when developing? Like typing this `${}` or the function definition of a react component? How can I use shortcuts in VS code, or are there any other tools? Pls also tell if you solved other small problems for yourself.
There's a big world of Awesome ESLint plugins.
-
What is the best way to maintain react js coding standard?
ESLint is sort of the go-to code quality/style enforcer, here's a repo that contains all the popular configurations from large open source projects as well as well known companies.
-
How to setup Prettier, ESLint, Husky and Lint-Staged with a NextJS and Typescript Project
3. Install additional configs and plugins in order to extend the functionality of our linter. These the are multiple configs and plugins that I use for every project. ( you can add or exclude anything that you don't want from this setup ). Here is a list of things you can add.
-
¿Qué es Linting y ESLint?
Awesome ESLint: Una lista de configuraciones, parsers, plugins y otras herramientas para mejorar tu propia configuración de ESLint.c
prettier-rpc
-
Prettier $20k Bounty was Claimed
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?
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.