
Security News
Feross on TBPN: How North Korea Hijacked Axios
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.
@source-health/js-bridge
Advanced tools
This is a low-level library that facilitaties communication between web workers orwindows using a simple Promise-based API
The first step of using the Bridge is to declare a channel that identifies the two parties. This library currently supports WindowChannel, which enables communication between two Windows.
Then, you can initialize the host:
import { Bridge, WindowChannel } from '@source-health/js-bridge'
const channel = new WindowChannel({
localWindow: window,
remoteWindow: frame.contentWindow,
expectedOrigin: 'https://my.origin',
})
const host = Bridge.host(channel)
host.connect().then(() => {
console.log('connected')
})
And initialize the guest:
import { Bridge, WindowChannel } from '@source-health/js-bridge'
const channel = new WindowChannel({
localWindow: window,
remoteWindow: window.parent,
expectedOrigin: '*',
})
const guest = Bridge.guest(channel)
host.connect().then(() => {
console.log('connected')
})
Once both are intialized, you can start communicating!
Events are fire-and-forget notifications that can be broadcast from one side of the bridge, and observed from the other.
On the host:
bridge.on('someEvent', (data) => console.log(Data))
On the guest:
bridge.broadcast('someEvent', { key: 'value' })
Note that events can be broadcast from either side. Guests can receive events from the host, and host can receive events from the guest. There is no notification of an event being received. The protocol only emits the event.
Methods are bidirectional request/response call pairs. Calling methods can accept arguments and return values. All calls are asynchronous at the protocol layer.
On the host:
const bridge = Bridge.host(channel, {
methods: {
token: () => 'VerySecureValue'
}
})
On the guest:
const guest = Bridge.guest(channel)
const token = await guest.call('token')
// VerySecureValue
Methods have a default timeout of 5s (5000ms), which can be configured when instantiating the Bridge.
FAQs
Zero-dependency typescript library for cross-frame communication
The npm package @source-health/js-bridge receives a total of 69 weekly downloads. As such, @source-health/js-bridge popularity was classified as not popular.
We found that @source-health/js-bridge demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.

Security News
OpenSSF has issued a high-severity advisory warning open source developers of an active Slack-based campaign using impersonation to deliver malware.

Research
/Security News
Malicious packages published to npm, PyPI, Go Modules, crates.io, and Packagist impersonate developer tooling to fetch staged malware, steal credentials and wallets, and enable remote access.