Semver is busted because it makes builds non-deterministic. Building the same code tomorrow may fail if a third party dependency publishes a change violating semver.
For example: https://github.com/bower/bower/issues/1404#issuecomment-4876...
I unfortunately can only complain, I have no solution to offer.