默认情况下,ESLint会将其结果打印到标准输出中。如果添加输出选项,它将把输出重定向到文件。到目前为止,一切都很好,但是有办法做到这两者吗?
我们需要GitLab的文件输出来解析结果并将其显示在UI中,但是我们的某些开发人员不会费心去改变他们做事的方式,而是想查看输出。
是否可以通过现成的方式同时获得两者?还是我唯一的机会使用文档中提到的CLIEngine Node来编写自己的脚本来运行ESLint?
谢谢。
答案 0 :(得分:0)
因此,经过一些研究,我想我自己找到了答案。
基本上有两种方法可以同时在控制台和文件上输出:
希望没有人感到意外,选项2中描述的方法正是选项1中的软件包所做的,并且将其包装在一个易于理解的配置文件中,并将为您收集来自默认eslintrc文件的所有配置。
答案 1 :(得分:0)
您可以使用eslint-html-reporter来实现。如果您想从Terminal 获得结果并将其导出到 .html 文件中,那么Terminal的输出将变得不太漂亮(如果仅在其中一种方法中完成),但是可以通过运行以下方法来实现:
1.2
(在此示例中,它以递归方式查找项目文件夹中的./node_modules/.bin/eslint --ext .jsx . & ./node_modules/.bin/eslint --ext .jsx . -f node_modules/eslint-html-reporter/reporter.js -o report.html
文件)。
答案 2 :(得分:0)
我遇到了同样的问题,并通过两次运行eslint来解决此问题。
使用以下命令创建了一个shell脚本
#!/usr/bin/env bash
node_modules/.bin/eslint --quiet \
--max-warnings 100 \
-o eslint-output.$1 \
-f $1 '*/**/*.{js,ts,tsx}'
然后通过詹金斯(Jenkins)两次调用脚本:
steps {
echo 'Rodando ESLint...'
sh("""
yarn install
./eslint.sh junit || true
./eslint.sh codeframe || true
""")
junit(
allowEmptyResults: true,
healthScaleFactor: 0.0,
testResults: 'eslint-output.junit'
)
}