Nonsense Parser Microframework

    @pxlwidgets/eslint-config-angular

    13.0.0 • Public • Published

    ESLint configuration - Angular

    npm version

    The Angular extension for our ESLint configuration base. This configuration was migrated from another repository and was previously published as a special configuration under @pxlwidgets/eslint-config.

    Table of contents

    [[TOC]]

    Dependencies

    About

    This repository maintains distinct branches for each major Angular version. By default, the two latest versions are actively supported. The branch names follow the angular-{MAJOR_VERSION} pattern, and each have their own package version tags within that major version of Angular. Therefore, they also all have their own CHANGELOG history.

    Installation

    Note: Versions of this configuration are published in sync with their compatible Angular versions. For example, when using Angular 12, npm install @pxlwidgets/eslint-config-angular@12.

    npm<v7 or Yarn v1

    On NPM versions prior to v7, or when using Yarn V1, you'll have to install both this package, eslint and all peer dependencies, as those versions of NPM do not automatically install peer dependencies:

    npm install --save-dev eslint@8                                  \
                           @angular-eslint/builder@13                \
                           @angular-eslint/eslint-plugin@13          \
                           @angular-eslint/eslint-plugin-template@13 \
                           @angular-eslint/template-parser@13        \
                           @pxlwidgets/eslint-config-angular@13

    For the best compatibility, remove all direct dependencies – other than @pxlwidgets/eslint-config-angular@13 – listed above when your project moves to npm >= 7.

    npm >= 7 (node >= 15)

    As of npm v7, peer dependencies are automatically installed, so only installing this package suffices:

    npm install --save-dev @pxlwidgets/eslint-config-angular@13

    Usage

    Angular uses the ng lint command. In order to make that command use ESLint instead of TSLint, follow this guide , or update the projects > app > architect > lint path in your angular.json file as follows:

       {
        "lint": {
            "builder": "@angular-eslint/builder:lint",
            "options": {
                "lintFilePatterns": [
                    "src/**/*.ts",
                    "src/**/*.html"
                ]
            }
        }
    }

    Note that the angular-eslint package will only work for Angular 8+. There is also a separate configuration for E2E in the angular.json if you are using Angular's default E2E testing you may need to make sure that the linting config for it is set up similarly to the main build.

    Development

    • For each new Angular version create a new branch angular-{MAJOR_VERSION}, e.g. angular-12, and sync the dependency versions in that branch. All @angular-eslint/* dependencies also sync their major versions with the compatible Angular version.

    • Maintain a tag sequence for each major Angular version independently, and only create tags for Angular version x in the corresponding branch angular-x.

    • Don't merge version branches into base.

    • When an update to the generic documentation is required, perform this update in base, and merge base into all angular-x branches.

    • When an update to the generic ESLint configuration is required, perform this update in base, and merge base into as many angular-x branches as possible. When you do, make sure that the configuration update is compatible with the ESLint version required by the target branch. You can check the required version by checking out the target branch and then running npm install && npm ls eslint.

    • Since tags for specific configuration versions are created on angular-x branches, never rebase any of these branches.

    Install

    npm i @pxlwidgets/eslint-config-angular

    DownloadsWeekly Downloads

    31

    Version

    13.0.0

    License

    ISC

    Unpacked Size

    10.7 kB

    Total Files

    6

    Last publish

    Collaborators

    • miljoen
    • malloum003
    • pxlwidgets-admin
    • pxl-widgets-wouter
    • jjwesterkamp
    • denniskosterpxlwidgets
    • wimski
    • tom.steele.94
    • hoekstramenno
    • brandon.pxl
    • jklaver