スクリプト中でrequireされたかどうかを調べる

requireされたか、nodeコマンドから実行されたか、というのをスクリプトから判定する方法を忘れてしまって調べ直した。

require.mainが自身の参照ならnodeコマンドから実行された、と判定できるようだ。

if (require.main === module) {
  // nodeコマンドから実行された
} else {
  // requireされた
}

Accessing the main module - Node.js Documentation

When a file is run directly from Node.js, require.main is set to its module. That means that you can determine whether a file has been run directly by testing.