跳到主要内容

2 篇博文 含有标签「node」

查看所有标签

· 阅读需 2 分钟
Harry Chen

最近一段时间,我们发现越来越多的库移除了 Node.js v14 的支持。

有些库是升级的大版本,有些库仅仅只升级 minor 版本,这使得依赖他们的业务、模块乃至框架都很难信任社区的 SemVer 版本约定了。

为了保持 Midway 的单测正常运行,从 v3.12.0 开始,Midway 移除了 Node.js v14 的 CI,这意味着我们无法测试 Node.js v16 以下社区库的兼容性,只能靠社区库更新的 Changelog 以及我们的经验来保证。

如果我们发现某些库只支持特定版本的 Node.js,我们会在 package.json 中进行版本限制,如果你发现某些库的版本更新无法在低版本 Node.js 中运行,且 Midway 的组件没有进行限制,请通知我们。

最后再次提醒,如果没有强需求,请使用 Node.js v16 以上版本。

· 阅读需 2 分钟
Harry Chen

由于最近 node v18 标记为 LTS,社区相关的相关的依赖都移除了 node v12 的支持,导致 Midway 的基建,单测已经无法正常的执行。

虽然 Midway 框架本身支持在 Node v12 下运行,但是例如 jest 等工具的最新版本已经无法执行。经过内部讨论后决定,在 Github Action 中移除 Midway 以及相关库的 Node v12 的单测,为此,相关的依赖会进行调整,包括:

  • 1、脚手架的变更
    • @midwayjs/cli 升级为 ^2.0.0
    • jest@types/jestts-jest 升级为 v29 版本
    • typescript 升级为 4.8.x
  • 2、Midway 本身
    • 移除 node v12 的 github action 执行
    • 鉴于部分环境的情况,继续经验支持 node v12 的运行,有 node v12 的问题可以 issue 提问

依赖的变更可以参考:

"devDependencies": {
"@midwayjs/cli": "^2.0.0",
"@types/jest": "^29.2.0",
"jest": "^29.2.2",
"ts-jest": "^29.0.3",
"typescript": "~4.8.0"
}