interface FlhConfig {
    beforeExitOnError?: ((code: number, msg?: string) => void);
    cache?: boolean;
    cacheLocation?: string;
    checkOnInit?: boolean;
    ci?: boolean;
    commitlint?: CommitLintOptions;
    configPath?: string;
    debug?: boolean;
    detectSubPackages?: boolean;
    eslint?: ESLintCheckConfig;
    exclude?: string[];
    exitOnError?: boolean;
    extensions?: string[];
    fileList?: string[];
    fileStats?: {
        exclude?: string[];
        extensions?: string[];
        json?: boolean;
        jsonFile?: string;
        showDupFiles?: boolean;
        showFiles?: boolean;
        showFullPath?: boolean;
        src?: string[];
        topN?: number;
    };
    fix?: boolean;
    ignoreWhiteList?: boolean;
    include?: string[];
    jest?: JestCheckConfig;
    jira?: JiraCheckConfig;
    logDir?: string;
    logValidityDays?: number;
    mode?: "proc" | "thread" | "current";
    onlyChanges?: boolean;
    onlyStaged?: boolean;
    packages?: Record<string, string>;
    pmcheck?: IPackageManager;
    prettier?: PrettierCheckConfig;
    printDetail?: boolean;
    printDetialOnSuccessed?: boolean;
    removeCache?: boolean;
    rootDir?: string;
    silent?: boolean;
    src?: string[];
    toWhiteList?: boolean;
    tscheck?: TsCheckConfig;
    userEmailRule?: string | RegExp;
    whiteListFilePath?: string;
    wxWorkKeys?: string[];
    wxWorkMessageFormat?: ((type: string, details: {
        errmsg?: string;
    }) => string | WxWorkReqParams);
}

Hierarchy

Properties

beforeExitOnError?: ((code: number, msg?: string) => void)

自定义出错退出前执行的回调方法

cache?: boolean

本次 check 是否使用缓存。为 false 则进行全量文件检测,否则不检测已缓存通过的文件。默认为 true。当依赖升级、规则变更、CI 执行 MR 时建议设置为 false

cacheLocation?: string

缓存文件保存的目录路径。默认为: <config.rootDir>/node_modules/.cache/flh/

checkOnInit?: boolean

初始化即执行check。默认为 false。设置为 true 则初始化后即调用 start 方法

ci?: boolean

是否运行为持续集成模式

commitlint?: CommitLintOptions
configPath?: string

配置文件路径

debug?: boolean

是否开启调试模式(打印更多的细节)

detectSubPackages?: boolean

是否探测子项目并在子项目中分别执行 lint。默认为 true

exclude?: string[]

文件排除列表,用于过滤一些不需要检查处理的文件。glob 规则,如: ['builder/**']

exitOnError?: boolean

执行完成时存在 lint 异常,是否退出程序。默认为 true

extensions?: string[]

文件后缀。用于文件过滤等

fileList?: string[]

要检测的文件列表。主要用于指定仅检测发生变更的文件

fileStats?: {
    exclude?: string[];
    extensions?: string[];
    json?: boolean;
    jsonFile?: string;
    showDupFiles?: boolean;
    showFiles?: boolean;
    showFullPath?: boolean;
    src?: string[];
    topN?: number;
}

源文件统计配置

Type declaration

  • Optionalexclude?: string[]

    文件 glob 排除规则

  • Optionalextensions?: string[]

    需统计的文件类型后缀列表

  • Optionaljson?: boolean

    是否输出为 json 格式

  • OptionaljsonFile?: string

    输出为 json 格式时写入文件

  • OptionalshowDupFiles?: boolean

    是否打印重复文件列表

  • OptionalshowFiles?: boolean

    是否打印文件列表

  • OptionalshowFullPath?: boolean

    打印文件路径时,是否显示为完整路径

  • Optionalsrc?: string[]
  • OptionaltopN?: number

    TopLine 和 TopSize 统计文件数

fix?: boolean

是否尝试修正可自动修正的异常

ignoreWhiteList?: boolean

是否忽略白名单,仅检查全部异常情况

include?: string[]

文件包含列表,仅在该列表中的才报告异常。glob 规则,如: ['src\**\*.{ts,tsx,js,jsx}']

logDir?: string

日志存放目录。默认为 node_modules/.cache/flh/log。设置为 _NIL_ 则表示禁用日志写文件

logValidityDays?: number

日志有效期。单位天,默认为 7 天

mode?: "proc" | "thread" | "current"

执行检测的方式。默认为 proc

proc fork 子进程执行。默认

thread 创建 work_threads 子线程执行。eslint 不要选此选项

current 在当前进程中执行

onlyChanges?: boolean

是否仅检测 git 变化的文件

onlyStaged?: boolean

是否仅检测 git add 添加到缓冲区中的文件,优先级高于 onlyChanges

packages?: Record<string, string>

子包配置。针对多子模块的 menorepo 类项目

pmcheck?: IPackageManager

package manager check

printDetail?: boolean

是否打印异常详情。默认为 true

printDetialOnSuccessed?: boolean

执行成功时是否打印详情([eslint]主要为在白名单中的异常信息,CI 中可设置为 false)。CI 中默认为 false

removeCache?: boolean

是否移除缓存文件。设置为 true 将移除缓存并生成新的。默认 false

rootDir?: string

根目录,默认为当前执行目录

silent?: boolean

静默模式。不打印任何信息,一般用于接口调用

src?: string[]

要执行 lint 的源码目录,默认为 ['src']

toWhiteList?: boolean

是否将异常文件输出至白名单列表文件中。默认为 false。注意:

  • 追加模式,如需全新生成,应先删除白名单文件。
  • 初始化、规则变更、版本升级导致新增异常,但又不能立即修复的情况下,可设置为 true 执行一次
tscheck?: TsCheckConfig
userEmailRule?: string | RegExp

用户邮箱规则。用于 commit lint 时检查提交者邮箱配置规范

whiteListFilePath?: string

白名单列表文件保存的路径,用于过滤允许出错的历史文件。默认为 <config.rootDir>/config/whitelist-<lintType>.json

wxWorkKeys?: string[]

企业微信机器人 webhook key 配置,用于 ci 中发送通知。可配置多个。若使用代理地址,可设置为完整的URL地址。支持读取环境变量 WX_WORK_KEYS,多个以 , 分割

wxWorkMessageFormat?: ((type: string, details: {
    errmsg?: string;
}) => string | WxWorkReqParams)

自定义微信通知的消息格式化