
Research
/Security News
Mini Shai-Hulud Campaign Hits Red Hat Cloud Services npm Packages
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.
@jsprismarine/jsbinaryutils
Advanced tools
A high-performance TypeScript library for binary data manipulation in Node.js applications. JSBinaryUtils provides efficient buffer management without the overhead of repeated allocations, making it ideal for real-time applications and network protocols.
npm install @jsprismarine/jsbinaryutils
import BinaryStream from '@jsprismarine/jsbinaryutils';
const buffer = Buffer.from([0xFF, 0x00, 0x7F, 0x80]);
const stream = new BinaryStream(buffer);
const byte = stream.readByte(); // 255
const signed = stream.readSignedByte(); // 0
const short = stream.readShort(); // 32640
import BinaryStream from '@jsprismarine/jsbinaryutils';
const stream = new BinaryStream();
stream.writeByte(255);
stream.writeShort(32640);
stream.writeVarInt(12345);
const result = stream.getWriteBuffer();
readByte() / writeByte(v) - Unsigned byte (0-255)readSignedByte() / writeSignedByte(v) - Signed byte (-128 to 127)readBoolean() / writeBoolean(v) - Boolean valuereadShort() / writeShort(v) - 16-bit signed integer (BE)readShortLE() / writeShortLE(v) - 16-bit signed integer (LE)readUnsignedShort() / writeUnsignedShort(v) - 16-bit unsigned integer (BE)readInt() / writeInt(v) - 32-bit signed integer (BE)readUnsignedInt() / writeUnsignedInt(v) - 32-bit unsigned integer (BE)readTriad() / writeTriad(v) - 24-bit signed integer (BE)readTriadLE() / writeTriadLE(v) - 24-bit signed integer (LE)readUnsignedTriad() / writeUnsignedTriad(v) - 24-bit unsigned integer (BE)readFloat() / writeFloat(v) - 32-bit float (BE)readFloatLE() / writeFloatLE(v) - 32-bit float (LE)readDouble() / writeDouble(v) - 64-bit double (BE)readDoubleLE() / writeDoubleLE(v) - 64-bit double (LE)readLong() / writeLong(v) - 64-bit signed BigInt (BE)readLongLE() / writeLongLE(v) - 64-bit signed BigInt (LE)readUnsignedLong() / writeUnsignedLong(v) - 64-bit unsigned BigInt (BE)readVarInt() / writeVarInt(v) - 32-bit zigzag-encoded VarIntreadUnsignedVarInt() / writeUnsignedVarInt(v) - 32-bit unsigned VarIntreadVarLong() / writeVarLong(v) - 64-bit zigzag-encoded VarLongreadUnsignedVarLong() / writeUnsignedVarLong(v) - 64-bit unsigned VarLongread(length) - Read raw byteswrite(buffer) - Write raw bytesskip(length) - Skip bytesreadRemaining() - Read all remaining bytesgetReadBuffer() / getWriteBuffer() - Get underlying bufferssetReadBuffer(buffer, index?) - Set read buffersetWriteBuffer(buffer, index?) - Set write buffergetReadIndex() / setReadIndex(index) - Manage read positiongetWriteIndex() / setWriteIndex(index) - Manage write positionclear() - Reset streamreuse(buffer) - Reuse stream with new bufferfeof() - Check end of bufferFull API documentation with detailed method descriptions and examples is available at: https://jsprismarine.github.io/JSBinaryUtils/
JSBinaryUtils uses a dynamic buffer allocation strategy that minimizes memory overhead:
This approach significantly outperforms naive Buffer.concat() operations in high-throughput scenarios.
ISC
Contributions are welcome. Please open an issue or submit a pull request on GitHub.
FAQs
Basic binary data managing tool written in TypeScript.
The npm package @jsprismarine/jsbinaryutils receives a total of 1,367 weekly downloads. As such, @jsprismarine/jsbinaryutils popularity was classified as popular.
We found that @jsprismarine/jsbinaryutils 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.

Research
/Security News
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.

Research
/Security News
The North Korean malware loader hides in a Packagist-listed package and its GitHub branch to fetch and execute remote code in a likely Contagious Interview-style lure.

Security News
The Rust project is moving toward formal rules on LLM use in contributions after months of internal debate over maintainer burden, code quality, and contributor experience.