#npm #registry #manager #cli

bin+lib rust-nrm

A Rust-based NPM Registry Manager for efficiently managing and switching between npm registries

4 releases

new 0.1.3 Nov 22, 2024
0.1.2 Nov 22, 2024
0.1.1 Nov 22, 2024
0.1.0 Nov 22, 2024

#604 in Development tools

39 downloads per month

MIT license

25KB
535 lines

rust-nrm

A fast and efficient NPM registry manager written in Rust 🦀

Features

  • 🚀 Fast registry switching
  • 📋 List available registries
  • ➕ Add custom registries
  • 🗑️ Remove registries
  • 🔄 Switch between registries (global/local)
  • ⚡ Test registry speeds

Installation

From Cargo

cargo install rust-nrm

From Source

git clone https://github.com/BQXBQX/rnrm.git
cd rnrm
cargo install --path .

Usage

# List all registries
rust-nrm ls

# Switch to a registry
rust-nrm use npm
rust-nrm use taobao

# Use registry for current project only
rust-nrm use npm --local

# Add a custom registry
rust-nrm add custom https://custom.registry.com/

# Remove a registry
rust-nrm rm custom

# Test registry speeds
rust-nrm test

Available Registries

Benchmark Results: rnrm vs nrm

Command Performance Comparison

Command nrm (Min, Mean, Max) rnrm (Min, Mean, Max) Performance Change (%)
ls 106.27 ms, 108.57 ms, 110.87 ms 136.21 µs, 137.92 µs, 139.85 µs -99.87% (rnrm is faster)
use 102.87 ms, 105.46 ms, 108.01 ms 1.9379 ms, 2.0982 ms, 2.2669 ms -98.02% (rnrm is faster)
add 106.83 ms, 108.76 ms, 110.57 ms 2.4322 ms, 2.6138 ms, 2.7835 ms -97.60% (rnrm is faster)
remove 95.288 ms, 97.447 ms, 99.657 ms 369.44 µs, 379.37 µs, 390.45 µs -99.61% (rnrm is faster)

Therefore, we should use rnrm!!!

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Dependencies

~14–31MB
~422K SLoC