问题标签 [codemod]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
24 浏览

javascript - jsCodemod 的更新变量引用问题

我对 jscodeshift 很陌生。

目标: 我正在尝试构建一个执行以下操作的 codemod:

  1. 删除旧导入 -> 完成
  2. 添加新的导入 -> 完成
  3. 更新旧导入的所有引用 -> 不确定如何执行此操作

我正在为此任务使用转换导入库。

源代码:

代码:

问题: 如何更新代码中对QuerytoiQuery的引用?

0 投票
2 回答
88 浏览

javascript - 在大型 javascript 代码库中使用 codemods 将所有 let 变量声明更改为 const

我想在代码库中使用的约定是:

然而,代码中有很多地方是这样写的:

我想写一个codemod,可能使用JSCodeshift,可以将变量声明的第二种样式更改为第一种。我一直在对 AST 进行一些研究,并一直在使用 AST explorer。但是,我无法访问抽象语法树中的变量声明符“kind”。

我尝试过的一个例子是:

任何帮助或方向将不胜感激!谢谢!

0 投票
0 回答
48 浏览

javascript - 如何使用 codemod (jscodeshift) 内联更改 require 语句?

嗨,我正在尝试编写一个 codemod,它将我的 require 语句从文件顶部移动到类构造函数内部。

文件顶部的这些 require 语句需要很长时间,仅当该 API 至少调用一次时才使用。因此,无论如何,Node.js 都会在进程级别缓存 require 。我试图require在箭头函数内移动语句。

像下面

我在实现这一点时遇到了麻烦,因为我不知道如何选择定义的“惰性”函数,然后移动顶部需求。

非常感谢任何帮助谢谢