mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-07-25 10:54:56 +02:00
`@tensorflow/tfjs-node` はネイティブバイナリを含むパッケージで、rolldown bundle
に取り込まれると、bundle 後の `__dirname` 解決により `@mapbox/node-pre-gyp` の
`find()` がパッケージ root の `package.json` を見失い、たまたまヒットする
`packages/backend/package.json` を validate しようとして `is not node-pre-gyp
ready` Error を永続的に吐く問題があった。
`sharp` / `re2` / `@napi-rs/*` 等の同性質のネイティブモジュールは既に
`externalModules` に登録されているため、同じ扱いで `@tensorflow/tfjs-node` も
external 化することで、ランタイムでは通常通り node_modules から解決され、
node-pre-gyp の path 解決も正しく動作する。
再現条件: NSFW 判定機能(`sensitiveMediaDetection !== 'none'`)を有効にした
インスタンスで、起動後の画像処理ごとに `AiService.detectSensitive` →
`await import('@tensorflow/tfjs-node')` が走るたびに発生。
機能影響: なし(NSFW 判定機能は維持)。エラーログのノイズが解消される。
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>