Skip to content

wiz-develop/eslint-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@wiz-develop/eslint-config

Version License

wiz-develop's ESLint rules as an extensible shared config.

Warning

As of now, it does not work with eslint 9 as most plugins haven't updated yet. Please stay with eslint 8.57.0!

Usage

Important

Only ESM and ESLint FlatConfig

1. Install dependencies (and peer dependencies)

npm install --save-dev @wiz-develop/eslint-config eslint

2. Configure ESLint

Within your ESLint config file (eslint.config.js):

import { essentials } from '@wiz-develop/eslint-config';

export default [...essentials];

If you need TypeScript Support:

-import { essentials } from '@wiz-develop/eslint-config';
+import { essentials, typescript } from '@wiz-develop/eslint-config';

 export default [
   ...essentials,
+  ...typescript,
 ];

Must be added after essentials.

We also provide various other rule sets that you can configure to suit your project.

import { essentials, jsdoc, node, typescript } from '@wiz-develop/eslint-config';

export default [...essentials, ...jsdoc, ...node, ...typescript];
Rule set Summary Dependencies
essentials Contains basic, import, and promise recommended rules eslint
eslint-plugin-promise
eslint-plugin-import
eslint-plugin-unicorn
jsdoc Contains JSDoc recommended rules eslint-plugin-jsdoc
node Contains Node.js recommended rules eslint-plugin-n
typescript Contains TypeScript recommended rules @typescript-eslint/eslint-plugin
@typescript-eslint/parser
vue Contains Vue recommended rules eslint-plugin-vue
vue-eslint-parser
nuxt Contains Nuxt and Vue recommended rules @nuxt/eslint-config

Using Prettier

If you use Prettier to format your code, you must disable any rules in @wiz-develop/eslint-config/essentials that conflict with Prettier.

1. Install dependencies

npm install --save-dev eslint-config-prettier

2. Configure ESLint

Within your ESLint config file:

 import { essentials, typescript } from '@wiz-develop/eslint-config';
+import prettier from 'eslint-config-prettier';


 export default [
   ...essentials,
   ...typescript,
+  prettier,
 ];

By adding the prettier configuration to extends in the ESLint configuration, you can disable all rules in essentials that conflict with Prettier.

Migrate from an existing configuration

@wiz-develop/eslint-config contains various plugins related to different rule sets. Therefore, users don't need to install them separately. If you have installed them in your existing configuration, we recommend uninstalling them.

npm uninstall eslint-plugin-promise eslint-plugin-import eslint-plugin-unicorn \
  eslint-plugin-jsdoc \
  eslint-plugin-n \
  @typescript-eslint/eslint-plugin @typescript-eslint/parser \
  eslint-plugin-vue vue-eslint-parser \
  @nuxt/eslint-config

Versioning

  • Increment major version: Changed error rules.
  • Increment minor version: Changed warn rules.
  • Increment patch version: Not changed error and warn rules.

License

Open source licensed as MIT.

Example usages

Nuxt

eslint.config.mjs

import { createConfigForNuxt, essentials } from '@wiz-develop/eslint-config';
import prettier from 'eslint-config-prettier';

export default createConfigForNuxt({}, [prettier]).prepend(...essentials);

TODO: And more.