{"id":22837,"library":"vite-plugin-socket-io","title":"vite-plugin-socket.io","description":"A Vite plugin that integrates a Socket.IO server into the Vite dev server, enabling real-time WebSocket communication during development. Version 1.0.2 is the latest stable release, updated infrequently. It wraps socket.io and attaches it to the Vite HTTP server, allowing developers to define server and socket event handlers directly in the Vite config. Differentiators: minimal configuration, automatic WebSocket injection into Vite's HMR pipeline, and support for custom socket event callbacks.","status":"active","version":"1.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/vite-plugin-socket-io/vite-plugin-socket-io","tags":["javascript","vite-plugin","socket.io","socket","socketio","vite"],"install":[{"cmd":"npm install vite-plugin-socket-io","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-socket-io","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-socket-io","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency for Socket.IO server functionality","package":"socket.io","optional":false}],"imports":[{"note":"The plugin is ESM-only; CommonJS require will fail.","wrong":"const vitePluginSocketIO = require('vite-plugin-socket.io')","symbol":"default","correct":"import vitePluginSocketIO from 'vite-plugin-socket.io'"},{"note":"Named import is incorrect; the module only has a default export.","wrong":"import { vitePluginSocketIO } from 'vite-plugin-socket.io'","symbol":"vitePluginSocketIO","correct":"import { default as vitePluginSocketIO } from 'vite-plugin-socket.io'"},{"note":"TypeScript users often incorrectly value-import when only type is needed.","wrong":"import { Socket } from 'socket.io' (if value not needed)","symbol":"type imports","correct":"import type { Socket } from 'socket.io'"}],"quickstart":{"code":"// vite.config.js\nimport { defineConfig } from 'vite';\nimport vitePluginSocketIO from 'vite-plugin-socket.io';\n\nexport default defineConfig({\n  plugins: [vitePluginSocketIO()]\n});","lang":"javascript","description":"Basic setup to add Socket.IO server to Vite dev server with no extra events."},"warnings":[{"fix":"Use a separate Socket.IO server for production, or conditionally exclude the plugin.","message":"The plugin only works in Vite's dev server, not during build.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Use default import syntax: import vitePluginSocketIO from 'vite-plugin-socket.io'","message":"The default export is not named; named imports will be undefined.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Switch to ES modules or use dynamic import().","message":"CJS require() is not supported; the package is ESM-only.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Run: npm install socket.io","message":"Socket.IO must be installed as a peer dependency.","severity":"gotcha","affected_versions":">=0.0.1"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Change to: import vitePluginSocketIO from 'vite-plugin-socket.io'","cause":"Using named import instead of default import.","error":"TypeError: vitePluginSocketIO is not a function"},{"fix":"Run: npm install socket.io","cause":"Socket.IO not installed as a dependency.","error":"Error: Cannot find module 'socket.io'"},{"fix":"Change to: import vitePluginSocketIO from 'vite-plugin-socket.io'","cause":"Using require() instead of import for an ESM-only module.","error":"Error: Dynamic require of \"vite-plugin-socket.io\" is not supported"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}