我的顾虑是将继承(甚至是多重继承)的复杂性引入本已简单的配置中。从多年的Java编程中,我学到的关键一点是避免这些方法,而使用组合(composition),这提供了更大的灵活性。
使用 tools.build 是否是解决 mono-repos 问题的更简单方法?
在原始问题的示例中,是否有一种机制来防范或者至少警告:dev/project1
包含:dev/all-projects
或另一个将别名分组在一起的别名的情况?这种分组可以深入到多少层?
是否有明确的前置规则?
是否有工具可以诊断冲突在哪里 - 可能是 -Stree 足够了,但我并不确定
别名分组将被限制在 project deps.edn 中定义的别名,还是会包含用户级别的 deps.edn(我假设排除用户级别配置将增加更多复杂性)
或许有一种避免这种情况的方法,比如有一个像 :meta-aliases
这样的东西,它可以只包含别名,而不包含其他 :meta-aliases
,但这样似乎还是在增加复杂性。
我希望能解决与 mono-repls 相关的特殊问题,而不会给 deps.edn
配置增加复杂性(尤其是避免继承或多重继承)。