モジュール側(呼び出し先)から実行スクリプト(呼び出し元)のディレクトリのパスを獲得する

こういうのを
./app.js

var path = require('path');
var waf  = require('w-a-f');
var wf   = waf();

wf.use(require( __dirname + '/middleware/warn' )())
  .use(require( __dirname + '/middleware/nyan' )())
  .use(require( __dirname + '/middleware/guu'  )())
;

こういうふうにしたい

var path = require('path');
var waf  = require('w-a-f');
var wf   = waf();

wf.use('warn')
  .use('nyan')
  .use('guu' )
;

呼び出されるモジュールから呼び出し側のスクリプトのパスが認識できれば、上のような省略可能だけど、呼び出されるモジュールで __dirname は使えない。ので

./node_modules/w-a-f/index.js

var dirRunScript = path.dirname( process.argv[1] );
var middleware   = require(path.join( dirRunScript, 'middleware', middlewareName ))();

で取得する。

|-- app.js * 実行スクリプト
|-- middleware
|   |-- guu.js
|   |-- nyan.js
|   `-- wan.js
`-- node_modules
    `-- w-a-f
        |-- index.js * 呼び出されるモジュール

実際のコードはここにある

もっとスマートな方法あるのかな?