/eslint-config-angular

A shareable ESLint configuration for the development of Perfective Angular packages

Primary LanguageTypeScriptMIT LicenseMIT

Perfective ESLint Config for Angular

@perfective/eslint-config-angular provides a shareable ESLint configuration for developing the @perfective Angular packages. This package extends the @perfective/eslint-config package.

@perfective/eslint-config-angular uses the following ESLint plugins:

Setup

  1. Require @perfective/eslint-config-angular and its peer dependencies as dev dependencies:

    npm install --save-dev \
        @perfective/eslint-config-angular \
        @babel/eslint-parser \
        @angular-eslint/eslint-plugin \
        @angular-eslint/eslint-plugin-template \
        @angular-eslint/template-parser \
        @typescript-eslint/eslint-plugin \
        @typescript-eslint/eslint-plugin-tslint \
        @typescript-eslint/parser \
        eslint \
        eslint-import-resolver-typescript \
        eslint-plugin-array-func \
        eslint-plugin-cypress \
        eslint-plugin-deprecation \
        eslint-plugin-eslint-comments \
        eslint-plugin-import \
        eslint-plugin-jest \
        eslint-plugin-jest-dom \
        eslint-plugin-jest-formatting \
        eslint-plugin-jsdoc \
        eslint-plugin-node \
        eslint-plugin-prefer-arrow \
        eslint-plugin-promise \
        eslint-plugin-rxjs \
        eslint-plugin-rxjs-angular \
        eslint-plugin-simple-import-sort \
        eslint-plugin-sonarjs \
        eslint-plugin-testing-library \
        eslint-plugin-unicorn \
        tslint
  2. Require the configuration in your root .eslintrc.js.

    module.exports = {
        extends: ['@perfective/eslint-config-angular'],
    };
  3. Use a separate .eslintrc.html.js to lint Angular templates.

    module.exports = {
        extends: ['@perfective/eslint-config-angular/template'],
    };

Rules Configuration Extension Functions

This package re-exports rules configuration functions, including overrides with additional Angular customizations:

  • typescriptEslintNamingConvention(extensions).

Roadmap

  • Remove TSLint support.