videojs-standard
v9.1.0
Published
JavaScript style for plugins and tools in the video.js ecosystem.
Downloads
4,169
Readme
video.js Standard Style
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.
Maintenance Status: Stable
Table of Contents generated with DocToc
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
/--fix
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"
]
}
}
Don't check jsdoc
Note: By default this option is set to true, even if the option is not provided.
Some projects don't use jsdoc and don't care if jsdoc exists or not. We added an option that you can add in you package.json
in order to turn off all the jsdoc rules. All you have to do is set vjsstandard.jsdoc
to false
:
{
"vjsstandard": {
"jsdoc": false,
}
}
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.