4 ms·
I like this quiet a lot, it fits very nicely in the go stack. Absent this article is a discussion of alternatives to renaming. Reading the article would hint t
by bbatha 9y ago
I like this quiet a lot, it fits very nicely in the go stack.
Absent this article is a discussion of alternatives to renaming. Reading the article would hint that a semver major bump would just leave you high and dry! This is certainly true in some ecosystems like Ruby or Java < 9. But other ecosystems have solved this problem at the language level. Javascript, Rust, and others allow you to import multiple versions of a module so long as you don't expose types from that module in your public interfaces (not enforced by JS -- but by convention). You still reach the problem the article references once you have those types in your public interfaces or they use singletons. That means that your langauge's package manager needs to handle these dependencies differently (peer dependencies) giving you more flexibility at the cost of additional complexity in package management.