Skip to content

pnpm/pacquet

Repository files navigation

pacquet

Experimental package manager for node.js written in rust.

TODO

  • .npmrc support (for supported features readme.md)
  • CLI commands (for supported features readme.md)
  • Content addressable file store support
  • Shrink-file support in sync with pnpm-lock.yml
    • Frozen lockfile
    • Update outdated lockfile
    • Creating lockfile
  • Workspace support
  • Full sync with pnpm error codes
  • Generate a node_modules/.bin folder
  • Add CLI report

Debugging

TRACE=pacquet_tarball just cli add fastify

Testing

# Install necessary dependencies
just install

# Start a mocked registry server (optional)
just registry-mock launch

# Run test
just test

Benchmarking

Install between multiple revisions

First, you to start a local registry server, such as verdaccio:

verdaccio

Then, you can use the script named integrated-benchmark to run the various benchmark, For example:

# Comparing the branch you're working on against main
just integrated-benchmark --scenario=frozen-lockfile my-branch main
# Comparing current commit against the previous commit
just integrated-benchmark --scenario=frozen-lockfile HEAD HEAD~
# Comparing pacquet of current commit against pnpm
just integrated-benchmark --scenario=frozen-lockfile --with-pnpm HEAD
# Comparing pacquet of current commit, pacquet of main, and pnpm against each other
just integrated-benchmark --scenario=frozen-lockfile --with-pnpm HEAD main
# See more options
just integrated-benchmark --help