
Security News
Happy Birthday, Shai-Hulud
It has been one year since Shai-Hulud made its first appearance on npm.
compact-encoding-bitfield
Advanced tools
compact-encoding codec for bitfields. Uses a variable length encoding that is ABI compatible with cenc.uint.
npm install compact-encoding-bitfield
const cenc = require('compact-encoding')
const bitfield = require('compact-encoding-bitfield')
const buffer = cenc.encode(bitfield(8), 0b1110_1011)
// <Buffer fd eb 00>
cenc.decode(bitfield(8), buffer)
// <Buffer eb>
Bitfields are represented as buffers. For each byte, the least significant bit denotes the first bit and the most significant bit denotes the last bit. For example, bit 0 will be the least significant bit of the first byte and bit 15 will be the most significant bit of the second byte.
The encoding will convert numbers to buffers. Buffers may also be passed directly and will be returned on decode.
Depending on length, the bitfield is stored using a variable number of bytes:
length < 8: 1 byte with no prefix.length <= 16: 2 bytes with a 0xfd prefix.length <= 32: 4 bytes with a 0xfe prefix.length <= 64: 8 bytes with a 0xff prefix.length must not exceed 64 bits.
Apache 2.0
FAQs
Compact codec for bitfields
We found that compact-encoding-bitfield demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
It has been one year since Shai-Hulud made its first appearance on npm.

Research
/Security News
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.

Security News
GitHub Actions now supports cache-mode, a least-privilege control on the Actions cache aimed at the cache poisoning technique behind recent compromises.