Skip to content

fabrix-app/spool-realtime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ace757b Â· Oct 21, 2019

History

35 Commits
May 6, 2019
Oct 6, 2019
Oct 21, 2019
Oct 6, 2019
Oct 21, 2019
Jul 9, 2018
Jul 9, 2018
Oct 21, 2019
Jul 9, 2018
Oct 5, 2019
Oct 21, 2019
Oct 21, 2019

Repository files navigation

spool-realtime

📦 Realtime Spool. Synchronize the client and server via WebSockets using Primus

Gitter NPM version Build Status Test Coverage Dependency Status Follow @FabrixApp on Twitter

Conventional Commits

Getting Started

Install

npm install --save @fabrix/spool-realtime

Configure

Then edit config/main.ts

export const main = {
  spools: [
    require('@fabrix/spool-router').RouterSpool,
    require('@fabrix/spool-express').ExpressSpool, // Or use a different Webserver Spool such as Hapi, Polka, Koa
    require('@fabrix/spool-realtime').RealtimeSpool
  ]
}

Configure

Create the config file: config/realtime.ts

export const realtime = {
  prefix: null, // The prefix to use for the primus endpoint
  primus:{
    options:{
      //these options are passed directly to the Primus constructor: https://github.com/primus/primus#getting-started
    }
  },
  plugins: {
    // Plugins are a key and a library passed to primus.use
    redis: require('primus-redis-rooms')
  }
}

Client

You can set the config path for the generated primus.js file by either setting

config.main.paths.www (common defaults for webserver spools) or through config.realtime.path which should likely be to a static directory.

You can include the primus client library as a script:

<script src="/<realtime.path>/primus.js"></script>

License

MIT