quisi.do ESLint configuration
The @quisido/eslint-config
provides flat ESLint configurations for .cjs
,
.d.ts
, .js
, .test.ts
, and .ts
files.
The simplest implementation is to just export the entire module as your ESLint configuration.
// eslint.config.js
export { default } from '@quisido/eslint-config';
To extend the configuration, you may spread the default export as an array.
// eslint.config.js
import configs from '@quisido/eslint-config';
export default [
...configs,
{
// Add your custom configuration here.
},
];
To cherry-pick or tailor any configurations, you may import them directly.
// eslint.config.js
import CJS from '@quisido/eslint-config/cjs';
import D_TS from '@quisido/eslint-config/d-ts';
import JS from '@quisido/eslint-config/js';
import TEST_TS from '@quisido/eslint-config/test-ts';
import TS from '@quisido/eslint-config/ts';
export default [JS, CJS, TS, D_TS, TEST_TS];
To quickly disable rules for specific files, use the disableRulesForFiles
utility method.
import configs, { disableRulesForFiles } from '@quisido/eslint-config';
export default [
...configs,
...disableRulesForFiles({
'max-lines': ['eslint.config.js', 'src/index.ts'],
'max-lines-per-function': ['src/index.ts'],
'no-await-in-loop': ['src/utils/map-readable-stream-to-string.ts'],
'no-magic-numbers': ['src/constants/*.ts'],
}),
];