eslint-config-pegasus
v6.0.2
Published
Eslint shareable config with personalized defaults
Downloads
801
Maintainers
Readme
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, // core config
pegasus.configs.stylistic, // stylistic config
];
Additional rules
Node.js
import pegasus from 'eslint-config-pegasus';
export default [
pegasus.configs.default, // core
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),
];
// 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,
},
);
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, // 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.
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, // core
pegasus.configs.browser,
];