xpipe1
Use cross-platform IPC paths in Node.js.
Background
In Node.js - instead of using TCP - you also can take IPC2 to communicate to services like
- web servers (NGINX, Caddy)
- databases (redis, PostgreSQL, MongoDB)
- etc.
or to interconnect Node.js apps, Electron frontends/backends and so on.
This can lead to large speed gains.
On unixoid operating systems - e.g. Linux and OS X - we use Unix domain sockets
that are referred by file descriptors.
Windows has named pipes for it, living
in the root directory of the NPFS3, mounted under the special path \\.\pipe\.
To mitigate these differences and to to support writing portable code, xpipe was born...
Installation
npm install xpipe
Usage
const xpipe = require('xpipe');
import xpipe from 'xpipe';
xpipe.prefix
let prefix = xpipe.prefix;
console.log(`prefix: ${prefix}`);
xpipe.eq
let ipcPath = xpipe.eq('/tmp/my.sock');
console.log(`ipcPath: ${ipcPath}`);
When did Windows start accepting forward slash as a path separator?
Every Windows API/kernel ever has accepted "/" as a path separator.
So has every version of MS-DOS beginning with DOS 2.0 (the first version
to support subdirectories).
It's only been in command lines that "/" was not allowed when it had
already been used as a switch delimiter in MS-DOS 1.0 (introduced by IBM).
This behaviour could be bypassed (at least on modern Windows systems) by including
the path in double quotation marks:
- cd c:/Windows and cd /Windows work4
- dir ./ /B fails but dir "./" /B works
Further articles: