ESLint configuration for Suade Labs projects
This package provides shareable ESLint configurations for JavaScript/Vue projects that conform to Suade Labs' coding style.
Installation
To use this config, install this package as a dev dependencies:
npm install eslint-config-save --save-dev
Next, add an eslintConfig
attribute to your project's package.json
. This config file must include an extends
member:
{
"eslintConfig": {
"extends": "suade"
}
}
See the ESLint configuration guide for details on additional configuration options. Any rules configured in your package.json
file will override those provided by the eslint-config-suade
package.
Usage
Setup an npm command in your project's package.json. Make sure you run this as part of the code analysis in your project's CI pipeline. The plugin eslint-plugin-prettier
runs prettier as an eslint rule, so you only need to run the eslint command.
{
"scripts": {
"lint": "eslint src"
}
}
It is also helpful to configure your IDE to run the linter as you code. See the ESLint integration page to find details on configuring your editor to warn you of ESLint errors.
If you are installing this package in an existing project, when you run eslint src
it will likely return a number of warnings/errors. To fix these run the command eslint --fix
and prettier write .
if using prettier as well. These commands will overwrite and fix all eslint and prettier errors. See the ESLint CLI and Prettier CLI documentation to find out more.
If you want to ignore certain files, just include a .eslintignore
or .prettierignore
file.
Profiles
The eslint-config-suade project contains two types of configuration profiles for you to choose from. See the examples directory for usage examples and how the profiles differ.
suade
(base/eslint only config)
This config contains eslint config rules only (no html or css) and is NOT recommended for use in new Suade Lab projects. It should only be used in existing projects as a step toward using the prettier profile.
Example configuration in package.json
:
{
"eslintConfig": {
"extends": "suade"
}
}
suade/prettier
(eslint and prettier config)
This config extends the base config to include prettier code formatting and enables prettier specific rules for formatting HTML, JS and CSS. You can override prettier by including a prettier key in your package.json or see here for other configuration file types. However, prettier is an opinionated code formatter and the maintainers do not encourage using options, read more here.
"By far the biggest reason for adopting Prettier is to stop all the ongoing debates over styles."
Example configuration in package.json
:
{
"eslintConfig": {
"extends": "suade/prettier",
},
"prettier": {}
}