A fast, reliable package manager for Node.js, built with Rust. RNP provides npm-like functionality with improved performance and reliability.
rnp init— Initialize apackage.jsonfilernp init --yes— Initialize with default values (no prompts)rnp install <package>— Simulated install of a packagernp list— List installed packages (coming soon)~/.rnp/cache— Automatic tarball caching for faster installs
git clone https://github.com/a-khushal/rnp.git
cd rnp
cargo build --release./target/release/rnp init
./target/release/rnp init -y
./target/release/rnp install <package-name>
./target/release/rnp listTo make rnp available anywhere in your terminal, add this to your shell configuration file (~/.bashrc, ~/.zshrc, or ~/.config/fish/config.fish):
For Bash/Zsh:
alias rnp='$HOME/<pwd>/rnp/target/release/rnp'For Fish:
alias rnp='$HOME/<pwd>/rnp/target/release/rnp'Then reload your shell or run:
source ~/.bashrc # or ~/.zshrcAfter setting up the alias, you can use rnp directly:
rnp init
rnp install <package-name>- Basic package installation
- Caching System
- TAR ball caching in
~/.rnp/cache - Cache invalidation logic
- Checksum verification
- TAR ball caching in
- Lockfile Support
-
package-lock.jsongeneration - Deterministic installs from lockfile
-
--no-package-lockflag
-
- Node Modules
- Nested
node_modulesstructure - Peer dependencies support
- Dependency hoisting
- Nested
- CLI Improvements
- Progress bars
- Colorized output
-
--verboseand--quietflags
- Dependency Resolution
- Peer dependencies
- Optional dependencies
- Workspaces/monorepo support
-
rnp uninstall- Remove packages -
rnp update- Update packages -
rnp run- Run package scripts -
rnp audit- Security audits
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.