如何使用 npm 脚本有条件地将 eslint 结果输出到文件



我正在尝试制作一个简单的 npm 脚本来运行 eslint 并检查它是否在 CI 中,如果是,则将结果输出到文件中。

这可以将结果输出到终端:

"lint": "eslint src --cache --format $(if [ -z ${SOMEVAR} ]; then echo "stylish"; else echo "checkstyle"; fi)",

但是如果存在使用 > checkstyle.xml 存在的 ENV var,我想将它们保存到文件中

有没有办法把它附加到那个命令上?我已经尝试了几种方法,但没有运气让文件输出。

编辑:我能够通过添加--color | tee checkstyle.xml来使其工作,该无论 ENV var 值如何都会写入 xml 文件并向终端显示彩色版本。这并不理想,但确实有效。不过,对其他想法持开放态度。

我发现了这个很棒的图表,它显示了您可以一起使用哪些输出组合来实现这一目标:https://askubuntu.com/a/731237/541276

你的意思是这样吗?

if [ "$somevar" ]; then exec >checkstyle.xml; fi; eslint ...

最新更新