ESLint shareable config for the most sweet-ass JavaScript and TypeScript. 🤙🏼
npm i -D eslint-config-sweet eslint typescript
To use the package, follow the ESLint docs about integrating shareable configs.
import sweet from "eslint-config-sweet";
export default [sweet];
To make your experience even better, Microsoft has added a rad feature to VS Code that makes cleaning up import
and export
statements a breeze! Go to your user settings via ⌘ + ⇧ + p
, then type user json
, and hit enter. Add "source.organizeImports": "explicit"
to "editor.codeActionsOnSave"
as seen here in the VS Code docs, and save that bad boy.
Boom, VS Code will now automatically remove unused import
s and export
s, as well as sort them for ya! 🤙🏼
Sweet, man. That's the point. On a more serious note though: It mostly, of course, enforces consistency, even though it may not look like it the first few moments. It will make your code feel more lightweight and nudge you towards using more modern APIs and good practices, while maintaining readability and keeping complexity down.
sweet
will clash with your Prettier setup, there's no way around it. This config is using @stylistic/eslint-plugin
for formatting, and eslint-config-prettier
turns off ESLint's built-in, but deprecated, formatting rules.
While I generally agree with the different concerns of linters and formatters, Prettier just isn't configurable enough for my liking. And this is by design, as it is meant to be an opinionated, zero-config, drop-in solution with limited options. Until we have a more flexible formatter available, using ESLint in this way seems to be the way to go.
MIT