![pnpm 9.5 Introduces Catalogs: Shareable Dependency Version Specifiers](https://cdn.sanity.io/images/cgdhsj6q/production/c06a5b74512bcc6da29d38cef96a454fa947810d-1024x1024.webp?w=400&fit=max&auto=format)
Security News
pnpm 9.5 Introduces Catalogs: Shareable Dependency Version Specifiers
pnpm 9.5 introduces a Catalogs feature, enabling shareable dependency version specifiers, reducing merge conflicts and improving support for monorepos.
arbundles
Advanced tools
Readme
A library for creating, editing, reading and verifying bundles.
Note: Gateways currently only index bundles up to 250mb. Creating bundles larger than this could lead to them not being indexed. The new gateway implementation will provide infinite bundle limits. If you wish to upload a transactions >250mb submit a standard transaction via arweave-js.
See ANS-104 for more details.
Using npm:
npm install arbundles
Using yarn:
yarn add arbundles
import { bundleAndSignData, createData } from "arbundles";
const dataItems = [
createData("some data"),
createData("some other data")
];
const signer = new ArweaveSigner(jwk);
const bundle = await bundleAndSignData(dataItems, jwk);
It's as simple as that! All the binary encoding is handled for you.
import { createData } from "arbundles";
const signer = new ArweaveSigner(jwk);
const dataItem = createData("some message", signer);
// Get owner in base64url encoded string
const owner = dataItem.owner;
// Sign a single DataItem
await dataItem.sign(jwk);
const response = dataItem.sendToBundler();
const bundle = await bundleAndSignData(dataItems, jwk);
// Get by index
const byIndex = bundle.get(0);
// Get by transaction id
const byId = bundle.get("hKMMPNh_emBf8v_at1tFzNYACisyMQNcKzeeE1QE9p8");
// Get all DataItems
const all = bundle.items;
const bundle = await bundleAndSignData(dataItems, jwk);
// Convert bundle to Arweave transaction
const tx = await bundle.toTransaction(arweave, jwk);
// Add some more tags after creation.
tx.addTag('MyTag', 'value1');
tx.addTag('MyTag', 'value2');
await arweave.transactions.sign(tx, jwk);
await arweave.transactions.post(tx);
import { Bundle } from "arbundles";
const data = await arweave.transactions.getData("hKMMPNh_emBf8v_at1tFzNYACisyMQNcKzeeE1QE9p8", { decode: true });
const bundle = new Bundle(Buffer.from(data));
This API is experimental so avoid use in production. There's one issue that exists that may affect it's overall functionality and could lead to breaking changes.
The file API stores the items in the filesystem meaning you can bundle more items without hitting the NodeJS memory limit.
Docs coming soon...
FAQs
Unknown package
We found that arbundles demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 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.
Security News
pnpm 9.5 introduces a Catalogs feature, enabling shareable dependency version specifiers, reducing merge conflicts and improving support for monorepos.
Security News
A threat actor on BreachForums is selling an unverified npm vulnerability for account takeover, but npm has not officially confirmed the existence of this security concern.
Security News
Cyber insurance rates are dropping as the market matures, according to a new report projecting global premiums to reach $43 billion by 2030, driven by international market uptake and growth in the SME sector.