本文へスキップ
MameTechNews
フロントエンド

Node.js 26.9.0、node:ffiを既定で有効化 ネイティブ呼び出しが標準に

## POINTS

  • 26.9.0(Current)で`node:ffi`が既定になる。LTS固定の本番は、Currentへの追随とは切り分けて判断する
  • ツールチェインを26.9.0へ上げると`node:ffi`が使える。CIのバージョンピンで意図せぬ有効化が起きないか確認する
  • アドオンなしでネイティブを呼べる反面、共有ライブラリの監査と許可範囲を先に決める必要がある

Node.jsプロジェクトは9月16日、26.9.0(Current)を公開し、node:ffiモジュールを既定で有効化した。JavaScriptから共有ライブラリの関数を、C/C++アドオンを書かずに呼べる経路が、実験扱いでなくランタイムの標準機能として載る。

背景

同リリースの主な変更には、Web Workers対応、実験的DTLS API、汎用MAC API、OpenSSLプロバイダからの暗号・ハッシュ検出、仮想ファイルシステムとCJS/ESMローダの統合もある。node:benchは実装された一方、同じリリース系列で--experimental-benchフラグの裏に置かれている。

エンジニアへの影響

26系はCurrentラベルのままなので、LTSに固定した本番へすぐ上げる理由にはならない。一方、ツールチェインやローカルランタイムを26.9.0に上げると、import "node:ffi"が通るようになる。ネイティブコードを配布物やCIに持ち込む場合は、依存ライブラリの監査と、呼び出し面をどこまで許可するかを先に決める必要がある。