-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: support auto migrate your v3 form #73
base: master
Are you sure you want to change the base?
Conversation
c120bb6
to
a9831ce
Compare
@AshoneA 麻烦解决下冲突,其他 +1 👍 |
a9831ce
to
56d44dd
Compare
已经rebase最新master |
56d44dd
to
0676c4d
Compare
@vagusX 因为昨天第一次写 |
0676c4d
to
0383b9f
Compare
如果转换中发现不通过会回滚吗? |
有一定的风险,默认不要开启,给个命令行参数开启。 |
默认是不开启的,只有额外执行才能转换 |
对的,而且这是一条单独的命令,只会转换 |
额, 不通过指的是?因为其实我只会对符合规则的 |
我认为应该是将这个特性标注为 实验性特性,告知用户如果出现替换导致运行问题,请撤销 codemod 带来修改之类 |
转换失败后应该自动降级回原来的兼容包模式并且 console 告知当前状态转换失败,如果可以也可以列举转换失败的原因,这个过程除了开头的命令参数不需要用户额外参与。 |
其实不太能做到,因为只有转换之后实际运行的时候才会知道有没有转换成功。我最初的想法是想让用户在迁移的时候能够有个工具帮他们做掉一些重复的工作,只能算是一个工具配合手动迁移使用,剩下的工作还是需要自己来手动完成。 |
这样会有非常多的答疑成本,用户转化完成后总是希望代码可以正常运行。如果我们的逻辑会有疏漏,使用时也不一定能够立刻发现。可以看看弄一些模式匹配,如果是符合某些条件再执行自动转换。要么不转,转完就能符合预期的跑。如果需要运行时 debug 找原因反而就提高用户的迁移成本了。 |
add
--migrateform
to auto migrate old form