@lmc-eu/eslint-config-base
Version:
LMC's ESlint configuration preset
95 lines (62 loc) • 2.61 kB
Markdown
These rules are meant to be shared across all ESLint rulesets.
> Generally you should not need to install or extend from these files as they are automatically included in their respective environment-specific configurations.
>
> See [@lmc-eu/code-quality-tools][cqt-home] for a full showdown of available rulesets.
- **`@lmc-eu/eslint-config-base`**
Use this ruleset to configure ESLint to work with every JavaScript code.
- **`@lmc-eu/eslint-config-base/optional`**
Use this ruleset together with the above ruleset. Provides additional insights into potential inconsistencies in the project.
> For new projects, it is recommended to enable this ruleset. For existing projects, it is only recommended for the brave.
- **`@lmc-eu/eslint-config-base/legacy`**
Lints ES5 and below.
- **`@lmc-eu/eslint-config-base/whitespace`**
This entry point only errors on whitespace rules and sets all other rules to warnings. View [the list of whitespace rules](https://github.com/airbnb/javascript/blob/master/packages/eslint-config-airbnb-base/whitespace.js).
```js
// .eslintrc.js
'use strict';
module.exports = {
extends: ['@lmc-eu/eslint-config-base', '@lmc-eu/eslint-config-base/optional'],
};
```
<details>
<summary><i>.eslintrc</i> or <i>.eslintrc.json</i></summary>
```json
{
"extends": ["@lmc-eu/eslint-config-base", "@lmc-eu/eslint-config-base/optional"]
}
```
</details>
<details>
<summary><i>package.json</i></summary>
```json
{
"eslintConfig": {
"extends": ["@lmc-eu/eslint-config-base", "@lmc-eu/eslint-config-base/optional"]
}
}
```
It is also recommended that you lint the whole project folder (that is `npx eslint .`) instead of just
some folders (that is. `npx eslint src test`) and create an _.eslintignore_ file excluding any unwanted
lint folders. Doing so will allow new directories to be created without worrying about having to update your
tools to lint the new directory.
```ini
# .eslintignore
node_modules
# NOTE:
# The following directives are only relevant when linting the whole
# project directory, ie. running `eslint .` ⚠️
# If you compile JavaScript into some output folder, exclude it here
dist
# Highly recommended to re-include JavaScript dotfiles to lint them
# (This will cause .eslintrc.js to be linted by ESLint 🤘)
!.*.js
# Some tools use this pattern for their configuration files. Lint them!
!*.config.js
```
## License
See the [LICENSE](LICENSE) file for information.
[cqt-home]: https://github.com/lmc-eu/code-quality-tools