diff --git a/package-lock.json b/package-lock.json index 86619de..e2bf46b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1080,7 +1080,6 @@ "version": "7.11.2", "resolved": "https://verdaccio.lossless.one/@babel%2fruntime/-/runtime-7.11.2.tgz", "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==", - "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } @@ -2821,8 +2820,7 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://verdaccio.lossless.one/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base": { "version": "0.11.2", @@ -2894,6 +2892,11 @@ "tweetnacl": "^0.14.3" } }, + "big-integer": { + "version": "1.6.48", + "resolved": "https://verdaccio.lossless.one/big-integer/-/big-integer-1.6.48.tgz", + "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==" + }, "binary-extensions": { "version": "1.13.1", "resolved": "https://verdaccio.lossless.one/binary-extensions/-/binary-extensions-1.13.1.tgz", @@ -2991,7 +2994,6 @@ "version": "1.1.11", "resolved": "https://verdaccio.lossless.one/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3080,6 +3082,30 @@ } } }, + "broadcast-channel": { + "version": "3.2.0", + "resolved": "https://verdaccio.lossless.one/broadcast-channel/-/broadcast-channel-3.2.0.tgz", + "integrity": "sha512-LaFTMPcULFJ84ROED6TNaKmp4pnJohPbuQ8RmQ2plB7U4YgVkHdl58cgP6bK+zUYo5EIydACMH6JalA2nac/3g==", + "requires": { + "@babel/runtime": "^7.7.2", + "detect-node": "^2.0.4", + "js-sha3": "0.8.0", + "microseconds": "0.2.0", + "nano-time": "1.0.0", + "rimraf": "3.0.2", + "unload": "2.2.0" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://verdaccio.lossless.one/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, "brorand": { "version": "1.1.0", "resolved": "https://verdaccio.lossless.one/brorand/-/brorand-1.1.0.tgz", @@ -3672,8 +3698,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://verdaccio.lossless.one/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { "version": "1.6.2", @@ -4434,6 +4459,11 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://verdaccio.lossless.one/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" + }, "diff": { "version": "4.0.2", "resolved": "https://verdaccio.lossless.one/diff/-/diff-4.0.2.tgz", @@ -5406,8 +5436,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://verdaccio.lossless.one/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "1.2.12", @@ -6018,7 +6047,6 @@ "version": "7.1.6", "resolved": "https://verdaccio.lossless.one/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6567,7 +6595,6 @@ "version": "1.0.6", "resolved": "https://verdaccio.lossless.one/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -6576,8 +6603,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://verdaccio.lossless.one/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "invariant": { "version": "2.2.4", @@ -6972,6 +6998,11 @@ "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", "dev": true }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://verdaccio.lossless.one/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://verdaccio.lossless.one/js-tokens/-/js-tokens-4.0.0.tgz", @@ -7453,6 +7484,11 @@ "to-regex": "^3.0.2" } }, + "microseconds": { + "version": "0.2.0", + "resolved": "https://verdaccio.lossless.one/microseconds/-/microseconds-0.2.0.tgz", + "integrity": "sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==" + }, "miller-rabin": { "version": "4.0.1", "resolved": "https://verdaccio.lossless.one/miller-rabin/-/miller-rabin-4.0.1.tgz", @@ -7526,7 +7562,6 @@ "version": "3.0.4", "resolved": "https://verdaccio.lossless.one/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -7586,6 +7621,14 @@ "dev": true, "optional": true }, + "nano-time": { + "version": "1.0.0", + "resolved": "https://verdaccio.lossless.one/nano-time/-/nano-time-1.0.0.tgz", + "integrity": "sha1-sFVPaa2J4i0JB/ehKwmTpdlhN+8=", + "requires": { + "big-integer": "^1.6.16" + } + }, "nanoid": { "version": "2.1.11", "resolved": "https://verdaccio.lossless.one/nanoid/-/nanoid-2.1.11.tgz", @@ -7949,7 +7992,6 @@ "version": "1.4.0", "resolved": "https://verdaccio.lossless.one/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -8220,8 +8262,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://verdaccio.lossless.one/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-key": { "version": "2.0.1", @@ -9247,8 +9288,7 @@ "regenerator-runtime": { "version": "0.13.7", "resolved": "https://verdaccio.lossless.one/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", - "dev": true + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" }, "regenerator-transform": { "version": "0.14.5", @@ -10822,6 +10862,15 @@ "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", "dev": true }, + "unload": { + "version": "2.2.0", + "resolved": "https://verdaccio.lossless.one/unload/-/unload-2.2.0.tgz", + "integrity": "sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==", + "requires": { + "@babel/runtime": "^7.6.2", + "detect-node": "^2.0.4" + } + }, "unpipe": { "version": "1.0.0", "resolved": "https://verdaccio.lossless.one/unpipe/-/unpipe-1.0.0.tgz", @@ -11139,8 +11188,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://verdaccio.lossless.one/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { "version": "5.2.2", diff --git a/package.json b/package.json index 7817907..6b92be7 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,8 @@ }, "dependencies": { "@apiglobal/typedrequest": "^1.0.53", - "@apiglobal/typedrequest-interfaces": "^1.0.15" + "@apiglobal/typedrequest-interfaces": "^1.0.15", + "broadcast-channel": "^3.2.0" }, "files": [ "ts/**/*", diff --git a/ts/dees-comms.classes.deescomms.ts b/ts/dees-comms.classes.deescomms.ts index 661ae01..3723417 100644 --- a/ts/dees-comms.classes.deescomms.ts +++ b/ts/dees-comms.classes.deescomms.ts @@ -1,6 +1,11 @@ import { TypedRequest } from '@apiglobal/typedrequest'; import * as plugins from './dees-comms.plugins'; +let BroadcastChannel = globalThis.BroadcastChannel; +if (!BroadcastChannel) { + BroadcastChannel = plugins.BroadCastChannelPolyfill as any; +} + /** * a comm class for client side communication between workers and tabs. */ diff --git a/ts/dees-comms.plugins.ts b/ts/dees-comms.plugins.ts index 61e9633..79a3a93 100644 --- a/ts/dees-comms.plugins.ts +++ b/ts/dees-comms.plugins.ts @@ -3,3 +3,10 @@ import * as typedrequestInterfaces from '@apiglobal/typedrequest-interfaces'; import * as typedrequest from '@apiglobal/typedrequest'; export { typedrequestInterfaces, typedrequest }; + +// thirdparty scope +import { BroadcastChannel as BroadCastChannelPolyfill } from 'broadcast-channel'; + +export { + BroadCastChannelPolyfill +};