Package detail

eslint-config-pegasus

sibiraj-s2.6kMIT6.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,
];

changelog

CHANGELOG

All notable changes to this project are documented in this file.

v6.0.2 (2024-11-05)

  • update ts file matchers and parser options (a1ca21b)
  • improve README (7dc961a)

v6.0.1 (2024-11-04)

v6.0.0 (2024-11-04)

  • use official react plugins (1287d19)
  • bump dependencies and devDependencies (1287d19)

v6.0.0-beta.2 (2024-08-08)

  • export missing utils directory (9ba18b7)

v6.0.0-beta.1 (2024-08-08)

  • publish missing src directory to npm (75b866c)

v6.0.0-beta.0 (2024-08-08)

  • update eslint to v9 (c60511a)
  • update typescript-eslint to v8 (c60511a)
  • replace deprecated style rules with eslint-stylistic (ae62b8a)
  • (Breaking) Migrate to flat config (c60511a)

v5.0.0 (2023-07-12)

  • update typescript-eslint to v6.0.0 (dc967b9)
  • update rule no-unused-vars (b8032a8)
  • add typescript recommended, stylistic, strict configs (2c1bd48)

v4.0.0 (2023-07-04)

  • update typescript to v5.1.6 (dd0cc66)
  • update typescript-eslint to v5.61.0 (dd0cc66)
  • add npm package provenance (dfa47c0)

v3.5.0 (2022-12-23)

  • add rule no-new-native-nonconstructor (23d463f)
  • add rule no-empty-static-block (1eeac3e)
  • add rule logical-assignment-operators (cd24f3b)
  • update typescript-eslint to v5.47.0 (8c11504)
  • update typescript to v4.9.4 (8c11504)

v3.4.1 (2022-08-09)

  • add missing files to npm publish (e31da02)

v3.4.0 (2022-08-09)

  • add rule no-constant-binary-expression (ad6a588)
  • add react config (4db256b)
  • add browser config (9661a3d)
  • update typescript-eslint to v5.33.0 (3e5ca04)
  • update typescript to v4.7.4 (3e5ca04)

v3.3.0 (2022-02-23)

  • update rule object-curly-newline (80543ff)
  • update rule lines-between-class-members (af0ce81)
  • update eslint to v8.9.0 (8ee958d)
  • update eslint-find-rules to v4.1.0 (31e54b8)
  • update typescript-eslint to v5.12.1 (1dd33ba)
  • update typescript to v4.5.5 (4abdbcd)

v3.2.0 (2021-12-23)

  • add rule prefer-object-has-own (7cc6f5a)
  • update rule object-curly-newline (6993d43)

v3.1.1 (2021-12-15)

  • update rule object-curly-newline (e84cb84)
  • bump dependencies and devDependencies (6e30266)

v3.1.0 (2021-11-10)

  • add rule no-unused-private-class-members (4280173)
  • add rule no-unsafe-optional-chaining (39c2022)
  • add rule no-nonoctal-decimal-escape (bb1c6a0)

v3.0.1 (2021-10-28)

  • disable rule class-methods-use-this (e721787)
  • update typescript-eslint to v5.2.0 (c7e8098)

v3.0.0 (2021-10-18)

v2.1.1 (2021-09-27)

  • disable line-comment-position (6291648)
  • bump dependencies and devDependencies (77e607b)

v2.1.0 (2021-06-21)

  • add typescript rule no-shadow (7b680f0)

v2.0.3 (2021-05-24)

  • bump dependencies and devDependencies (c8709f8)
  • disable lines-around-comment (ea3d0ad)

v2.0.2 (2021-04-16)

  • bump dependencies and devDependencies (098e033)
  • ignore parens around multi-line jsx (8dd7d07)

v2.0.1 (2020-12-14)

  • bump dependencies and devDependencies (5efc8a8)
  • update LICENSE (ce899a6)

v2.0.0 (2020-11-21)

  • enforce no-console rule (6ecf923)
  • add typescript rules (8e9a2ce)
  • update to node.js v14 in ci (1f28c53)
  • setup @actions/cache (103438d)
  • update dependencies and devDependencies (43f02b4)

v1.3.10 (2020-10-05)

  • update rule max-lines-per-function (028e33d)
  • update rule no-extra-parens (327e9f7)
  • disable rule arrow-body-style (b01c619)

v1.3.9 (2020-08-24)

  • publish typescript rules (e745340)

v1.3.8 (2020-08-24)

  • add rules for typescript (f6a4510)

v1.3.7 (2020-08-23)

  • add rules for nodejs environment (429bd6c)

v1.3.6 (2020-08-17)

  • update rule no-extra-parens (6cbc30a)
  • disable rule no-inline-comments (4c70b23)
  • remove duplicate rules (c0e3b29)
  • disable rule no-undefined (2886278)

v1.3.5 (2020-08-17)

v1.3.4 (2020-08-17)

  • update rule new-cap (39f5832)
  • update rule newline-per-chained-call (549251d)
  • update rule max-statements (547ba2b)

v1.3.3 (2020-08-16)

  • disable rule no-negated-condition (424f9c4)

v1.3.2 (2020-08-16)

  • update rule max-statements (004a1e9)
  • update rule max-statements-per-line (c31772a)

v1.3.1 (2020-08-16)

v1.3.0 (2020-08-16)

v1.2.0 (2020-08-07)

New Rules

v1.1.0 (2020-07-23)

v1.0.0 (2020-07-04)

  • eslint shareable config (9b576a3)