0.0.4 • Published 2 years ago

umi-plugin-jscpd v0.0.4

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

umi-plugin-jscpd

NPM version NPM downloads

copy paste detector for umi plugin

Usage

  1. 安装依赖
yarn add umi-plugin-jscpd --dev
  1. umi config 增加 jscpd 配置。如果使用默认配置,可跳过这一步。
// jscpd 默认配置,除 skipLint 外,其他都是透传 jscpd 配置项
export default {
  jscpd: {
    // 配合pre-commit使用。默认不跳过 lint 检查。
    skipLint: false,
    // 代码重复率检测阈值,默认值5,表示代码重复率超过5%会 lint 失败
    threshold: 5,
    // 最小代码区块 token 大小
    minTokens: 50,
    // 最小代码区块行数
    minLines: 5,
    // 最大代码区块行数
    maxLines: 1000,
    // 最大文件大小
    maxSize: '100kb',
    // reporter 列表
    reporters: ['console'],
    // 忽略的文件
    ignore: ['node_modules', 'src/.umi/*'],
    // 检测的文件格式,默认只检测js、jsx、ts、tsx类型的文件
    format: ['javascript', 'jsx', 'typescript', 'tsx'],
    // 忽略的代码区块,默认忽略 import 语句
    ignorePattern: ["import.*from\s*'.*'"]
  },
}
  1. 如果是配合 pre-commit 使用,修改 package.json
"lint-staged": {
    "**/*.{js,jsx,ts,tsx}": [
      "umi jscpd"
    ]
  },
  1. 如果只是用来检查项目中的代码覆盖率,可直接执行 umi jscpd /path/to/source