我目前正在构建一个react组件库,我在自己的下游应用程序中使用它。
我通过package.json
然而,我遇到了一个关于如何处理版本控制的想法,不确定如何继续。
假设<SomeComponent/>
的2.0.0版本打破了1.0.0版本。下游应用程序想要使用2.0.0版本的组件,但假设该应用程序当前使用的是1.0.0版本的<SomeComponent/>
,这会破坏兼容性。在这个场景中,应用程序不能仅仅更新package.json
。
那么我如何能够使用someecomponent从1.0.0,同时也使用DifferentComponent从2.0.0?
解决这类场景的推荐方法是什么?
我考虑过为每个组件创建一个新的repo,但这似乎是一个不合适的过度解决方案。这需要很多重复的文件。构建脚本,readmes,配置文件,etcwebpack配置文件等。
任何帮助或建议将不胜感激。谢谢!
我不知道这是否是最好的解决方案,但我以前做过双版本,为旧版本引入新功能。
假设你有1.0.0和2.0.0,你添加了一个新功能,发布了2.1.0
如果新特性与1.0.0的功能没有冲突,或者可以解决,那么您可以从2.1.0版本或特性分支中挑选提交的范围。
git checkout -b 1.1.0rc 1.0.0
git cherry-pick <SHA..range from 2.1.0>
# execute test suites
git tag 1.1.0