JavaScript 特性分析器
一个Node.js命令行应用程序,用于在JavaScript文件中找出标准图书馆的特性.
> npx @financial-times/js-features-analyser analyse --file bundle.js
目录
使用量
npm install @financial-times/js-features-analyser
限制
此工程完全不编译语法 .
创建一个针对您支持的语法级别( ES3/5/ 2017/ 2019) 的捆绑, 然后通过此工具通过捆绑 .
首先创建捆绑的原因是,如果你正在将代码编译到另一个语法级别,所编译的代码将包含与未编译版本不同的内置. E.G. 汇编 async function() { await 7;} 到ES5将使编译的产出具有 Promise 在其中,这个工具将检测到它.
这个工程并不知道正在分析的代码中的类型,这意味着当它看到一个被使用内建物的名称时,它会将所有与该名称相匹配的内建物添加到它的输出中. E.G. 分析 [1].reduce(function(){}) 不仅会发现 Array.prototype.reduce 如果使用,它也会错误地发现: Int8Array.prototype.reduce, (中文(简体) ), Uint8Array.prototype.reduce, (中文(简体) ), Uint8ClampedArray.prototype.reduce, (中文(简体) ), Int16Array.prototype.reduce, (中文(简体) ), Uint16Array.prototype.reduce, (中文(简体) ), Int32Array.prototype.reduce, (中文(简体) ), Uint32Array.prototype.reduce, (中文(简体) ), Float32Array.prototype.reduce,以及 Float64Array.prototype.reduce 也使用过.
捐款
这个模块有一套完整的单元测试,通过ESLint验证. 您可以在打开拉动请求前使用下列命令来检查您的代码 :
npm test # verify JavaScript code with ESLint and run the tests
出版
新版本的模块由CI自动发布,用于处理每一起发生在 master 树枝.
联系人
如果您对本单元有任何问题或评论,或需要帮助使用,请 提出问题。 。 。 .
许可证
这个软件在 麻省理工学院许可证。 。 。 .