我们正在构建一个 Node.js 应用程序。当我们通过基于主干的开发实践持续交付时,我们将只有一个分支和一个构建可以使用。
出于包括法律要求在内的多种原因,我们预计在我们开发下一个功能版本的任何时候都会为当前发布的版本提供补丁版本。更重要的是:有些功能和/或活动无法进入下一个功能版本。
显然,任何新功能都必须从补丁版本中排除,任何我们不会制作的下一个功能版本的东西都必须从下一个版本中排除。
为了测试(和发布测试版),我们正在构建和测试产品的三个版本,比如 1.0、1.1 和 1.2。
使用功能切换来排除功能。
问题:我如何才能排除仅对下一个功能版本有效的依赖项,甚至稍后将其放入node_modules
构建期间?
如果是两行,我会尝试使用package.json
.
有没有其他方法可以确保:
- 1.1 及之后的依赖项没有进入 1.0
- 1.2 及之后的依赖项没有进入 1.0 和 1.1
- require(...) 不会因为不存在的依赖项而失败(使用功能切换包装???)
有没有办法package.json
在每个版本的构建过程中避免保留三个并选择“恰到好处”的一个?