Skip to content
/ js-ws Public

Websocket Transport Library for TypeScript/JavaScript Applications

License

Notifications You must be signed in to change notification settings

MatrixAI/js-ws

Repository files navigation

js-ws

WebSocket library for TypeScript/JavaScript applications.

This is built on top of the ws library, providing a multiplexed WebStreams API on top of WebSocket.

Installation

npm install --save @matrixai/ws

Browser Usage

To use WebSocketClient in a browser environment, you will need to polyfill:

A good choice for a buffer polyfill is feross/buffer

To polyfill perf_hooks, you can alias the perf_hooks using your bundler of choice with a file containing the following code:

const { performance } = globalThis;
export { performance };

Development

Run nix develop, and once you're inside, you can use:

# install (or reinstall packages from package.json)
npm install
# build the dist
npm run build
# run the repl (this allows you to import from ./src)
npm run tsx
# run the tests
npm run test
# lint the source code
npm run lint
# automatically fix the source
npm run lintfix

Docs Generation

npm run docs

See the docs at: https://matrixai.github.io/js-ws/

Publishing

# npm login
npm version patch # major/minor/patch
npm run build
npm publish --access public
git push
git push --tags

License

js-ws is licensed under Apache-2.0, you may read the terms of the license here.