Socket
Socket
Sign inDemoInstall

@contentful/eslint-config-backend

Package Overview
Dependencies
243
Maintainers
176
Versions
23
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @contentful/eslint-config-backend

ESLint rule-set according to our company code-style guidelines


Version published
Maintainers
176
Install size
93.5 kB
Created

Readme

Source

You can find this repo on NPM and you should use NPM to install it. Only clone this repo if you want to contribute.

Installation

$ npm install --save-dev @contentful/eslint-config-backend@latest eslint@latest eslint-plugin-mocha@latest eslint-plugin-promise@latest eslint-plugin-standard@latest eslint-plugin-node@latest eslint-plugin-import@latest

Add the following files to your project:

.eslintrc.js at your project root

module.exports = {
  extends: '@contentful/eslint-config-backend'
};

Note that also the notation @contentful/backend is supported by eslint as it will automatically add the prefix eslint-config-. However, we recommend the explicit notation to avoid confusion and make it easier to look up its usage across projects.

Optionally if you're using mocha add this file to your test directory test/.eslintrc.js

module.exports = {
  env: {
    mocha: true
  },
  globals: {
    expect: true
  }
};

You now have a locally installed eslint in node_modules/.bin/. It can be run with ./node_modules/.bin/eslint

Pro Tip:

  • add it to your PATH like this: PATH=$PATH:./node_modules/.bin/
  • just run the eslint command in your project folder.

Note that a globally installed eslint will not work because it won't find the config module. Also installing global modules is very unsafe.

Running linter

You can run the linter with eslint -c .eslintrc.{yaml, json} <FILE OR FOLDER PATH> Check ESLint documentation for more information.

IDE integration

Atom

Install the linter-eslint plugin. It should work without any change in configuration.

Other

IDE missing? Contributions are welcomed.

Precommit hook

Note: This is optional and you should discuss it with the owner of the repo before enabling this hook.

Install the pre-commit NPM package: npm install --save-dev pre-commit which sets up hooks automatically.

Update your package.json to include these changes:

"scripts": {
   "lint-js": "LIST=`git diff-index --name-only HEAD | grep \\.js$`; if [ \"$LIST\" ]; then node node_modules/eslint/bin/eslint.js -c .eslintrc.yaml $LIST; fi"
},
"pre-commit": [
  "lint-js"
],

ESLint should now run before every commit and automatically lint .js files.

Rules

Rules are based on a combination of StandardJS and this ES6 addition.

Our rules are slightly different in the following points:

Major points
  • Line length: 120 characters
  • Semicolons
  • 2 space indentation
  • Use single quotes
Minor points
  • Each variable should have its own keyword. (So no const foo, bar)
  • No short-hand operators like n++ or n+=1 should be used. Use n = n + 1 instead. For loops are the exception, so for (let i = 0; i < 10; i++) is still allowed.
  • else / elseif must be placed after the previous closing bracket on the same line.

Keywords

FAQs

Last updated on 12 Mar 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc