Webhint 开源了一种代码检查工具

  • Dylan Schiemann
  • 盖磊

2018 年 10 月 7 日

话题:JavaScriptHTML5DevOps语言 & 开发架构

Webhint 项目提供了一种用于检查代码的可访问性、性能和安全的开源检查(Linting)工具。在创建 Web 站点和应用中,有越来越多的细节问题亟待完善。为此,Webhint 力图帮助开发人员标记这些细节。

Webhint 以命令行接口(CLI)工具和在线扫描器两种形式提供,使用在线扫描器是最快的上手方式。使用在线扫描器需要为其提供一个公开的 URL,用于运行报告并洞悉应用的运行情况。

要在开发工作流中使用 Webhint,首先需要使用 npm 安装它:

npm install hint

和许多特性丰富的工具一样,Webhint 提供了多种配置选项。最近,项目添加了一个初始化 CLI 命令,用于简化 Webhint 配置的创建:

npm create hintrc

在测试应用时,Webhint 提供三种运行环境:jsdom、Chrome 和 Edge。后两种运行环境使用了Chrome DevTools 协议,第一种运行环境使用 Node.js 环境快速地执行有限次数的检查,无需浏览器的支持。

应用的提示(hint)中可能包含大量需检查的内容。例如,http-compression提示会对应用中的每个资源执行多次请求,指定不同的头部信息,检查和验证 GET 操作返回的内容。

为支持 PWA(渐进增强式 Web 应用,Progressive Web Apps),Webhint 会分析 Web Manifest 清单文件,检查清单中的设置和准确性。

Webhint 工具也可用于验证应用的服务器端是否为某个资源返回了正确的content-type

最近,该项目添加了CSS 解析器,其中包括了对PostCSS抽象语法树(AST)的支持。

解析器还支持 TypeScript、Babel 和 Webpack。与 Webpack 的集成可用于引导摇树优化(Tree Shaking),进而改进应用的性能。与 TypeScript 和 Babel 的集成则通过检查 Webhint 配置中指定的浏览器列表,判定源码到源码的编译器(Transpiler)应该输出的最优 JavaScript 版本。

作为JS 基金会的托管项目,Webhint 使用 Apache 2 许可开源。Webhint 不仅提供了解析器的源代码,而且提供了在线扫描器的源代码欢迎开发人员通过 GitHub 提供贡献

查看英文原文: Webhint Open Source Linting Tool

JavaScriptHTML5DevOps语言 & 开发架构