@bonfire-xmpp/verse
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

Verse

Modern XMPP for the modern web.

What is this?

Verse is a JavaScript/TypeScript XMPP library forked from Stanza used in the bonfire XMPP client.

XML stanzas are converted to-and-fro JSON, meaning you won't have to work with XML unless you explicitly want to.

Extending functionality can be done in two ways, depending on how core the changes are:

  • Changing the original sources
  • Writing a plugin

Plugins can be added from third-party code as well, and are more suited for adding additional functionality. The idea with plugins is to extend existing types, add more XML/JSON translations, and emit a new event. See: Creating Plugins

Installing

npm install @bonfire-xmpp/verse

Echo Client Demo

import * as XMPP from 'stanza';

// Config can be setup after instantiation with updateConfig()
const client = XMPP.createClient({
    jid: 'echobot@example.com',
    password: 'hunter2',

    // If you have a .well-known/host-meta.json file for your
    //  domain, the connection transport config can be skipped.
    //
    // Manually running autodetection of these transports can 
    //  be done with client.discoverBindings('server.test')
    transports: {
        websocket: 'wss://example.com:5281/xmpp-websocket',
        bosh: 'https://example.com:5281/http-bind'
    }
});

client.on('session:started', () => {
    client.getRoster();
    client.sendPresence();
});

client.on('chat', msg => {
    client.sendMessage({
        to: msg.from,
        body: 'You sent: ' + msg.body
    });
});

client.connect();

Documentation

Related Modules

These are related modules that may be useful to users of this library:

Name Description Source
stanza-shims Runtime shims used by StanzaJS for node, browsers, and React Native. Source
webrtc-adapter Shims browsers to provide a consistent WebRTC API. Source

License

MIT

Portions of Verse are derived from prior works. See NOTICE file for details.

Why fork?

The original stanza library was used as a part of the bonfire XMPP client. However, modifications to the library were relatively often necessary to meet downstream demands.

Package Sidebar

Install

npm i @bonfire-xmpp/verse

Homepage

stanzajs.org

Weekly Downloads

2

Version

1.0.0

License

MIT

Unpacked Size

1.29 MB

Total Files

281

Last publish

Collaborators

  • 00drip
  • misterupkeep