概要
NoCo (Node.js on JavaScriptCore) は、AppleのJavaScriptCoreフレームワーク上に構築された、Node.js互換のJavaScriptランタイムです。V8やNode.js本体を組み込むことなく、多くのNode.jsスクリプトやnpmパッケージをAppleプラットフォーム上でネイティブに実行できます。
名前の由来は日本語の「鋸(のこぎり)」です。
特徴
- CommonJS / ESM対応 —
require()による完全なモジュール解決と、import/export構文のサポート - Node.js組み込みモジュール —
fs,path,crypto,http,https,http2,stream,net,url,zlib,child_process,dns,tls,vm,worker_threads等を実装 - Web Platform APIs —
Headers,Request,Response,ReadableStream,AbortController等のFetch API互換 - イベントループ —
setTimeout,setInterval,process.nextTickおよび非同期I/O - 組み込み可能 —
NoCoKitをライブラリとして自身のSwiftアプリに組み込み可能