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.