nari
v0.0.10
Published
[](https://badge.fury.io/js/nari)
Maintainers
Readme
nari
A lockfile-less JavaScript package manager with reproducible installs.
Goals:
- Developer productivity with existing JavaScript ecosystem and tooling
- The best performance achievable with Node.js
- Good explanation of package manager behavior - why the dependency is placed here or there during installation, what factors contributed to this decision and what to do to make the dependency singular for the project
- Fine-grained control of package manager behavior for various types of workflows
- Experimental features that have good compatibility with current JavaScript ecosystem
Implemented experimental features:
- Reproducible installs without lockfiles.
lockTimefield is used instead in thepackage.jsonfile to fixate the time of install. On subsequent installs the highest dependency versions are picked that were published beforelockTime. When new dependencies added to the project that were published afterlockTimetheir ranges are resolved to the minimal satisfying version (typically the ranges of newly added dependencies are the latest at the moment when they are added to thepackage.json).
Usage:
- Install
nariglobally first:
npm i -g nari- Run installation within your Node.js project directory:
nari- Run script
foofrompackage.json:
nari foo- Add/remove packages to your project:
nari add lodash- Get command line help:
nari -h