eslint-plugin-pegasus
Eslint shareable config with personalized defaults.
Install
npm install eslint eslint-config-pegasus --save-dev
Usage
See Eslint's Shareable Configs for more information.
import pegasus from 'eslint-config-pegasus';
export default [
pegasus.configs.default,
pegasus.configs.stylistic,
];
Additional rules
Node.js
import pegasus from 'eslint-config-pegasus';
export default [
pegasus.configs.default,
pegasus.configs.node,
];
Typescript
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),
];
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,
pegasus.configs.node,
{
files: ['**/*.ts', '**/*.tsx'],
extends: pegasus.configs.typescript,
},
);
Typescript Recommended
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
Typescript Strict
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
Custom TsConfig
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,
pegasus.configs.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.
React
import pegasus from './index.js';
export default [
pegasus.configs.default,
{
...pegasus.configs.react,
files: ['test/fixtures/jsx/*.jsx'],
},
];
Browsers
import pegasus from 'eslint-config-pegasus';
export default [
pegasus.configs.default,
pegasus.configs.browser,
];