JavaScript Standard Style — One Style to Rule Them All
JavaScript
Latest commit c6514ff Nov 9, 2016 @misteroneill misteroneill 6.0.1

README.md

video.js Standard Style

travis npm downloads

This module provides a hands-off wrapper around ESLint and the video.js organization's shared ESLint config. It checks ("lints") your code to verify that it complies with our organization's agreed-upon standards.

Lead Maintainer: Pat O'Neill @misteroneill

Maintenance Status: Stable

Install

npm install videojs-standard

Or, if you prefer to install it globally:

npm install -g videojs-standard

This will put the vjsstandard program on your PATH, meaning you can call it from anywhere and it'll run.

Usage

If you are using our plugin generator, you will already have videojs-standard available within your project! Running npm run lint will run your plugin project through videojs-standard!

The simplest use case would be checking the style of all JavaScript files in the current working directory:

$ vjsstandard
~/dev/my-code/src/index.js
    527:1  warning  Line 527 exceeds the maximum line length of 90  max-len

Arguments

vjsstandard will accept any number of file identifier arguments. These can be glob patterns. Some examples:

$ vjsstandard foo.js src/**/*.js

If not provided, vjsstandard will recursively check all JavaScript source files in the current working directory.

Options

-e/--errors

Produces a report that only includes errors; not warnings.

-w/--warnings

Produces a report that only includes warnings; not errors.

--format

Instead of producing a report on the errors and warnings found in files, this will attempt to use ESLint's auto-formatting capabilities to overwrite existing files to resolve rules violations.

--help

Outputs help on using videojs-standard.

--version

Outputs the version number of videojs-standard.

Ignoring Files

Sometimes you need to ignore files because they represent preprocessed or minified assets, which are not appropriate for linting.

File glob patterns can be ignored by adding them to your project's package.json as a part of a vjsstandard.ignore array:

{
  "vjsstandard": {
    "ignore": [
      "**/dist/**",
      "Gulpfile.js"
    ]
  }
}

Contributing

This project should almost never change.

A rule should only change if there is a very compelling reason that the video.js core contributors have agreed upon by discussion.

Versioning Guidelines

Because this project can cause builds to fail, we want to avoid any potentially breaking changes outside of major versions. Because this project is mostly a collection of dependencies, any change to those dependencies will require a version change in this project equal to the highest version change in dependencies.

  • A dependency being updated by a major version will be a major version of videojs-standard.
  • A dependency being updated by a minor version will be a minor version of videojs-standard.
  • A dependency being updated by a patch version will be a patch version of videojs-standard.

Combined with the rules outlined in eslint-config-videojs, this should allow common version ranges (~ and ^) to never introduce a change that could break someone's build due to linter errors!

License

Apache-2.0. Copyright (c) Brightcove, Inc.