33

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

 5 years ago
source link: http://www.infoq.com/cn/news/2018/10/webhint-linting-tool?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK