Eslint shareable config with personalized defaults.
npm install eslint eslint-config-pegasus --save-dev
See Eslint's Shareable Configs for more information.
import pegasus from 'eslint-config-pegasus';
export default [
pegasus.configs.default, // core config
pegasus.configs.stylistic, // stylistic config
];
Additional rules
import pegasus from 'eslint-config-pegasus';
export default [
pegasus.configs.default, // core
pegasus.configs.node,
];
pegasus.tsConfig
is a re-export of typescript-eslint's config helper.
import pegasus from 'eslint-config-pegasus';
export default [
pegasus.configs.default,
pegasus.configs.node,
...pegasus.tsConfig(pegasus.configs.typescript),
];
// Or
export default pegasus.tsConfig(
pegasus.configs.default,
pegasus.configs.node,
...pegasus.configs.typescript,
);
By default, the following files are matched: **/*.ts
, **/*.mts
, **/*.cts
. To customize this, you can pass the files
option.
import pegasus from 'eslint-config-pegasus';
export default pegasus.tsConfig(
pegasus.configs.default, // core
pegasus.configs.node, // node
{
files: ['**/*.ts', '**/*.tsx'],
extends: pegasus.configs.typescript,
},
);
import pegasus from 'eslint-config-pegasus';
export default pegasus.tsConfig(
pegasus.configs.default,
pegasus.configs.node,
...pegasus.configs.typescriptRecommended,
);
This extendes typescript-eslint/recommended with typechecking
import pegasus from 'eslint-config-pegasus';
export default pegasus.tsConfig(
pegasus.configs.default,
pegasus.configs.node,
...pegasus.configs.typescriptStrict,
);
typescript-strict
includes all base, recommended and stylistic configuration
By default, the projectService
option is enabled in the parser options, which is needed for certain rules which require type information. This might conflict when passing the project
option to the parser.
To override this, you can disable projectService
and specify the project
to the custom tsconfig file.
import pegasus from 'eslint-config-pegasus';
export default pegasus.tsConfig(
pegasus.configs.default, // core
pegasus.configs.node, // node
{
extends: pegasus.configs.typescript,
languageOptions: {
parserOptions: {
projectService: false,
project: './tsconfig.eslint.json',
tsconfigRootDir: import.meta.dirname,
},
},
},
);
See typescript-eslint's docs for more information.
import pegasus from './index.js';
export default [
pegasus.configs.default,
{
...pegasus.configs.react,
files: ['test/fixtures/jsx/*.jsx'],
},
];
import pegasus from 'eslint-config-pegasus';
export default [
pegasus.configs.default, // core
pegasus.configs.browser,
];