diff --git a/tfjs-backend-wasm/package.json b/tfjs-backend-wasm/package.json index 447508ef154..20bd899614f 100644 --- a/tfjs-backend-wasm/package.json +++ b/tfjs-backend-wasm/package.json @@ -36,7 +36,9 @@ }, "browser": { "fs": false, - "path": false + "path": false, + "worker_threads": false, + "perf_hooks": false }, "peerDependencies": { "@tensorflow/tfjs-core": "link:../tfjs-core" diff --git a/tfjs-backend-wasm/rollup.config.js b/tfjs-backend-wasm/rollup.config.js index d29c4543639..6731490a483 100644 --- a/tfjs-backend-wasm/rollup.config.js +++ b/tfjs-backend-wasm/rollup.config.js @@ -61,10 +61,10 @@ function config({plugins = [], output = {}, tsCompilerOptions = {}}) { output: { banner: PREAMBLE, sourcemap: true, - globals: {'@tensorflow/tfjs-core': 'tf', 'fs': 'fs', 'path': 'path'}, + globals: {'@tensorflow/tfjs-core': 'tf', 'fs': 'fs', 'path': 'path', 'worker_threads': 'worker_threads', 'perf_hooks': 'perf_hooks'}, ...output, }, - external: ['crypto', '@tensorflow/tfjs-core', 'fs', 'path'], + external: ['crypto', '@tensorflow/tfjs-core', 'fs', 'path', 'worker_threads', 'perf_hooks'], onwarn: warning => { let {code} = warning; if (code === 'CIRCULAR_DEPENDENCY' || code === 'CIRCULAR' || diff --git a/tfjs-backend-wasm/src/flags_wasm.ts b/tfjs-backend-wasm/src/flags_wasm.ts index fb1bdeb50fe..c8f0f53c5e4 100644 --- a/tfjs-backend-wasm/src/flags_wasm.ts +++ b/tfjs-backend-wasm/src/flags_wasm.ts @@ -37,6 +37,12 @@ ENV.registerFlag( */ // From: https://github.com/GoogleChromeLabs/wasm-feature-detect ENV.registerFlag('WASM_HAS_MULTITHREAD_SUPPORT', async () => { + // TODO(annxingyuan): Enable node support once this is resolved: + // https://github.com/tensorflow/tfjs/issues/3830 + if (ENV.get('IS_NODE')) { + return false; + } + try { // Test for transferability of SABs (needed for Firefox) // https://groups.google.com/forum/#!msg/mozilla.dev.platform/IHkBZlHETpA/dwsMNchWEQAJ