- Added
unsafelyIgnoreCertificateErrors
option to DenoWorker to let users skip SSL verification.
- Added
location
option to DenoWorker to let users customize location.href and scoping for caches
- Updated
removeEventListener
to also removeexit
events.
- Make the minimum Node version 12
- It's now possible to specify an object for
denoUnstable
, which can let you enable more fine-grained unstable flags.
new DenoWorker(echoScript, {
denoUnstable: {
temporal: true,
broadcastChannel: true,
},
});
- Added the
denyNet
option to DenoWorker.- This matches the
--deny-net
option in the Deno CLI: https://docs.deno.com/runtime/manual/basics/permissions#permissions-list - Thanks to @andreterron for contributing this! (#41)
- This matches the
- Update base64 imports to support Deno std 0.210.0.
- Thanks to @andreterron for contributing this! (#40)
- Added the ability to close the websocket connection to the Deno subprocess with
.closeSocket()
.- Thanks to @andreterron for contributing this! (#39)
- Fixed an issue where
DenoWorker
would throw an error when the child Deno process runs out of memory.
- Added the
spawnOptions
configuration option.- Useful for customizing how Node spawns the Deno child process.
- Thanks to @andreterron for contributing this! (#31)
- Added the
exit
event.- This event is triggered on
DenoWorker
instances when the Deno child process exits. - Available via the
onexit
property or by usingworker.addEventListener("exit", listener)
.
- This event is triggered on
- Added the
denoNoCheck
option toDenoWorker
for the--no-check
flag.- Thanks to @derekwheel for contributing this! (#13)
- Added the
denoV8Flags
,denoImportMapPath
,denoCachedOnly
, anddenoLockFilePath
options toDenoWorker
for the--v8-flags
,--import-map
,--cached-only
, and--lock
flags.- Thanks to @derekwheel for contributing this! (#12)
- Updated to support Deno 1.12.
- Deno 1.12 added the
MessageChannel
andMessagePort
APIs which causedMessagePort
instances to be untransferrable.
- Deno 1.12 added the
- Added the
denoUnstable
option toDenoWorker
to enable unstable Deno features.
- Updated to support Deno 1.4.
- Deno 1.4 changed their WebSocket API and so we no longer need the polyfill.
- Fixed to force the Deno subprocess to close when terminating the worker.
- Forcing the process to be killed seems to be the most reasonable in the case that we're treating these like headless browser tabs.
- When we try to gracefully kill the process, Deno might ignore it if it has things like infinite loops or open handles.
- On Linux/Unix, this means sending a
SIGKILL
signal to the Deno subprocess. - On Windows, this means using
taskkill
with the/T
and/F
options.
- Fixed to use the global
Object.hasOwnProperty()
function instead of relying on objects to have it themselves.
- Fixed to log stdout and stderr in UTF-8.
- Added the ability to get the stdout and stderr streams from the worker and choose whether to automatically log them to the console.
- Added a global WebSocket polyfill since Deno doesn't implement the WebSocket API.
- Fixed the WebSocket implementation to allow setting
binaryType
.
- Added a global WebSocket polyfill since Deno doesn't implement the WebSocket API.
- Exported MessageChannel and MessagePort.
- Added
polyfillMessageChannel()
to polyfill the MessageChannel and MessagePort objects on the global object.
- Fixed an issue where permissions were being passed incorrectly.
- Added the ability to transfer
MessagePort
instances between the host and worker.
- Added the
DenoWorker
class.- It is a Web Worker-like API that gives you the ability to run arbitrary scripts inside Deno.
- Supports the structure-clone algorithm for Maps, Sets, BigInts, ArrayBuffers, Errors, and circular object references.
- Requires that Deno be installed on the system.