Git Product home page Git Product logo

eslint-config-mapbox's Introduction

eslint-config-mapbox

Build Status

Shared ESLint config for Mapbox engineering teams.

Quick start with Node.js

  1. Install the following dev-dependencies:

    npm install --save-dev \
      @mapbox/eslint-config-mapbox \
      eslint \
      eslint-plugin-node
    
  2. Extend the @mapbox/eslint-config-mapbox config in your .eslintrc (or eslintConfig key in your package.json):

    "eslintConfig": {
      "extends": "@mapbox/eslint-config-mapbox"
    }
  3. Specify the version of Node.js your project uses by setting .engines.node in your package.json.

    "engines": {
      "node": ">=8"
    }
  4. Run eslint on your project as part of your test and lint scripts:

    "scripts": {
      "lint": "eslint **/*.js",
      "test": "tape test/*.test.js && npm run lint",
    }

Usage

The "Quick start" above exemplifies usage of this package with standard Node.js code.

Depending on the ECMAScript version of your code, whether you are using non-standard syntax like Flow and React's JSX, or other considerations, you may want to extend a variety of configurations provided by this package. eslint-config-mapbox exposes several configurations targeting specific ESLint plugins, each named after the plugin it targets.

To use each plugin-specific configuration, you'll need to do the following:

  • Install as dev-dependencies @mapbox/eslint-config-mapbox, eslint, and any plugins that are used by the configuration(s) you are extending, such as eslint-plugin-node or eslint-plugin-react.

  • Add the configuration(s) you are using to the "extends" array in your project's ESLint configuration, like this:

    {
      "extends": [
        "@mapbox/eslint-config-mapbox/react",
        "@mapbox/eslint-config-mapbox/import",
        "@mapbox/eslint-config-mapbox/promise"
      ]
    }

Plugin-specific configurations

With Prettier

If you are using Prettier to format your JS, install eslint-config-prettier and add it at the end of your "extends" array. It will turn off all ESLint rules related to the code-style preferences that Prettier already addresses.

eslint-config-mapbox's People

Contributors

alulsh avatar davidtheclark avatar dependabot[bot] avatar dputtick avatar mattficke avatar rclark avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.