My personal (base) eslint-config
Compatible with ESLint 9+ using the new flat config format.
npm install --save-dev @mastermindzh/eslint-config
Create an eslint.config.js
file (or eslint.config.mjs
) in your project root:
const mastermindzhConfig = require('@mastermindzh/eslint-config');
module.exports = [
...mastermindzhConfig,
{
// Your custom rules here
rules: {
// Example: override a rule
'no-console': 'warn',
},
},
];
For TypeScript projects, you may also want to add TypeScript-specific configuration:
const mastermindzhConfig = require('@mastermindzh/eslint-config');
const tseslint = require('typescript-eslint');
module.exports = [
...mastermindzhConfig,
...tseslint.configs.recommended,
{
files: ['**/*.ts', '**/*.tsx'],
rules: {
// TypeScript-specific rules
},
},
];
If you're migrating from an older version (2.x) that used .eslintrc
format:
- Remove your
.eslintrc.*
files - Remove your
.eslintignore
file - Create an
eslint.config.js
file with the flat config format shown above - Add ignores directly in the config:
const mastermindzhConfig = require('@mastermindzh/eslint-config');
module.exports = [
// Global ignores
{
ignores: ['dist/**', 'build/**', 'node_modules/**'],
},
...mastermindzhConfig,
{
// Your custom rules
},
];