Options
All
  • Public
  • Public/Protected
  • All
Menu

@lzwme/fed-lint-helper

@lzwme/fed-lint-helper

@lzwme/fed-lint-helper

NPM version node version npm download GitHub issues GitHub forks GitHub stars minzipped size

前端项目编码质量 Lint 检测辅助工具。用于辅助大型长期研发的前端项目渐进式的迁移与改进编码规范约束。

功能特性

  • 白名单机制。引入新版本、新规则时开启白名单模式,技术栈更新改造影响成本更低
  • 可选的多线程、多子进程执行模式。并行执行多项静态检查效率更高
  • 支持缓存能力。二次执行效率显著提升,避免重复执行浪费时间

已支持的 lint 检查能力:

  • eslint 自定义 eslint 检测
  • tscheck 自定义 TypeScript 检测
  • jest 自定义 jest 单元测试执行
  • jira 自定义关联 jira 的检测逻辑(测试)

安装

npm i @lzwme/fed-lint-helper
# use yarn
yarn add @lzwme/fed-lint-helper

使用

命令行方式

flh --help
# typescript check
flh ts --help
# eslint check
flh eslint --help
# jest check
flh jest --help

API 调用

提供了 TsCheckESLintCheck 等类对象供 API 方式调用,以便自定义处理逻辑在 CI 构建中的集成。

import { TsCheck, ESLintCheck } from '@lzwme/fed-lint-helper';

// typescript check
const tsCheck = new TsCheck({
exitOnError: false,
src: ['src'],
checkOnInit: false,
debug: true,
toWhiteList: true,
// cache: true,
// removeCache: false,
// tsConfigFileName: 'tsconfig.eslint.json',
// silent: false,
});
const res = tsCheck.start();
console.log(res);


// eslint check
const eslintCheck = new ESLintCheck({
exitOnError: false,
checkOnInit: false,
src: ['src'],
eslintOptions: {
overrideConfig: {
rules: { eqeqeq: 'warn' },
// rulePaths: ['./eslint-rules/'],
// errorOnUnmatchedPattern: true,
},
},
// cache: argv.includes('cache'),
// removeCache: argv.includes('nocache'),
// silent: argv.includes('silent'),
// debug: argv.includes('debug'),
// toWhiteList: true,
// fix: argv.includes('fix'),
});

eslintCheck
.start()
.then(res => console.log(res))
.then(() => {
return eslintCheck.start(['test-cases/ts-check-test-1.ts', 'src/ts-check.ts']).then(res => console.log(res));
});

更多细节可参考 API 文档

API 文档

开发

本地二次开发:

git clone https://github.com/lzwme/fed-lint-helper
yarn install
npm link
yarn dev

或者 fork 本项目进行代码贡献。

欢迎贡献想法与代码。

License

@lzwme/fed-lint-helper is released under the MIT license.

该插件由志文工作室开发和维护。

Generated using TypeDoc