@fenge/eslint-config v0.6.15
@fenge/eslint-config
A strict eslint config preset containing a comprehensive set of rules for linting js / ts / package.json files.
Feature
- Lint
js/mjs/cjs/jsx/ts/mts/cts/tsx/package.jsonfiles only. - Strict. More than 400+ rules.
- Highly customizable by omitting unwanted.
- Type safe. TypeScript friendly.
- Pure JavaScript project friendly.
- React friendly.
- NestJS friendly.
- Have no stylistic opinions. Prettier friendly.
- Respect
.gitignore. - ESLint Flat config, compose easily!
- Modern. ESM first.
- One-line of config.
Usage
Install it in the root of js / ts project.
npm i -D eslint @fenge/eslint-configConfig eslint.config.js (for ESM).
export { default } from "@fenge/eslint-config";If you are in CommonJS, config eslint.config.js bellow:
module.exports = import("@fenge/eslint-config");Config package.json
{
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix"
}
}Note: For TypeScript project, adding a
tsconfig.jsonfile in the root is recommended.
Advanced Usage
Config Builder
You can use Builder class to customize for selecting or omitting some rules.
// @ts-check
import { Builder } from "@fenge/eslint-config";
export default new Builder()
.enablePackageJson({
pick: ["packagejson/top-types"], // only these rules will work for package.json files
})
.enableJavaScript({
omit: ["no-var"], // these rules will not work for js files
})
.enableTypeScript()
// apply additional rules or override the built-in rules for ts files
.append({
name: "strictest",
files: ["**/*.{ts,cts,mts,tsx}"],
rules: {
"@typescript-eslint/no-explicit-any": "error",
"@typescript-eslint/consistent-type-assertions": [
"error",
{ assertionStyle: "never" },
],
"@typescript-eslint/no-non-null-assertion": "error",
},
})
.toConfig();Tips: By adding a
// @ts-checkat the top of the config file, you will get code hinting in VSCode/WebStorm. It will highly improve your development experience.
License
MIT
8 months ago
8 months ago
7 months ago
10 months ago
7 months ago
10 months ago
6 months ago
7 months ago
9 months ago
8 months ago
8 months ago
11 months ago
11 months ago
11 months ago
6 months ago
10 months ago
6 months ago
6 months ago
5 months ago
6 months ago
5 months ago
12 months ago
12 months ago
1 year ago
12 months ago
7 months ago
10 months ago
7 months ago
10 months ago
7 months ago
10 months ago
7 months ago
10 months ago
11 months ago
11 months ago
11 months ago
12 months ago
8 months ago
11 months ago
8 months ago
11 months ago
1 year ago
1 year ago
1 year ago