FECS 基于 Node.js 的前端代码检查工具

发布于 2020-11-24 10:59:57 字数 7089 浏览 1651 评论 0

FECS 是基于 Node.js 的前端代码风格工具套件,包含对 JavaScript、CSS 与 HTML 的检查及格式化。

特点

灵活:安装简单,深度可配置性
高效:基于 Stream,文件流转从未如此迅速
齐全:四大语言支持,前端代码质量有保障

基于四个工具

htmlcs:检查、格式化,HTML 代码
csshint:检查 CSS 代码
lesslint:检查 Less 代码
jformatter:修复 JS 代码

安装

$ [sudo] npm install fecs -g

使用

fecs
fecs -v
fecs check --help
fecs format --help

快速开始

FECS 是基于 Node.js 的前端代码风格工具套件,包含对 JavaScript、CSS 与 HTML 的检查、修复及格式化。

安装

$ [sudo] npm install fecs -g

代码检查

$ fecs
$ fecs path
$ fecs path/to/file
$ fecs check --help

代码修复

$ fecs format src --output=fixed
$ fecs format src --replace
$ fecs format --help

FECS 命令参数

options

名称别名值类型默认值说明
helphbooleanfalse显示帮助信息
versionvbooleanfalse显示 FECS 的版本信息

check

$ fecs [check] [pattern...] [options]
  • 使用 ESLint 检查 JavaScript 代码的质量与风格。
  • 使用 CSSHint 检查 CSS 代码的质量与风格。
  • 使用 HTMLCS 检查 HTML 代码的质量与风格。

pattern

指定 glob 风格的文件查找模式,默认为当前工作目录下的所有 js/css/html,也可以直接指定到具体的文件路径。

options

名称别名值类型默认值说明
colorcbooleantrue是否使用颜色高亮
debug--booleanfalse是否允许直接抛出 FECS 的运行时错误
format--string--指定 check 命令的结果输出格式,支持 JSON,XML 与 HTML,打开 silient 时也不影响输出
ignore--string--指定需要忽略的文件模式,多个模式可以使用多个 --ignore 指定
lookup--booleanfalse是否考虑所有上级目录的配置
maxerr--number0每个文件的最大错误数,默认为 0 表示不限制
maxsize--number0每个文件的最大字节数,默认为 900K, 0 表示不限制
reporter--string--指定 reporter,内置可选值只有 baidu,当包含 / 字符时从当前工作目录查找自定义的 reporter 实现,其它值按默认处理
rule--booleanfalse是否在错误信息最后显示对应的校验规则名称
silentsbooleanfalse是否隐藏所有通过 console.log 输出的信息
sort--booleanfalse是否对信息按行列作升序排序
stream--booleanfalse是否使用 process.stdin 作为输入
type--stringjs,css,html指定要处理的文件类型,类型之间以 , 分隔

format

$ fecs format [pattern...] [options]

options

名称别名值类型默认值说明
debug--booleanfalse是否允许直接抛出 FECS 的运行时错误
format--string--指定 check 命令的结果输出格式,支持 JSON,XML 与 HTML,打开 silient 时也不影响输出
ignore--string--指定需要忽略的文件模式,多个模式可以使用多个 --ignore 指定
lookup--booleanfalse是否考虑所有上级目录的配置
outputostring./output指定格式化后的输出目录
replace--booleanfalse指定格式化后是否替换原文件
safesstringmediumlow -> medium -> high 三个级别对 JavaScript 作格式化,越往右对源码的改变越少
silentsbooleanfalse是否隐藏所有通过 console.log 输出的信息
stream--booleanfalse是否使用 process.stdin 作为输入
type--stringjs,css,html指定要处理的文件类型,类型之间以 , 分隔

API

fecs.leadName

设置或获取控制台输出信息前的名称,默认值为 fecs

var fecs = require('fecs');
fecs.leadName = 'edp';
...

fecs.getOptions(Array argv)

获取经 minimist 解释后的命令行参数对象,可用于 fecs.checkfecs.format 方法。

var options = fecs.getOptions(process.argv.slice(2));

console.log(options.command); // 'check'
...

fecs.check(Object options[, Function done])

检查文件或输入流的代码规范。

// 设置检查的文件路径
options._ = ['/path/to/check'];

// 或者设置为 stream
// options.stream = yourReadableStream;

// 设置文件类型
// options.type = 'js,css';


/**
 * callback after check finish
 *
 * @param {boolean} success true as all files ok, or false.
 * @param {Object[]} errors data for check result.
 */
function done(success, errors) {
    // blablabla
}

fecs.check(options, done);

fecs.format(Object options)

格式化、修复文件或输入流的代码。

fecs.format(options);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

qq_Yqvrrd

文章 0 评论 0

2503248646

文章 0 评论 0

浮生未歇

文章 0 评论 0

养猫人

文章 0 评论 0

第七度阳光i

文章 0 评论 0

新雨望断虹

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文