
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Magipack is a tiny library with absolutely no dependencies and good test coverage that allows you to pack any (well, theoretically any) number of boolean and integer values into a single BigInt value.
You may use this to:
?first=true&third=true&fourth=true vs ?flags=13 - the latter is exactly the same presented as bits in a 4-bit integer: 1101[0, 2^size in bits - 1] into a single oneOr anything else really. Let me know (or make a PR) if you find any interesting use cases for the library - I'll include it in this README.
npm install magipack
or
yarn install magipack
type: 'bool', size: 1type: 'uint', size: <number>type: 'sint', size: <number>Sizes are in bits.
import Magipack from 'magipack';
// Configure available options
const magipack = new Magipack([
{name: 'boolean', type: 'bool', size: 1},
{name: 'uint_single', type: 'uint', size: 1}, // single-bit unsigned int
{name: 'uint_3bit', type: 'uint', size: 3}, // 3-bit unsigned integer in range of [0, 7]
{name: 'signed_4bit', type: 'sint', size: 4}, // 3-bit signed int + 1 bit per sign
]);
magipack.read(BigInt(314)); // 1001,110,1,0 in binary - commas split values
console.log(
magipack.get('boolean'), // false
magipack.get('uint_single'), // 1n
magipack.get('uint_3bit'), // 6n
magipack.get('signed_4bit'), // -1n
);
magipack.set('uint_3bit', BigInt(0));
console.log(
magipack.get('uint_3bit'), // 0n
);
console.log(
magipack.toNumber(), // 290n
magipack.toString(), // '290'
);
The library is written in TypeScript so you may benefit from built-in typings if you use TS in your project, or just use an IDE supporting static typing, such as VSCode.
Since bitwise operations and compact presentation of your options is really hard to debug, library throws errors here and there.
Watch out for those.
FAQs
Value packing library
We found that magipack demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.