
Product
Introducing Rust Support in Socket
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.
Use cross-platform IPC[2] paths in node.
In node - instead of utilizing TCP - you can use IPC to communicate to other services like...
...or to interconnect node applications, Electron frontends/backends etc.
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.
Unlike the former, Windows utilizes named pipes living
in the root directory of the NPFS[3], mounted under the special path \\.\pipe\.
To mitigate these differences and to to support writing better cross-platform code, xpipe was born...
const xpipe = require('xpipe');
let prefix = xpipe.prefix;
console.log( `prefix: ${prefix}` );
/*
[empty string] on Linux and OS X
"//./pipe/" on Windows
*/
let ipcPath = xpipe.eq('/tmp/my.sock');
console.log( `ipcPath: ${ipcPath}` );
/*
"/tmp/my.sock" on Linux and OS X
"//./pipe/tmp/my.sock" on Windows
*/
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:
Further articles:
[1]: xpipe stands for xp (cross-platform) IPC path equalizer
[2]: inter-process communication, see https://en.wikipedia.org/wiki/Inter-process_communication
[3]: named pipe file system (in-memory)
[4]: on Windows "/" without a leading drive letter represents the root of the current drive
FAQs
Use cross-platform IPC paths in Node.js.
The npm package xpipe receives a total of 137,589 weekly downloads. As such, xpipe popularity was classified as popular.
We found that xpipe demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.
Product
Socket’s precomputed reachability slashes false positives by flagging up to 80% of vulnerabilities as irrelevant, with no setup and instant results.
Product
Socket is launching experimental protection for Chrome extensions, scanning for malware and risky permissions to prevent silent supply chain attacks.