Определите рабочий каталог командной строки при запуске скрипта bin узла

Я создаю интерфейс командной строки узла. Он установлен глобально и использует исполняемый файл.

Я планирую открыть окно командной строки в корневом каталоге файлов, над которыми я работаю, а затем просто запустить команду, однако мне не удалось определить текущий рабочий каталог какprocess.cwd() возвращает каталог пакета узла. Первоначально я предполагал, что, поскольку код выполняется с использованием пакетного файла в качестве оболочки (то есть, как bin-файлы могут выполняться без узла в начале), то это невозможно, но coffee-script справляется с этим. Я посмотрел источник кофе-скрипта, но не смог его понять (недостаточно опытный).

Чтобы проверить это сами, создайте пакет с этим файлом package.json:

{
  "name": "test-package",
  "version": "1.0.0",
  "bin": {
    "test-package":  "./bin/test-package"
  },
  "main": "/lib/test"
}

этот файл тест-пакета в bin:

#!/usr/bin/env node

var path = require('path');
var fs   = require('fs');
var lib  = path.join(path.dirname(fs.realpathSync(__filename)), '../lib');

require(lib + '/test');

Может ли кто-нибудь пролить свет на это.

а затем попробуйте получить каталог командной строки внутри lib / test.