Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
D

dum

> 编程语言
Open source

An npm scripts runner written in Rust.

1.6K stars0 likes1 views
WebsiteGitHub

About

An npm scripts runner written in Rust.






dum replaces npm run and npx.
Instead of waiting 200ms for your npm client to start, it will start immediately.
You can help the author become a full-time open-source maintainer by sponsoring him on GitHub.





How

This is written in Rust! (Or any compile-to-native language).

Benchmark (hyperfine "dum foo" "npm run foo" --warmup 10):

Command Mean [ms] Min [ms] Max [ms] Relative
dum foo 41.7 ± 1.2 39.8 44.6 1.00
npm run foo 333.7 ± 2.0 330.0 336.0 8.01 ± 0.23

Install

Homebrew

bash
brew install egoist/tap/dum

Arch Linux AUR

bash
yay -S dum
# or
paru -S dum

Check https://aur.archlinux.org/packages/dum for version info.

Shell

bash
curl -sSL https://bina.egoist.dev/egoist/dum | sh

Cargo

bash
cargo install dum

Scoop

bash
scoop install dum

GitHub Releases

Download a release manually and move it to /usr/local/bin manually.

Usage

dum <npm_script|bin_script> [...args_to_forward]: Run npm scripts or scripts in node_modules/.bin, like yarn run, npm run, npx.

If you want to pass flags to dum itself, like the -c flag to change directory, you should put it before the script name, like dum -c another/directory script_name --forward some_flag.

Examples:

bash
dum some-npm-script

dum some-npm-script --flags will --be forwarded
# Like npx, but mush faster
dum some-npm-package-cli-name --flags will --be forwarded

# Change working directory
dum -c packages/sub-package build

# More
dum --help

Install Packages

Dum is not a package manager yet, but we forward install, add, remove commands to the package manager you're currently using:

bash
# Run `npm i` or `yarn` or `pnpm i` depending on the project
dum install # or `dum i`
# Like above but add packages
dum add react vue -D

dum remove react vue

We detect the package manager automatically by checking for lock files in the current directory. If no lock file is found, we ask you to select a package manager first.

Limitations

  • package.json vars are not supported, I personally never used it, if you believe it's necessary, please leave a comment here.

Inspiration

I want to try and learn Rust so I made this. Inspired by bun.

Development

bash
cargo run -- <...args to test>

Sponsors

License

MIT © EGOIST

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Rust

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言