
Require.main.filename is great for figuring out the entry point for the current application. This can be combined with a module like pkg-conf to, as if by magic, load top-level configuration.
Unfortunately, require.main.filename sometimes fails when an application is executed with an alternative process manager, e.g., iisnode.
require-main-filename is a shim that addresses this problem.
Node.js is an event-based server-side JavaScript engine.