npm

Need private packages and team management tools?Check out npm Orgs. »

esbnb

1.0.3 • Public • Published

esbnb, the ESLint with Airbnb configuration installer

Requirements

  • OS: macOS or Linux
  • engine: npm

Installation

It is recommended to install esbnb globally.

npm i -g esbnb

Usage

ESLint can be installed with 3 configurations from Airbnb: airbnb, airbnb-base and airbnb-base/legacy.

For more details on which packages are installed with ESlint see :

Install ESLint with the Airbnb ESLint rules, including ECMAScript 6+ and React (default)

At the root of your project, run:

esbnb

Install ESLint with the Airbnb ESLint rules, including ECMAScript 6+ (base)

At the root of your project, run:

esbnb base

Install ESLint with the Airbnb ESLint rules, including ECMAScript 5 and below (legacy)

At the root of your project, run:

esbnb legacy

Need basic help ?

At the root of your project, run:

esbnb -h||-help

Configuration

No configuration are required from your own.

esbnb install and automatically configure your .eslintrc file. It only adds the configuration name in the extends property. If some values were present that are not an Airbnb config name, the extends property will be an array with all these values plus the Airbnb one. If another Airbnb config is found, it will be replaced by the one being installed.

Before any process, a copy of your .eslintrc is made in the case of something would go wrong. You'll find it in the esbnb package installed globally in the configs directory.

If no .eslintrc file were found, a new one will be created with proper configuration.

Example of a new .eslintrc file created when installing ESLint with Airbnb base configuration :

{
  "extends": "airbnb-base"
}

Examples of an existing .eslintrc file already configured when installing ESLint with Airbnb base configuration :

Before:

{
  "extends": "my-config"
}

After:

{
  "extends": [
    "my-config",
    "airbnb-base"
  ]
}

Before:

{
  "extends": "airbnb-base/legacy"
}

After:

{
  "extends": "airbnb-base"
}

Contribution

Please feel free to contribute to this little tool. Here is/are some work in progress:

  • Make it possible to change config:
    • after installing airbnb-base config with esbnb base command, running esbnb command will first remove related ESLint packages in node_modules and in package.json then install the proper one and configure the .eslintrc file. A solution could be to check when a Airbnb config is installed (function) and run a npm un -D on each packages related to the Airbnb configuration when the configuration is different or missing. Related file: bin/index.js

Test

Run npm test to

  • lint with ESLint (airbnb-base config),
  • run mocha unit tests with Chai.

Licence

The MIT License (MIT) Copyright © 2016 Adrien Valcke

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

install

npm i esbnb

Downloadsweekly downloads

30

version

1.0.3

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability