@madgex/eslint-config-madgex v2.3.0
eslint-config-madgex
ESLint rules related to Madgex projects.
Install
npm install eslint@9 @madgex/eslint-config-madgex -save-devVSCode extension
Use the official VSCode ESLint Extension v3.0.5+ (you might need to switch to pre-release version)
Usage
⚠️ Recomended to use only 1 type of source file in your repo, either
commonjsormodule(esm).eslint&eslint-plugin-n(this config depends on) has difficulty supporting both at the same time in a monorepo.
eslint-plugin-n which is a part of our config, reads the package.json for node version, and what type of JS files you use (ESM or commonjs).
// package.json
{
...
"type": "module", // "module" (ESM), or "commonjs" - you cant use both
{
"engines": {
"node": ">=18"
}
},
...
}eslint-plugin-n also recognises .npmignore files which will silence warnings of missing dependancies when they are installed as devDependancies.
Node/Browser
// eslint.config.js
import configMadgex from '@madgex/eslint-config-madgex';
export default [...configMadgex];Vue
config order matters.
// eslint.config.js
import configMadgex from '@madgex/eslint-config-madgex';
import pluginVue from 'eslint-plugin-vue';
// pluginVue.configs['flat/recommended'] has prettier conflicts
export default [...configMadgex, ...pluginVue.configs['flat/essential']];Rules
Notes regarding specific rules enforced in this config:
no-param-reassign- Disallow reassigning function parameters, except foraccuwhich is the accumulator in a.reduce()e.g.Array.reduce((accu, key) => { accu[key] = getVal(key); return accu; }, {});no-unused-vars- Disallow unused variables, except forrequestandhas found on hapi.js route handlers.
2 years ago
2 years ago
2 years ago
2 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago