fix(backend): NSFW検出モデルが file:// で読み込めない問題を修正 (#17528)

fix(backend): NSFW検出モデルがfile://スキームで読み込めない問題を修正

#17501 で `@tensorflow/tfjs-node` を bundle 外に出した結果、bundle 内の
`nsfwjs` が抱える `@tensorflow/tfjs-core` と external な tfjs-node が使う
tfjs-core が別インスタンスに分裂し、tfjs-node が登録する `file://` IOHandler を
nsfwjs 側が共有できなくなった。このため nsfwjs のモデル読み込みが HTTP handler
(node-fetch) にフォールバックし `URL scheme "file" is not supported` で失敗する。

`nsfwjs` と `@tensorflow/*` も external 化し、単一の tfjs-core インスタンスに
統一することで file:// IOHandler を共有させる。

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
SASAPIYO (SASAGAWA Kiyoshi) 2026-06-03 08:48:32 +09:00 committed by GitHub
commit d5ab42267c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 9 additions and 1 deletions

View file

@ -66,7 +66,14 @@ export default defineConfig((args) => {
'@nestjs/microservices/microservices-module',
'@nestjs/microservices',
/^@napi-rs\/.*/,
'@tensorflow/tfjs-node',
// @tensorflow/tfjs-node はネイティブバインディングを持つため external 必須 (#17501)。
// あわせて nsfwjs と @tensorflow/* 全体を external にする。bundle 内の nsfwjs が
// 抱える @tensorflow/tfjs-core と、external な tfjs-node が使う tfjs-core が
// 別インスタンスに分裂すると、tfjs-node が登録する file:// IOHandler を nsfwjs 側が
// 共有できず、モデル読み込みが HTTP handler(node-fetch) にフォールバックして
// 「URL scheme "file" is not supported」で失敗するため。
/^@tensorflow\/.*/,
'nsfwjs',
'mock-aws-s3',
'aws-sdk',
'nock',