Socket
Socket
Sign inDemoInstall

jscheckstyle

Package Overview
Dependencies
3
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    jscheckstyle

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


Version published
Weekly downloads
7
decreased by-22.22%
Maintainers
1
Install size
586 kB
Created
Weekly downloads
 

Readme

Source

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).

Keywords

FAQs

Last updated on 23 May 2013

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc