developit / developit/web-worker

Blob URL does not work on Node.js

Open
#30 3 comments 9 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
1.2k
Forks
57
PR merge metrics
No merged PRs in 30d

Description

The readme says:

> Worker() accepts a module URL, **Blob URL** or Data URL

But running the following on Node.js 18 results in a crash:

```js
import Worker from 'web-worker';

const blob = new Blob(['foo'], {type: 'text/javascript'});
const url = URL.createObjectURL(blob);
const worker = new Worker(url, {type: 'module'});
```

```
node:internal/errors:466
ErrorCaptureStackTrace(err);
^

TypeError [ERR_INVALID_URL_SCHEME]: The URL must be of scheme file
at new NodeError (node:internal/errors:377:5)
at Object.fileURLToPath (node:internal/url:1484:11)
at new Worker (/Users/sindresorhus/dev/oss/make-asynchronous/node_modules/web-worker/cjs/node.js:108:19)
at file:///Users/sindresorhus/dev/oss/make-asynchronous/x.js:5:16
at ModuleJob.run (node:internal/modules/esm/module_job:198:25)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:409:24)
at async loadESM (node:internal/process/esm_loader:85:5)
at async handleMainPromise (node:internal/modules/run_main:61:12) {
code: 'ERR_INVALID_URL_SCHEME'
}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.