# yeslint! A sensible, modern collection of configuration files for [ESLint] 8.x that enforces beautiful and correct code. It contains both rules to ensure correct code (e.g. enforce `break` statements in each `switch` `case`), and rules to make your code beautiful (e.g. adding a trailing comma to array items that start on a newline). ## What's included Currently, the 3 following configuration files are available: * `generic`: generic ESLint configuration for all modern JavaScript runtimes. * `node`: an extension on the generic config, with rules specific to Node.js. * `svelte`: configuration for [Svelte] and JavaScript in browser environments. ## Examples Please see [the `examples` directory](./examples) for some examples. Files that start with `wrong.` contain many errors, and the fixed version of those files is in their `correct.` equivalent. ## Installation Install it together with ESLint using [npm], [pnpm], [Yarn], or whatever package manager you like to use: ```bash npm install --save-dev eslint@^8.57 @garraflavatra/yeslint ``` ```bash pnpm add --save-dev eslint@^8.57 @garraflavatra/yeslint ``` ```bash bun add --save-dev eslint@^8.57 @garraflavatra/yeslint ``` Then, tell ESLint to extend this configuration. Add it either in `.eslintrc.json`, add it as the default export in `.eslintrc.js`, or add it in your `package.json` under the `"eslintConfig"` key. Please consider the following example. You should replace `` with the name of the configuration you want to use. ```javascript module.exports = { extends: './node_modules/@garraflavatra/yeslint/configs/.js', }; ``` Or add this to your `package.json` file: ```json "eslintConfig": { "extends": "./node_modules/@garraflavatra/yeslint/configs/.js" } ``` After installing, run `npx eslint .` to lint your code for the first time, or use `npx eslint --fix .` to lint while automatically fixing all auto-fixable problems ESLint finds in your codebase. ## Author & license © [Romein van Buren](mailto:romein@vburen.nl) 2023-2024. yeslint! is released under the MIT license — see LICENSE for the full license text. [ESLint]: https://eslint.org/ [Svelte]: https://svelte.dev/ [npm]: https://www.npmjs.com/ [pnpm]: https://pnpm.io/ [Yarn]: https://yarnpkg.com/