How we use dependency injection with TypeScript at Orus

Curiously, dependency injection is not something that we often see in the JavaScript ecosystem.
Still, it's a powerful pattern that can help you make your code more flexible and easier to test, if implemented properly.
After a lot of iterations, we've come up with a dependency injection system that works well for us at Orus. The point of this article is not to cover exactly how dependency injection works, but rather to share our learnings in building it.