Git Product home page Git Product logo

belly-button's Introduction

belly-button

Current Version belly-button-style

Pre-canned linting setup based on ESLint. See .eslintrc.js file in project root for ESLint settings.

Usage

belly-button is intended to be run from the command line, or from within your package.json's scripts section as shown below.

"scripts": {
  "lint": "belly-button"
}

This allows you to issue the command npm run lint, which will run JavaScript source code through belly-button. See the command line documentation below for more details on settings and available options.

Command Line

belly-button accepts the following command line options:

  • -i (alias --input) - Glob specifying files to lint. This flag can be specified multiple times to specify multiple globs. If this flag is not provided, the inputs default to '**/*.js'.
  • -I (alias --ignore) - Glob specifying files to be ignored by the linter. This flag can be specified multiple times to specify multiple globs. If this flag is not provided, the ignore glob default to 'node_modules/**'.
  • -f (alias --fix) - Boolean. This flag, when true, causes ESLint to automatically fix any linting errors that it can. Note that not all errors can be automatically corrected. Defaults to false.
  • -C (alias --cache) - Boolean. When, true, enables ESLint's result caching feature. This can improve linting times on subsequent runs. Defaults to true.
  • -w (alias --pwd) - String. Specifies the current working directory to use. If not specified, defaults to process.cwd().

belly-button's People

Contributors

arb avatar cjihrig avatar geek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

belly-button's Issues

Track new rules

ESLint 2.0.0 updates

This might not be comprehensive, but...

  • move from .eslintrc to .eslintrc.js
  • no-arrow-condition is replaced by no-constant-condition and no-confusing-arrow
  • no-empty-label is replaced by no-labels with {"allowLoop": true, "allowSwitch": true} option
  • space-after-keywords is replaced by keyword-spacing
  • space-before-keywords is replaced by keyword-spacing
  • space-return-throw-case is replaced by keyword-spacing

New rules to use

  • array-callback-return
  • keyword-spacing
  • no-implicit-globals
  • no-new-symbol
  • no-self-assign
  • no-useless-constructor
  • no-whitespace-before-property
  • one-var-declaration-per-line
  • template-curly-spacing
  • yield-star-spacing

Clarify CLI output interface

bin/belly-button.js wraps lib/cli.js. Need to finalize the interface of the CLI run() function. Specifically, how will errors, stdout, stderr, and the process exit code be passed around.

Track new rules

Add tests

100% code coverage achieved in a64a277. However, at least one of the tests needs to be improved. It is currently marked with a TODO comment.

Track new ESLint features

Things that might be worth incorporating:

Deprecated rules

The following rules used by belly-button are deprecated in ESLint core as of v7.0.0:

  • handle-callback-err
  • no-buffer-constructor
  • no-new-require

Add rule: prefer-const

Enable this in the next major version bump. The rule disregards var, so it's backwards compatible for code written in older versions of ES.

Update space-before-function-paren

Consider changing to {"anonymous": "always", "named": "never"}. This would allow function foo(), while still requiring function () (anonymous vs. named). @arb thoughts?

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.