You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP

jscheckstyle

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
j

jscheckstyle

Static analysis tool for javascript - calculates cyclomatic complexity, amongst other things

0.0.9
latest
97

Supply Chain Security

100

Vulnerability

92

Quality

78

Maintenance

100

License

HTTP dependency

Supply chain risk

Contains a dependency which resolves to a remote HTTP URL which could be used to inject untrusted code and reduce overall package reliability.

Found 1 instance in 1 package

Unpopular package

Quality

This package is not very popular.

Found 1 instance in 1 package

Version published
Maintainers
1
Created
Issues
1

Build Status

Purpose

A command-line tool for analysing javascript source, providing measurements of function length, number of arguments, and cyclomatic complexity.

NOTE: jshint now does most of these checks, http://www.elijahmanor.com/2012/09/control-complexity-of-your-javascript.html so you may not need this any more. Use jshint instead, it checks for a whole load of other things as well.

Installation

npm install jscheckstyle

Usage

jscheckstyle some-javascript.js some-other-javascript.js (default output as nice table on command line)
jscheckstyle --violations some-javascript.js (will output rule-violating functions only)
jscheckstyle --html some-javascript.js > output.html
jscheckstyle --json some-javascript.js > output.json
jscheckstyle --checkstyle some-javascript.js > output.xml (will output Java checkstyle-compatible output, useful for Jenkins)
jscheckstyle --emacs some-javascript.js (produces output suitable for Emacs flymake - see flymake-jschecksyle.el)

Rules

There are three rules at the moment which will be violated if:

  • function length is greater than 30 lines
  • number of arguments to a function is greater than 5
  • cyclomatic complexity for a function is greater than 10

Exclusion

To exclude certain directories or files from being checkstyled, simply create a .jscheckstyleignore file at current directory, and specify the directory or file name (relative to current directory) that you want to exclude.

Configuration

It is possible to change the default rules by specifying different limits in comments before a function.

For example:

/*
 * @jscheckstyle.functionLength=20
 * @jscheckstyle.numberOfArguments=10
 * @jscheckstyle.cyclomaticComplexity=30
 */
function theFunction() {
    ...
}

History

Originally I started out modifying jsmeter to run as a command-line tool. Then I started hacking away, added some tests, the command-line interface, added the rules checking and the extra output types, replaced the parser with node-burrito and then realised there wasn't much of jsmeter left. So this tool is inspired by, and owes a huge debt to, jsmeter - but there's very little of the original code to be found (possibly only the HTML output renderer).

FAQs

Package last updated on 23 May 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts