eslint-config-schibsted
A module to contain the Schibsted JavaScript linting rules for ESLint.
How to use
yarn add eslint-config-schibsted eslint@^5.6.1 eslint-plugin-import@^2.14.0 eslint-plugin-prettier@^3.0.0 eslint-plugin-unicorn@^6.0.1 prettier@^1.14.3 -D
Then add the extends
option to your .eslintrc.*
:
{
"extends": "schibsted",
"root": true
}
You can override specific settings by specifying them as normal. See http://eslint.org/docs/developer-guide/shareable-configs for more details.
Additional configurations
There are several configurations available:
eslint-config-schibsted
, which is the base and standaloneeslint-config-schibsted-chai
for inclusion with chai fileseslint-config-schibsted-flow
for inclusion with flow typed fileseslint-config-schibsted-modules
for inclusion with ES6 module fileseslint-config-schibsted-node
for inclusion with Node files.eslint-config-schibsted-react
for inclusion with React files, and requires eslint-plugin-react
The additional packages should be included as extends
in directories containing
the relevant source type files.
Intent
The intent of these packages is to provide a common set of rules for coding within
the Schibsted codebases. It is made up from a number of different packages
with predefined settings. This will make transitioning between projects a
smoother experience.
Why not just AirBnB?
While AirBnB is a popular configuration, there are a lot of valuable rules that
are not included in it. Instead of having every project need to source these
additional rules, the eslint-config-schibsted-*
packages provide these for you.
AirBnB is one of the included configurations in these packages.
Prettier
Linting usually happens in two places.
- In the editor.
- In build tools.
By default this config uses Prettier in relaxed mode. This means that errors will not show for rules that are covered by running prettier --write
. This allows people to code in their own style.
However, it means that build tools, by default, also don't include the errors. You may want errors to show in your build tools so you will need to specify the prettier-strict
config as appropriate. e.g. using the cli add --config ./packages/eslint-config-schibsted/prettier-strict.js
.
If you would like code editors to show the errors as well, simply add prettier-strict
to the extends
config.
{
"extends": [
"schibsted",
"schibsted/prettier-strict"
],
"root": true
}