问题标签 [jscodeshift]

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 投票
1 回答
1094 浏览

node.js - Material-UI Migration Helper: codemod-script?

I'm updating from Material-UI 0.x to 1.0.

The docs for migration-helper say to run:

I've never used jscodeshift before, and I've never seen the notation before, so I would like to get some advice on how to use this. :) Googling jscodeshift codemod-script brings up nothing relevant.

What does codemod-script need to be?

0 投票
2 回答
7650 浏览

javascript - 此实验语法需要启用解析器插件:'exportDefaultFrom'

This experimental syntax requires enabling the parser plugin: 'exportDefaultFrom'

我在尝试通过使用 facebook 中的迁移工具将整个应用程序从 react 移动v15.6到时遇到上述错误。v16.2jscodeshift

0 投票
0 回答
79 浏览

reactjs - 无法更新到 16 反应(jscodeshift -t --parser=flow)

然后我使用jscodeshift -t --parser=flow- 我有一个错误“无法读取未定义的属性'进程'”。Flow 项目。降级流解析器的尝试不成功

0 投票
1 回答
443 浏览

javascript - jscodeshift抛出错误:不匹配类型字符串

我正在尝试改变它:

进入这个:

所以我为jscodeshift编写了以下codemod:

但我得到了错误:

0 投票
3 回答
488 浏览

jscodeshift - 如何在检查模式下启动 jscodeshift?

这曾经是可运行的,但最近我遇到了以下问题。

通过运行以下命令:

节点 --inspect-brk ./node_modules/.bin/jscodeshift mod.js 文件。

我遇到了这个问题

0 投票
1 回答
431 浏览

javascript - 如何在 Jscodeshift 中正确导出 const

我正在使用 Jscodeshift 编写我的第一个 codemod。我目前的目标是导出一个分配了特定标识符的 const。

因此,如果我针对每个名为stuff的变量,它将在脚本运行后被命名导出。

在:

出去:

这是我所拥有的精简版。它有点工作,但它看起来很脆弱并且有许多缺点。

AST

这将导致(注意不需要的新行)

如果将此源提供给脚本,这也将严重失败。

在:

出去:

我非常确信这n.insertBefore("export");确实是罪魁祸首,我想使用 jscodeshift 构建器自己构建命名导出,但真的无法让它工作。

这里有什么建议吗?

0 投票
2 回答
669 浏览

javascript - 带有 jscodeshift 的 Codemod - 从导入中删除逗号

我正在尝试编写一个小的 codemod 来重构一些代码。考虑一下我有这样的事情:

我想将其更改为:

作为第一步,我试图mod2从我成功完成的第一行导入中删除,但我无法删除mod1.

到目前为止,我的代码片段如下所示:

请帮忙。

0 投票
1 回答
696 浏览

javascript - 创建一个 codemod 以向数组添加一个新元素

我一直在努力将新对象添加到具有jscodeshift. 我的问题是我无法弄清楚在获得VariableDeclarator. 我需要在数组中获取最后一个元素,然后才能插入一个新节点。这是代码:

我在AST explorer上玩它

0 投票
1 回答
669 浏览

reactjs - 使用流项目为 javascript 运行 react-codemod 时出错

在使用流的 javascript 项目中运行时遇到错误。

npx react-codemod 重命名-不安全-生命周期

如何让这个 codemod 正常运行。这是将项目的 React 版本升级到 16.9+ 所必需的

0 投票
2 回答
320 浏览

jscodeshift - 如何将对象包装到函数中使用 jscodeshift 返回此对象

假设我有以下文件

如何使用 jscodeshift 转换此文件,以便将对象包装成如下函数:

我的主要问题是如何使用api.jscodeshift.arrowFunctionExpression(),尤其是如何创建函数体。因为我认为我需要做的就是ObjectExpression用具有ObjectExpression作为其主体的函数替换。