Serve Vite's development or preview server over IPC. Supports Unix domain sockets and Windows named pipes.
The IPC server is a lightweight proxy that forwards connections to Vite's TCP port.
This avoids dealing with conflicting or dynamic ports when other local processes need to talk to your app.
It's essentially a more reliable alternative to strictPort.
Warning
This plugin is still in active development. It has not been thoroughly tested across a variety of configurations yet. Please file an issue if you encounter any shenanigans.
Add serveIPC to your Vite config:
import { defineConfig } from "vite";
import { serveIPC } from "vite-plugin-serve-ipc";
export default defineConfig({
plugins: [
serveIPC({ path: "test.sock" })
]
});Detailed documentation can be found in types.d.ts.
The path for the IPC proxy to listen on.
path: "test.sock"The provided path will be resolved against the current working directory. On Windows \\?\pipe\ will be prepended.
The example will listen at $(pwd)/test.sock on Unix-like platforms and \\?\pipe\X:\current-working-directory\test.sock on Windows.
path: {
unix: "test.sock",
windows: "\\\\.\\pipe\\test"
}If the provided windows name doesn't start with \\.\pipe\ or \\?\pipe\ then \\?\pipe\ will be prepended.
path: {
unix: "test.sock",
windows: null
}Custom ListenOptions to pass to the IPC proxy:
listenOptions: {
readableAll: true,
writableAll: true,
// etc.
}The path, host, port, reusePort and ipv6Only options will be ignored.
- vitejs/vite#674
node:net- IPC support- unix(7) - sockets for local interprocess communication
- Microsoft Win32 apps - Named pipes
See releases.