@divmain/eslint-config-defaults

    10.0.0 • Public • Published

    eslint-config-defaults

    A composable set of ESLint configurations.


    Installation

    Install this config package and ESLint:

    $ npm install --save-dev eslint eslint-config-defaults

    Usage

    Full Configurations

    This package includes the following complete and ready to use configurations:

    • defaults - The config recommended by ESLint
    • defaults/configurations/eslint - The config recommended by ESLint
    • defaults/configurations/google - The Google JavaScript Style Guide
    • defaults/configurations/gulp - The Gulp ESLint config
    • defaults/configurations/node-runtime - The config used for the Node.js runtime
    • defaults/configurations/off - Disable all rules (ESLint's default at 1.0.0+)
    • defaults/configurations/airbnb/es5 - Config from the AirBnB Style Guide
    • defaults/configurations/airbnb/es6-react - Config from the AirBnB Style Guide
    • defaults/configurations/airbnb/es6 - Config from the AirBnB Style Guide
    • defaults/configurations/walmart/es5-browser - Walmart ES5 + browser
    • defaults/configurations/walmart/es5-node - Walmart ES5 + node < 4.x
    • defaults/configurations/walmart/es5-test - Walmart ES5 + test
    • defaults/configurations/walmart/es5 - Walmart ES5 config
    • defaults/configurations/walmart/es6-browser - Walmart ES6 + browser
    • defaults/configurations/walmart/es6-node - Walmart ES6 + node 4.x
    • defaults/configurations/walmart/es6-react-test - Walmart ES6 + react + test
    • defaults/configurations/walmart/es6-react - Walmart ES6 + react
    • defaults/configurations/walmart/es6-test - Walmart ES6 + test
    • defaults/configurations/walmart/es6 - Walmart ES6 config
    Dependencies

    To consume and extend a config in ESLint just add the extends attribute to your .eslintrc. For more details about how shareable configs work, see the ESLint documentation.

    ---
    "extends":
      - "defaults"
    ---
    "extends":
      - "@divmain/eslint-config-defaults/configurations/walmart/es6-browser"

    NOTE: Extending multiple complete configs can cause unexpected results, if you need to do this you should consider a piecemeal config as explained below. See https://github.com/walmartlabs/eslint-config-defaults/issues/38 for details.

    Piecemeal Configurations

    ESLint configuration is broken apart in ./rules containing ESLint's rules and rules for specific ESLint plugins. The full set of ESLint rules (./rules/eslint) are broken into categories that mirror ESLint's documentation. Under each rule type there are sets of configuration as well as an off.js file which turns off every rule in the category.

    Examples
    ---
    "extends":
      - "@divmain/eslint-config-defaults/rules/eslint/best-practices/walmart",
      - "@divmain/eslint-config-defaults/rules/eslint/errors/airbnb"
     
      - "@divmain/eslint-config-defaults/rules/eslint/es6/off"
      - "@divmain/eslint-config-defaults/rules/eslint/node/off"
     
    "env":
      "phantom": true

    Limitations

    Due to an issue with ESLint, config extension cannot be called from a globally installed (npm install -g eslint) eslint. It can however be run properly using eslint installed directly to your package's node_modules. This can be done by either calling it directly (./node_modules/.bin/eslint .) or from within an npm script since they automatically check local node_modules first. This will be tracked in issue #43.

    This package tracks config in the following versions:

    And A Special Thanks To


    License

    MIT License

    Install

    npm i @divmain/eslint-config-defaults

    DownloadsWeekly Downloads

    3

    Version

    10.0.0

    License

    MIT

    Last publish

    Collaborators

    • divmain