In order to resolve relative module paths, in the current implementation, those modules must actually exist. Otherwise, node's module resolution logic will throw an error.
However, this causes problems in a couple situations:
Providing a mock for a module that doesn't exist on disc / isn't installed.
Marking a non-existent module as "allowable." For example, the code under test tries to load a module but catches the failure and deals with it accordingly. mockery will throw a warning if the module isn't "allowable."
In order to resolve relative module paths, in the current implementation, those modules must actually exist. Otherwise, node's module resolution logic will throw an error.
However, this causes problems in a couple situations: