Skip to content

Add pack: npm pack in Rust - #46

Open
gronke wants to merge 7 commits into
mainfrom
feat/pack
Open

gronke wants to merge 7 commits into
mainfrom
feat/pack

Conversation

@gronke

@gronke gronke commented Sep 27, 2026

Copy link
Copy Markdown
Owner

npm-utils pack [DIR] [--dry-run] [--json] [--pack-destination DIR] and npm_utils::pack::{list, tarball} to resemble npm pack without Node.

@gronke gronke changed the title Add pack: npm pack in Rust- #45 Add pack: npm pack in Rust Sep 27, 2026
@gronke
gronke force-pushed the feat/pack branch 7 times, most recently from 061df3a to 633d27c Compare October 5, 2026 14:32
File selection follows npm-packlist 11.3.0 and the tarball layout pacote's, both pinned by fixtures recorded from npm 12.1.0.
gronke added 6 commits October 6, 2026 10:23
A port of minimatch 10.2.5, pinned by a fixture recorded from the JavaScript; `pack` matches its rules with it.
Negation groups evaluate as zero-width checks instead of regex lookaheads, and every budget errors by name.
…llbacks

Five more fixture trees are recorded against npm 12.1.0, and tests/pack_npm.rs runs on the default leg too.
Twelve git packages and twenty registry tarballs are held to npm 12.1.0's listing and to the registry's bytes.
ci/sealed-node runs npm and minimatch from a digest-pinned node container without network; the committed records reproduce in CI.
The grammar draws each pattern with a witness path; the live differential draws from the same grammar.
Properties carve out minimatch's own behaviour where it differs, with a comment each.
The pack-e2e job runs 4096 cases per property.
Every control has a test; the `extract` and `pack` module docs state the known limits.
The intro names what `pack` reads and writes; the listing, the veto, the tarball and the tests are bullets, the budgets a table.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant