Package detail

eslint-config-pegasus

sibiraj-s684MIT6.0.2

Eslint shareable config with personalized defaults

eslint, eslint-config, pegasus

readme

eslint-plugin-pegasus

pegasus

Tests npm version npm licence

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,
];