vueinspect v0.1.24
vueinspect 基于vue项目的js代码重复检测
一个基于JSinspect的代码检测,api基本和jsinspect相同
Installation
It can be installed via npm
using:
npm install -g vueinspect
Usage
Usage: vueinspect [options] <paths ...>
Detect copy-pasted and structurally similar JavaScript code
Example use: vueinspect -I -L -t 20 --ignore "test" ./path/to/src
Options:
-h, --help output usage information
-V, --version output the version number
-t, --threshold <number> number of nodes (default: 30)
-m, --min-instances <number> min instances for a match (default: 2)
-c, --config [config] path to config file (default: .vueinspect)
-r, --reporter [default|json|pmd|htm] specify the reporter to use
-I, --no-identifiers do not match identifiers
-L, --no-literals do not match literals
-C, --no-color disable colors
--ignore <pattern> ignore paths matching a regex
--truncate <number> length to truncate lines (default: 100, off: 0)
--debug print debug information
If a .vueinspectrc
file is located in the project directory, its values will
be used in place of the defaults listed above. For example:
{
"threshold": 30,
"identifiers": true,
"literals": true,
"color": true,
"minInstances": 2,
"ignore": "test|spec|mock",
"reporter": "json",
"truncate": 100,
}
On first use with a project, you may want to run the tool with the following options, while running explicitly on the lib/src directories, and not the test/spec dir.
vueinspect -t 50 -r htm --ignore "test" ./path/to/src
From there, feel free to try decreasing the threshold, ignoring identifiers
using the -I
flag and ignoring literals with -L
. A lower threshold may lead
you to discover new areas of interest for refactoring or cleanup.
Integration
It's simple to run vueinspect on your library source as part of a build
process. It will exit with an error code of 0 when no matches are found,
resulting in a passing step, and a positive error code corresponding to its
failure. For example, with Travis CI, you could add the following entries
to your .travis.yml
:
before_script:
- "npm install -g vueinspect"
script:
- "vueinspect ./path/to/src"