An Angular CLI builder inspired by @angular-eslint/builder for linting Angular applications using ESLint and stylelint in one easy step.
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.
npm install --save-dev @krema/angular-eslint-stylelint-builder
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
:
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 |