【发布时间】:2020-08-29 06:22:11
【问题描述】:
我目前正在本地机器上使用 Node v12.14.0 开发我的包,但我从 Dependabot 收到的 PR 让我思考这如何影响我的库的兼容性。
- 如果我使用 v12 功能开发我的库,如果在具有冲突性重大更改的其他版本中运行,它应该无法工作,对吧?
- 我从来没有在我的 package.json 中指定引擎限制,这是我应该做的吗?还是我不应该担心的事情?
- 如果有多个有效的 LTS 版本,我应该使用哪一个?
我只是想知道是否有任何“标准”/推荐的方法来处理这个问题,或者我是否应该决定哪种方法最适合我而不用担心。
【问题讨论】:
-
视情况而定。源代码是实际交付的,还是你有某种蒸腾(Babel,TypeScript)?您想要或声称支持早期版本的 Node 吗? FWIW,在我发布到 NPM 的内容中,我尝试针对多个版本的 Node(当前为 10、12、14 - 参见例如github.com/textbook/fauxauth#compatibility)进行测试。
-
@jonrsharpe 在这种特定情况下,我正在运送源代码,但我在 TS 中有其他项目,我运送编译版本。目前我并没有声称支持任何东西,因为我在今天之前没有考虑过这一点,我只是想知道是否有人因此而对我的包裹有问题。使用多个版本进行测试可能不是一个坏主意,因为这是肯定的。
-
在这种情况下,发送源代码并仅在一个版本中进行测试,请使用您想要支持的 最旧 版本(我建议使用 10 个,每个 nodejs.org/en/about/releases)。否则,您碰巧使用的是不太相关的。
标签: node.js npm package.json lts