Minimal, blazing fast Node.js script runner

Overview

nrr

Minimal, blazing fast Node.js script runner.

Why?

nrr initializes and resolves scripts way faster than package managers. It achieves this by providing the largest feature coverage possible while keeping it simple and performant.

Benchmark of nrr, npm, yarn, pnpm, and bun running a simple echo script
Command Mean [ms] Min [ms] Max [ms] Relative
nrr 5.7 ± 0.4 5.1 8.0 1.00
bun 7.8 ± 0.5 7.2 9.4 1.37 ± 0.13
yarn 146.3 ± 1.3 145.0 149.7 25.79 ± 1.93
npm 159.9 ± 2.2 155.8 164.5 28.19 ± 2.13
pnpm 223.1 ± 1.8 220.2 225.7 39.33 ± 2.94

In addition, nrr provides a better-looking display of project details and the command being run than most, and also prints this information to stderr instead of stdout like some of the package managers do (erroneously).

Installation

Nix

Add the overlay or package from the github:ryanccn/nrr flake to your own system flake. Alternatively, install the package declaratively:

$ nix profile install 'github:ryanccn/nrr#nrr'

Cargo

$ cargo install --git https://github.com/ryanccn/nrr.git

Build from source

$ git clone https://github.com/ryanccn/nrr.git
$ cd nrr
$ cargo install --path .

Compatibility modes

By providing a flag -c/--compat {npm,yarn,pnpm,bun} to nrr when running scripts, nrr can emulate the environments constructed by these package managers. Each package manager has a unique set of environment variables that they make available and nrr does its best to emulate them.

npm_config_* environment variables are not emulated. nrr is not a package manager.

Compatibility with other tools

nrr has compatibility functionality that patches npm_execpath so that tools like npm-run-all2 use it instead of package managers for running sub-scripts. This may cause unexpected behavior when npm_execpath is used for non-script running purposes, so open an issue if you encounter any bugs.

License

GPLv3

You might also like...
A blazing fast and easy to use TRPC-like server for Rust.

rspc 🚧 Work in progress 🚧 A blazing fast and easy to use TRPC-like server for Rust. Website Example You define a trpc router and attach resolvers to

Starkli (/ˈstɑːrklaɪ/), a ⚡ blazing ⚡ fast ⚡ CLI tool for StarkNet powered by 🦀 starknet-rs 🦀

starkli Starkli (/ˈstɑːrklaɪ/), a ⚡ blazing ⚡ fast ⚡ CLI tool for StarkNet powered by 🦀 starknet-rs 🦀 Installation The package will be published to

⚡ Blazing fast async/await HTTP client for Python written on Rust using reqwests

Reqsnaked Reqsnaked is a blazing fast async/await HTTP client for Python written on Rust using reqwests. Works 15% faster than aiohttp on average RAII

⚡ Blazing ⚡ fast ⚡ compiler for Cairo, written in 🦀 Rust 🦀

Cairo 1.0 🐺 ⚡ Blazing ⚡ fast ⚡ compiler for Cairo, written in 🦀 Rust 🦀 Report a Bug - Request a Feature - Ask a Question Getting Started Prerequisi

Blazing-fast and yet Sleuth cameraman to www*  😎⚡✨
Blazing-fast and yet Sleuth cameraman to www* 😎⚡✨

Haylxon 🔥 🦀 SHOOT BEFORE THE BLINK || Haylxon, A tool embodying the K1SS philosophy that allows you to take screenshots of webpages/URLs at lightnin

pyrevm Blazing-fast Python bindings to revm

pyrevm Blazing-fast Python bindings to revm Quickstart make install make test Example Usage Here we show how you can fork from Ethereum mainnet and s

⚡️Blazing Fast⚡️ CLI tool to get Bible verses with Rust 🦀

bible.rs This is a simple command line tool that accesses bible-api.com to print Bible verses in the terminal Installation brew install wzid/tap/bible

Blazing fast tool to benchmark Starknet sequencers 🦀

Gomu Gomu no Gatling Blazing fast tool to benchmark Starknet sequencers 🦀 . Installation From source git clone https://github.com/keep-starknet-stran

⚡️ Blazing fast terminal file manager written in Rust, based on async I/O.

Yazi - ⚡️ Blazing Fast Terminal File Manager Yazi ("duck" in Chinese) is a terminal file manager written in Rust, based on non-blocking async I/O. It

Owner
Ryan Cao
High school student and open source developer
Ryan Cao
comfy is a flexible command script manager / runner written in Rust

comfy is a cross-platform command script manager / runner tool, which allows you to run commands in the command line itself, but being these predefined in a portable and universal .comfy file.

daCoUSB 17 Nov 12, 2021
A standalone Luau script runner 🌙

Lune ?? A standalone Luau script runner ?? Use the ergonomics and readability of Luau for your shell scripts ?? ⚙️ Installation The preferred way of i

Filip Tibell 13 Feb 2, 2023
☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell

☄??️ The minimal, blazing-fast, and infinitely customizable prompt for any shell

Starship Command 31.6k Dec 30, 2022
Minimal and blazing-fast file server. For real, this time.

Zy Minimal and blazing-fast file server. For real, this time. Features Single Page Application support Partial responses (Range support) Cross-Origin

Miraculous Owonubi 17 Dec 18, 2022
Fast KubeJS script manager. Includes version control and compatibility with KJSPKG packages.

CarbonJS A KubeJS script manager Features ?? Super fast ⚙️ Version control ?? Constantly new scripts being added ✅ Easy to use ?? Compatibility with K

Krzysztof Poręba 3 May 9, 2023
Abuse the node.js inspector mechanism in order to force any node.js/electron/v8 based process to execute arbitrary javascript code.

jscythe abuses the node.js inspector mechanism in order to force any node.js/electron/v8 based process to execute arbitrary javascript code, even if t

Simone Margaritelli 301 Jan 4, 2023
zoxide is a blazing fast replacement for your cd command

zoxide A smarter cd command for your terminal zoxide is a blazing fast replacement for your cd command, inspired by z and z.lua. It keeps track of the

Ajeet D'Souza 8.7k Dec 31, 2022
⚡️ A blazing fast way of maintaining powerful notes with connections between them.

Zettl ⚡️ A blazing fast way of maintaining powerful notes with connections between them. Installing Zettl To install Zettl, you will need the Rust too

Tirth Jain 26 Dec 2, 2022
A blazing fast command line license generator for your open source projects written in Rust🚀

Overview This is a blazing fast ⚡ , command line license generator for your open source projects written in Rust. I know that GitHub

Shoubhit Dash 43 Dec 30, 2022
⚡ A Blazing fast alternative to the stock windows folder delete function!

Turbo Delete A blazing fast alternative to the default Windows delete. Turbodelete is a blazing fast alternative to the default Windows delete functio

Tejas Ravishankar 165 Dec 4, 2022