Introduction
Bundle npm packages and their complete dependency closure into tarballs you can carry across an air gap.
packall downloads a package and everything it depends on, and writes the lot as
tarballs you can carry onto a restricted network and import into a registry there.
packall react@19.2.8That produces react@19.2.8.tgz, laid out exactly the way a registry serves it — so
importing needs no path rewriting. Ask for something with a dependency tree and the whole
tree comes with it:
packall react-dom@19.2.8react-dom@19.2.8.tgz holds react-dom, react and scheduler.
When you need this
You are behind a firewall, an air gap, or a review process, and npm install cannot
reach the internet. Somebody has to get the packages in.
npm pack gives you one package without its dependencies. Downloading tarballs by hand
means walking the dependency graph yourself. packall walks it for you, verifies every
checksum, and records what it did in a manifest a security review can read.
Install
npm i -g @packall/cliThis installs two names for the same tool: packall, and npmb as a shorter alias.
The docs use packall throughout.
To run it once without installing:
npx @packall/cli react@19.2.8Try it without installing anything
/run is a real terminal running the real CLI, in a browser tab. Paste any
command from these docs into it. Nothing is installed, nothing is uploaded, and the
bundles it produces are downloadable.
It is the fastest way to see what a command does before you commit to it.