socketio-live-reload

in browser live reload using socket.io

Usage no npm install needed!

<script type="module">
  import socketioLiveReload from 'https://cdn.skypack.dev/socketio-live-reload';
</script>

README

socketio-live-reload

in browser live reload using socketIO

Installation

npm:

$ npm install socketio-live-reload --save-dev

API

server-side


// defaults ~ created in your cwd automatically on
// first run and can be edited in ./SLR.json

{
  "server":{ // slr server config
    "port": 8888,
    "cache": "no-cache"
  },
  "watch": ["./*"], //watched files
  "options": {
    "ignored": [ //ignored files
      "./node_modules/*"
    ],
    "interval": 100,
    "depth": 99,
    "ignoreInitial": false,
    "followSymlinks": true,
    "cwd": "./",
    "disableGlobbing": false,
    "usePolling": true,
    "binaryInterval": 300,
    "alwaysStat": false,
    "awaitWriteFinish": {
      "stabilityThreshold": 2000,
      "pollInterval": 100
    },
    "ignorePermissionErrors": false,
    "atomic": 100
  },
  "io": { //socket.io options
    "pingInterval": 10000,
    "pingTimeout": 5000,
    "transports": [
      "polling",
      "websocket"
    ]
  }
}

//demo
const slr = require('socketio-live-reload');

slr.init();

client-side

//defaults

{
  port: 8888, // socket.io server port
  URL: 'http://localhost', // socket.io server url
  reload: true, // auto reload enabled
  reloadTime: 1000, // time before reload
  debug: true //debug toolbar
}


/**
 *  sync ~ init SLR
 *  @param {object} config ~ optional client side config
 *  @param {function} cb ~ optional callback
 **/

slr.init(config, cb)


<!-- DEMO -->

<!-- load styles if using debug toolbar -->
<link rel="stylesheet" href="//localhost:8888/SLR.css">



<!-- pre-packed with socket.io slim-->
<script src="//localhost:8888/SLR_full.js"></script>


<!-- or to load socket.io seperate -->
<script src="//localhost:8888/socket.io/socket.io.slim.js"></script>
<script src="//localhost:8888/SLR.js"></script>

<!-- init SLR with default options-->
<script>slr.init()</script>