Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/omznc/nrush
Fast and tiny update checker for npm packages, written in Rust.
https://github.com/omznc/nrush
bun javascript nodejs npm rust typescript updater utility
Last synced: about 2 months ago
JSON representation
Fast and tiny update checker for npm packages, written in Rust.
- Host: GitHub
- URL: https://github.com/omznc/nrush
- Owner: omznc
- Created: 2023-11-20T02:20:39.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-11T09:59:39.000Z (4 months ago)
- Last Synced: 2024-10-31T09:41:54.633Z (about 2 months ago)
- Topics: bun, javascript, nodejs, npm, rust, typescript, updater, utility
- Language: Rust
- Homepage: https://nrush.omarzunic.com
- Size: 104 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![nrush](https://github.com/omznc/nrush/assets/38432561/ad2f9d0c-477a-420a-aa34-7c171fe8a0a8)
# nrush 🦀
> A speedy way to update all packages in a Node/Bun project, written in Rust.
## Usage
Bun
```bash
bun --bun add -d nrush@latest # Ensures the latest version is used
nrush -i
```Node
```bash
npx nrush@latest -i
```**Commands:**
- `nrush about` - Display comprehensive information about NRush.
- `nrush help` - Provide a usage guide for NRush. Primarily, this section.**Arguments:**
(Arguments are applicable only if no commands are supplied and only `nrush` is executed.)1. Update Options (`-u` / `--update`):
- Automatically updates all dependencies without user interaction.2. Interactive Mode (`-i` / `--interactive`)
- User can select which packages to update. Defaults to this if both `-u` and `-i` are supplied.3. Include (`--include `):
- Include `dev` and/or `peer` dependencies in the update process.4. Path Specification (`-p ` / `--path `):
- Specify the path to a `package.json` file. The default is the current directory.5. Skip Ranges in Versioning (`--skip-ranges`):
- Skips version ranges in package.json. Default is `false`, preserving them.
- Example: `^1.0.0` will be updated to `2.0.0` if `--skip-ranges` is supplied.6. Update Any Version (`--update-any`):
- Updates `*` versions in package.json. Default is `false`, maintaining them.
- Example: `*` will be updated to `2.0.0` if `--update-any` is supplied.7. SOON: Semver Constraint (`-s ` / `--semver `):
- Specify a maximum semver range to update to. Choose either `major`, `minor`, or `patch`. Default is `major`.
- This currently does nothing.By executing `nrush` without any arguments or commands, a list of updatable packages will be displayed, and you'll be prompted to install them.
## Purpose
I made this as a personal alternative to `npm-check-updates`, mostly as a challenge to write a less feature-packed,
faster version that checks the packages concurrently, resulting in 🔥speed🔥.Concurrency, baby.
# Contributing
Please do. I don't really do Rust that often, and all of this was done in 30 minutes.
# Goals
- Full feature set from npm-check-updates
# Notes
- nrush is short for npm rush, as in "please get me up to date"
- The base `omznc/nrush` package figures out your OS architecture and downloads the correct binary. It uses `child_process` which you could find alarming, but hey, that's what open-source is for.
- These are the underlying binaries:
- [nrush-windows-x64](https://www.npmjs.com/package/nrush-windows-x64)
- [nrush-windows-arm64](https://www.npmjs.com/package/nrush-windows-arm64)
- [nrush-darwin-x64](https://www.npmjs.com/package/nrush-darwin-x64)
- [nrush-darwin-arm64](https://www.npmjs.com/package/nrush-darwin-arm64)
- [nrush-linux-x64](https://www.npmjs.com/package/nrush-linux-x64)
- [nrush-linux-arm64](https://www.npmjs.com/package/nrush-linux-arm64)