Socket
Book a DemoInstallSign in
Socket

nocuous

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nocuous

A static code analysis tool for JavaScript and TypeScript.

0.4.0
latest
Source
npmnpm
Version published
Weekly downloads
1
-66.67%
Maintainers
1
Weekly downloads
 
Created
Source

nocuous

Build Status

A static code analysis tool for JavaScript and TypeScript.

Installation

$ npx nocuous

Commands

stat

Currently the only command (which is also the default command) is stat. stat provides code toxicity statistics for a JavaScript or TypeScript project. The command expects a single input file. If this file is a JavaScript or TypeScript file, it will analyze that file plus any of its dependencies which get imported into that file for code toxicity and output the information to stdout. If the file is a .json file, it is assumed it is a tsconfig.json and uses that to determine what files to analyze. For example to run stats for a project:

$ npx nocuous index.ts

stat can take an options of -o or --output which will write the results as a CSV to the specified file.

stat also accepts multiple input files and glob patterns passed as input files.

Background

The statistics collected around code toxicity are based directly on Eric Dörnenburg's article How toxic is your code?.

The default metrics are based on what is suggested in the article. When applying to TypeScript/JavaScript there are some adaptation that is required:

MetricTable LabelDescriptionDefault Threshold
File lengthLThe number of lines in a file.500
Class fan-out complexityCFACThe number of classes or interfaces in the dependency chain for a given class.30
Class data abstraction couplingCDACThe number of instances of other classes that are "new"ed in a given class.10
Anon Inner LengthAILClass expressions of arrow functions length in number of lines.35
Function LengthFLThe number of statements in a function declaration, function expression, or method declaration.30
Parameter NumberPThe number of parameters for a function or method6
Cyclomatic ComplexityCCThe cyclomatic complexity for a function or method10
Nested if DepthIDThe number of nested if statements.3
Nested try DepthTDThe number of nested try statements.2
Binary Expression ComplexityBECHow complex a binary expression is (e.g. how many && and `
Missing Switch DefaultMSDAny switch statements that are missing the default case.1

FAQs

Package last updated on 24 Mar 2020

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

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.