The vi object is passed because if there's a version mismatch in a pnpm
workspace between this package and its consumer, a different vitest will
initialize these mock functions and you wouldn't be able to reset/clear
mocks
It will return a logger wrapped in an object, under two keys:
one with the mock type to let you use them as mocks, and one with the real
Logger type so you can pass it around. Both are the same object instance.
The vi object is passed because if there's a version mismatch in a pnpm workspace between this package and its consumer, a different vitest will initialize these mock functions and you wouldn't be able to reset/clear mocks
It will return a logger wrapped in an object, under two keys: one with the mock type to let you use them as mocks, and one with the real Logger type so you can pass it around. Both are the same object instance.