ESLint shareable config for the most sweet-ass JavaScript and TypeScript. 🤙🏼
npm install --save-dev eslint-config-sweet eslint typescriptTo use the package, follow the ESLint docs about integrating shareable configs.
import { defineConfig } from "eslint/config";
import sweet from "eslint-config-sweet";
export default defineConfig(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 imports and exports, 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