Skip to content

Commit ce4d3ad

Browse files
committed
worker: expose BroadcastChannel as a global
Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: #41271 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
1 parent 6486a30 commit ce4d3ad

File tree

6 files changed

+15
-2
lines changed

6 files changed

+15
-2
lines changed

.eslintrc.js

+1
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,7 @@ module.exports = {
368368
Event: 'readable',
369369
EventTarget: 'readable',
370370
MessageChannel: 'readable',
371+
BroadcastChannel: 'readable',
371372
MessageEvent: 'readable',
372373
MessagePort: 'readable',
373374
TextEncoder: 'readable',

doc/api/globals.md

+8
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,14 @@ added: v16.0.0
239239
240240
Global alias for [`buffer.atob()`][].
241241

242+
## `BroadcastChannel`
243+
244+
<!-- YAML
245+
added: REPLACEME
246+
-->
247+
248+
See {BroadcastChannel}.
249+
242250
## `btoa(data)`
243251

244252
<!-- YAML

doc/api/worker_threads.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ if (isMainThread) {
349349
added: v15.4.0
350350
changes:
351351
- version: REPLACEME
352-
pr-url: https://github.com/nodejs/node/pull/00000
352+
pr-url: https://github.com/nodejs/node/pull/41271
353353
description: No longer experimental.
354354
-->
355355

lib/.eslintrc.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ rules:
5151
# disabled with --without-intl build flag.
5252
- name: Intl
5353
message: "Use `const { Intl } = globalThis;` instead of the global."
54+
- name: BroadcastChannel
55+
message: "Use `const { BroadcastChannel } = require('internal/worker/io');` instead of the global."
5456
- name: MessageChannel
5557
message: "Use `const { MessageChannel } = require('internal/worker/io');` instead of the global."
5658
- name: MessageEvent

lib/internal/bootstrap/node.js

+2
Original file line numberDiff line numberDiff line change
@@ -251,10 +251,12 @@ if (!config.noBrowserGlobals) {
251251
MessageChannel,
252252
MessagePort,
253253
MessageEvent,
254+
BroadcastChannel,
254255
} = require('internal/worker/io');
255256
exposeInterface(globalThis, 'MessageChannel', MessageChannel);
256257
exposeInterface(globalThis, 'MessagePort', MessagePort);
257258
exposeInterface(globalThis, 'MessageEvent', MessageEvent);
259+
exposeInterface(globalThis, 'BroadcastChannel', BroadcastChannel);
258260

259261
// https://html.spec.whatwg.org/multipage/webappapis.html#windoworworkerglobalscope
260262
const timers = require('timers');

lib/internal/worker/io.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -456,7 +456,7 @@ class BroadcastChannel extends EventTarget {
456456

457457
/**
458458
*
459-
* @param {*} message
459+
* @param {any} message
460460
* @returns {void}
461461
*/
462462
postMessage(message) {

0 commit comments

Comments
 (0)