I haven't experienced a DI 'nightmare' myself yet, but then again, we have integration tests to cover for that.

Try Nest.js and you'll know true DI "nightmares".