requizzle
Swizzle a little something into your require() calls.
esmock
provides native ESM import and globals mocking for unit tests
proxyquire
Proxies nodejs require in order to allow overriding dependencies during testing.
typed-inject
Type safe dependency injection framework for TypeScript