Node.js v24.2.0 リリース、import.meta.main サポート
Node.js v24.2.0 がリリースされ、import.meta.mainプロパティをサポート。ES モジュールで現在のモジュールがプロセスのエントリポイントかを判定できるブール値を提供。CommonJS のrequire.main === moduleと同等の機能を ES モジュールで実現。
import.meta.mainは、現在のモジュールが Node.js プロセスの開始点として実行されている場合にtrue、他のモジュールからインポートされている場合にfalseを返す。この機能により、ライブラリとスクリプトの両方で使用できるデュアルパーパスモジュールの作成が可能。
javascript
export function foo() {
return "Hello, world";
}
function main() {
const message = foo();
console.log(message);
}
if (import.meta.main) main();
// 他のモジュールからimportされた場合、mainは実行されないこの機能は Deno と Bun でも既にサポートされており、JavaScript ランタイム間での相互運用性が向上。同じ API を使用してエントリポイント判定が可能になり、クロスランタイム対応のライブラリ開発が容易に。