A fun package manager client
A very minimal implementation of an npm
client that has
very few features. Designed for performance and correctness.
Is compatible with the public NPM servers
funpm install
will install from the current funpm-shrinkwrap.json
file in the current working directory.
The suggested workflows are:
git clone a-project
and run funpm install
to downloadgit checkout a-branch
and run funpm install
to downloadIf you want to install new modules; use funpm update
instead.
funpm update
will update node_modules
, package.json
and
funpm-shrinkwrap.json
with a new module.
It will do a pre-flight npm ls
to ensure that the tree is
in a good shape before doing any mutations.
You run funpm update module@version
to update a single module.
This will install the module at the version you asked and update
the package.json
and funpm-shrinkwrap.json
file.
funpm ls
will show the current logical tree for your
node_modules on disk and tell you if it agrees or disagrees with
the funpm-shrinkwrap.json
file.
There is no funpm shrinkwrap
command; It is build into update
;
Each time you update a module, we update the shrinkwrap file.
npm install funpm -g
npm test