From 73da360001558a10b6e0cf509cda2ff6a266e984 Mon Sep 17 00:00:00 2001 From: Moshe Brevda Date: Fri, 1 May 2026 16:15:52 +0300 Subject: [PATCH 1/2] add worker loader to allow worker to be found after bundling --- index.js | 4 ++-- lib/workerLoader.js | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 lib/workerLoader.js diff --git a/index.js b/index.js index 6380f95..fb28acc 100644 --- a/index.js +++ b/index.js @@ -3,7 +3,6 @@ const { version } = require('./package.json') const { EventEmitter } = require('events') const { Worker } = require('worker_threads') -const { join } = require('path') const { pathToFileURL } = require('url') const { wait } = require('./lib/wait') const { @@ -12,6 +11,7 @@ const { } = require('./lib/indexes') const buffer = require('buffer') const assert = require('assert') +const { getWorkerPath } = require('./lib/workerLoader') const kImpl = Symbol('kImpl') @@ -52,7 +52,7 @@ function createWorker (stream, opts) { const { filename, workerData } = opts const bundlerOverrides = '__bundlerPathsOverrides' in globalThis ? globalThis.__bundlerPathsOverrides : {} - const toExecute = bundlerOverrides['thread-stream-worker'] || join(__dirname, 'lib', 'worker.js') + const toExecute = bundlerOverrides['thread-stream-worker'] || getWorkerPath() const worker = new Worker(toExecute, { ...opts.workerOpts, diff --git a/lib/workerLoader.js b/lib/workerLoader.js new file mode 100644 index 0000000..b242b9f --- /dev/null +++ b/lib/workerLoader.js @@ -0,0 +1,10 @@ +const { isMainThread } = require('worker_threads') + +// Only runs when spawned as a Worker +if (!isMainThread) require('./worker.js') + +function getWorkerPath () { + return __filename +} + +module.exports = { getWorkerPath } From 503e1ba8455d493e88f671410ab441d069c20d5f Mon Sep 17 00:00:00 2001 From: Moshe Brevda Date: Fri, 1 May 2026 17:51:36 +0300 Subject: [PATCH 2/2] Update lib/workerLoader.js Co-authored-by: Matteo Collina --- lib/workerLoader.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/workerLoader.js b/lib/workerLoader.js index b242b9f..d79ff1a 100644 --- a/lib/workerLoader.js +++ b/lib/workerLoader.js @@ -1,3 +1,5 @@ +'use strict' + const { isMainThread } = require('worker_threads') // Only runs when spawned as a Worker