自分で作ったクラスをrequireで読み込むとき、相対パスを書くのが面倒なので
search pathを設定できないものか、と思っていたらやる方法があった。
process.cwd()はプロジェクトのルートディレクトリ(多分nodeのプロセスのカレントディレクトリ)の絶対パスを取得できる。なのでそこから各ディレクトリへのパスを書けばOK。
exports.initSearchPath = -> process.env.NODE_PATH = [ "#{process.cwd()}/sources" "#{process.cwd()}/sources/collections" "#{process.cwd()}/sources/models" ].join(":") require("module")._initPaths()
これでrequire("hoge")とかできる!でも思いっきり非公開なAPIを使ったりしてるので非推奨です。でも便利。
参考:hokaccha.hamalog v2