A sensible, modern collection of configuration files for ESLint. It enforces both correct and beautiful code.
Go to file
2024-07-25 13:28:19 +02:00
configs Add parserOptions for Svelte + TypeScript 2024-07-25 13:17:28 +02:00
example Added support for TypeScript codebases 2023-08-07 17:50:06 +02:00
.eslintrc.js Disabled array-element-newline 2023-08-07 18:12:46 +02:00
.gitignore Initial commit 2023-07-27 21:56:03 +02:00
index.js Initial commit 2023-07-27 21:56:03 +02:00
LICENSE.md It is 2024 2024-07-25 13:18:23 +02:00
package-lock.json Added support for TypeScript codebases 2023-08-07 17:50:06 +02:00
package.json Added support for TypeScript codebases 2023-08-07 17:50:06 +02:00
README.md Update readme once again 2024-07-25 13:28:19 +02:00

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).

TypeScript is supported out of the box! No configuration is required.

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. Also works with Bun!
  • svelte: configuration for Svelte and JavaScript in browser environments.

Examples

Please see the example directory 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:

npm install --save-dev eslint@^8.57 @garraflavatra/yeslint
pnpm add --save-dev eslint@^8.57 @garraflavatra/yeslint
bun add --save-dev eslint@^8.57 @garraflavatra/yeslint

Usage

After installing the package, tell ESLint to extend its configuration. Either add it to .eslintrc.json, set it as the default export in .eslintrc.js, or add it to your package.json under the "eslintConfig" key.

Please consider the following example. You should replace <name> with the name of the configuration you want to use.

module.exports = {
  extends: './node_modules/@garraflavatra/yeslint/configs/<name>.js',
};

Or add this to your package.json file:

"eslintConfig": {
  "extends": "./node_modules/@garraflavatra/yeslint/configs/<name>.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.

Feedback

Please feel free to report any issues and questions! Much appreciated :)

Author & license

© Romein van Buren 2023-2024. yeslint! is released under the MIT license — see LICENSE for the full license text.