我们将有 60k 行代码 TypeScript (Node.js) 的仓库迁移至 ESM,结果单元测试快了 4 倍

2022-12-26 19:33:16 +08:00
 logto

经过三次尝试,我们终于成功地将所有的 Node.js 代码从 CJS 迁移到原生 ESM ,并且单元测试的 CI 大幅减少。

简单介绍一下之前的状况(你可能在 repo 设置或工具链上有不同的选择,但核心步骤和概念应该是一样的):

顺带一提,我们的项目 Logto 是一个开源的身份 (auth) 解决方案。

由于文章篇幅过长,我们分成了上下两篇。感兴趣的朋友可以移步 dev.to 查看:

3128 次点击
所在节点    分享创造
5 条回复
Aloento
2022-12-27 00:39:53 +08:00
我不好说
pseudo
2022-12-27 00:47:25 +08:00
@Aloento 不好说咱就别说?
Aloento
2022-12-27 00:54:09 +08:00
@pseudo 你们可以把之前从 JS 迁移到 TS 的过程也补一下吗(如果还没有相关文章的话),有的话可以分享一下吗,谢谢
free9fw
2022-12-27 08:46:18 +08:00
也就 import 和 export 方式改一下,代码行数又有什么关联呢
codehz
2022-12-27 13:57:33 +08:00
@free9fw 规模上去了才有比较的空间啊,小规模测试的话很难说 esm 有什么优势(

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/904813

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX