This plugin just exposes httpServer without any dependencies. In theory, you can use any websocket framework you like.
vite.config.ts
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vitest/config';
import ws from 'vite-sveltekit-node-ws';
export default defineConfig({
plugins: [sveltekit(), ws()]
});
hooks.server.ts
import {useServer} from "vite-sveltekit-node-ws";
import {WebSocketServer} from 'ws'
useServer((server) => {
const ss = new WebSocketServer({server})
ss.on('connection',a=>{
a.on('message',e=>{
a.send(`echo: ${e}`)
})
})
},(url:string)=>{
// It is optional
// You can block some requests to prevent them from being processed by SveltetKit
// return (url.startWidth('hello'))
return false
})
import wsPlugin, {useServer} from "vite-sveltekit-node-ws";
serverHandle: ( server ) => void
pathHandle?: ( pathname: string ) => boolean