Skip to content
This repository has been archived by the owner on Dec 20, 2023. It is now read-only.

mongodb-js/eslint-config

Repository files navigation

eslint-config-mongodb-js travis npm

eslint shareable configs for mongodb-js.

Usage

Shareable configs are designed to work with the extends feature of .eslintrc files. This allows us to easily extend from a base configuration to provide the right rules for all of the extensive range of environments we build modules for:

  • mongodb-js/compass-plugin
  • mongodb-js/react
  • mongodb-js/node
  • mongodb-js/browser
  • mongodb-js/shell

You can learn more about Shareable Configs on the official ESLint website.

Conventions

Our eslint-config is based on eslint-config-airbnb. We make a best effort to explicitly call out any rules we differ from eslint-config-airbnb will include a JSDoc comment of @differ #{dang good reason}.

Usage

To use the mongodb-js shareable config, first run:

npm install --save-dev eslint-config-mongodb-js

NOTE You do not need to add multiple extends: [] in your .eslintrc! The inheritance of the mongodb-js/* configs inherits bottom up. For example, mongodb-js/compass-plugin already includes mongodb-js/react.

compass-plugin

If you're building a MongoDB Compass Plugin, your ./.eslintrc should be:

{"extends": "mongodb-js/compass-plugin"}

react

For react modules, your ./.eslintrc should be:

{"extends": "mongodb-js/react"}

node

For vanilla node.js projects, your ./.eslintrc should be:

{"extends": "mongodb-js/node"}

browser

If you're working on a UI project that uses browserify, your ./.eslintrc should be:

{"extends": "mongodb-js/browser"}

Related

  • mongodb-js-precommit The first line of defense to fighting bugs is not letting bad code into your project in the first place.
  • eslint-plugin-mongodb Syntax guidance and best practices reinforcement when using MongoDB node.js driver.

Changelog

5.0.0

  • Upgrade to eslint@5 #49

4.0.0

  • Adds mongodb-js/compass-plugin config #48

FAQ

My editor is now showing unexpected errors

Make sure your editor is using the correct version of eslint. If you're using Visual Studio Code, npm i -g eslint@latest will resolve this problem.

License

Apache 2.0