setup-socket.io

/** * @method initIO Initiate io instance * @param server Server * @param origin string * @returns socketio.Server */ function initIO(server: Server, origin: string): socketio.Server;

Usage no npm install needed!

<script type="module">
  import setupSocketIo from 'https://cdn.skypack.dev/setup-socket.io';
</script>

README

Setup Socket.IO Build Status

Functions:

/**
 * @method initIO Initiate io instance
 * @param server Server
 * @param origin string
 * @returns socketio.Server
 */
function initIO(server: Server, origin: string): socketio.Server;
/**
 * @method createNamespace Create namespace of io
 * @param nsp string
 * @returns Namespace
 */
function createNamespace(nsp: string): Namespace;

Example:

// ES6
import dotenv from "dotenv";
import { createServer } from "http";
import express from "express";
import { Socket } from "socket.io";
import io, { createNamespace, initIO } from "setup-socket.io";

dotenv.config();

const ORIGIN = process.env.ORIGIN || "*";

const app = express();
const server = createServer(app);

// Init io
initIO(server, ORIGIN);

// Create client namespace
const client = createNamespace("/client");

io.on("connection", (socket: Socket) => {
    socket.on("your-event", (message) => {
        console.log(message);
        console.log("Cookies:", socket.request.cookies);
    });
});

client.on("connection", (socket: Socket) => {
    socket.on("your-event", (message) => {
        console.log(message);
        console.log("Cookies:", socket.request.cookies);
    });
});