非死book JS 工具包:jscodeshift
jscodeshift 是一个用于在多 JS 文件运行 codemod 的工具包,它提供:
-
一个 runner,它可在每个传递给它的文件之间提供转换,还能输出转换文件的数量。
-
recast 的包装,提供不同的 API。Recast 是一个 AST-to-AST 转换工具,并且会尽可能地保护代码的原有风格。
示例代码:
// Adding a method to all Identifiers jscodeshift.registerMethods({ logNames: function() { return this.forEach(function(path) { console.log(path.node.name); }); } }, jscodeshift.Identifier); // Adding a method to all collectionsjscodeshift.registerMethods({ findIdentifiers: function() { return this.find(jscodeshift.Identifier); } }); jscodeshift(ast).findIdentifiers().logNames(); jscodeshift(ast).logNames(); // error, unless `ast` only consists of Identifier nodes
本文由用户 xg48 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!