Skip to content

An Angular CLI builder for linting Angular applications using ESLint and stylelint.

License

Notifications You must be signed in to change notification settings

krema/angular-eslint-stylelint-builder

Repository files navigation

Angular ESLint + Stylelint Linter

npm version node workflow node workflow angular versions

An Angular CLI builder inspired by @angular-eslint/builder for linting Angular applications using ESLint and stylelint in one easy step.

Prerequisites

Before using this linter, please ensure that you have already installed and configured eslint and stylelint, for example, by setting up .eslintrc and .stylelintrc files. For more information on converting TSLint to ESLint in Angular projects, please check out the @angular-eslint project.

Install

npm install --save-dev @krema/angular-eslint-stylelint-builder

Usage

Add the builder @krema/angular-eslint-stylelint-builder:lint to the lint task in your angular.json.

angular.json

projects → <my-project> → architect → lint

Replace the builder of @angular-eslint with @krema/angular-eslint-stylelint-builder:

 "lint": {
-    "builder": "@angular-eslint/builder:lint",
+    "builder": "@krema/angular-eslint-stylelint-builder:lint",
     "options": {
-        "lintFilePatterns": ["**/*.ts"]
+        "eslintFilePatterns": ["**/*.ts"],
+        "stylelintFilePatterns": ["**/*.scss"]
     }
 }

Run ng lint:

Configuration

You can configure the following options:

Name Default Value Description Required Linter
Basic configuration:
eslintFilePatterns [] One or more files/dirs/globs to pass directly to ESLint's lintFiles() method. i.e. ["src/**/*.ts"] true eslint
eslintConfig Use this configuration, overriding .eslintrc.*config options if present eslint
stylelintFilePatterns [] One or more files/dirs/globs to pass directly to stylelint's lint() method. ["src/**/*.scss"] true stylelint
stylelintConfig   Path to the stylelint configuration file stylelint
noEslintrc false Disables use of configuration from .eslintrc.* and package.json files. eslint
fix false Automatically fix, where possible, violations reported by rules (may overwrite linted files) eslint, stylelint
Cache-related:
eslintCache false Store the results of processed files so that ESLint only operates on the changed ones eslint
stylelintCache false Store the results of processed files so that stylelint only operates on the changed ones stylelint
eslintCacheLocation .eslintcache Path to the cache file or directory eslint
stylelintCacheLocation .stylelintcache Path to the cache file or directory stylelint
eslintCacheStrategy metadata Strategy to use for detecting changed files in the cache. Can be either metadata or content eslint
File Enumeration:
eslintIgnorePath A path to a file containing patterns describing files to ignore instead of $CWD/.eslintignore eslint
stylelintIgnorePath A path to a file containing patterns describing files to ignore instead of $CWD/.stylelintignore stylelint
eslintRulesDir [] This option allows you to specify another directory from which to load rules files eslint
eslintResolvePluginsRelativeTo Changes the folder where plugins are resolved from eslint
Output:
outputFile File to write report to instead of the console eslint, stylelint
format stylish The output is formatted by using the ESLint Output formatter eslint, stylelint
silent false Hide output text eslint, stylelint
Handling warnings:
quiet false Only register violations for rules with an "error"-level severity (ignore "warning"-level) eslint, stylelint
maxWarnings -1 Number of warnings to trigger nonzero exit code eslint, stylelint
force false Succeeds even if there was linting errors eslint, stylelint