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.
var main = require('require-main-filename')() // use main as an alternative to require.main.filename.
ISC