https://github.com/egoist/dum Skip to content Sign up * Product + Features + Mobile + Actions + Codespaces + Packages + Security + Code review + Issues + Integrations + GitHub Sponsors + Customer stories * Team * Enterprise * Explore + Explore GitHub + Learn and contribute + Topics + Collections + Trending + Learning Lab + Open source guides + Connect with others + The ReadME Project + Events + Community forum + GitHub Education + GitHub Stars program * Marketplace * Pricing + Plans + Compare plans + Contact Sales + Education [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} egoist / dum Public * * Notifications * Fork 14 * Star 603 An npm scripts runner written in Rust. MIT License 603 stars 14 forks Star Notifications * Code * Issues 12 * Pull requests 5 * Actions * Security * Insights More * Code * Issues * Pull requests * Actions * Security * Insights This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 7 branches 19 tags Code Latest commit @renovate @renovate-bot renovate[bot] and renovate-bot chore(deps): update franzdiebold/ github-env-vars-action action to v2 (#... ... 01dfd54 Dec 28, 2021 chore(deps): update franzdiebold/github-env-vars-action action to v2 (#... ...37) Co-authored-by: Renovate Bot 01dfd54 Git stats * 85 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github/workflows chore(deps): update franzdiebold/github-env-vars-action action to v2 (#... Dec 28, 2021 src refactor: use an enum for package manager (#29) Dec 21, 2021 stuff feat: add install command Nov 20, 2021 .gitignore refactor: use an enum for package manager (#29) Dec 21, 2021 CHANGELOG.md bump Dec 14, 2021 Cargo.lock fix(deps): update rust crate anyhow to 1.0.52 (#33) Dec 26, 2021 Cargo.toml fix(deps): update rust crate anyhow to 1.0.52 (#33) Dec 26, 2021 LICENSE chore: add a license file Nov 20, 2021 README.md Add benchmark Dec 6, 2021 package.json feat: replace npm run yarn in npm scripts with dum Dec 14, 2021 renovate.json Configure Renovate (#30) Dec 26, 2021 View code [ ] How Install Homebrew Shell Cargo GitHub Releases Usage Install Packages Limitations Inspiration Sponsors License README.md [68747470733a2f2f6d797374696] 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. CleanShot 2021-11-20 at 15 23 54@2x --------------------------------------------------------------------- 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 brew install egoist/tap/dum Shell curl -sSL https://bina.egoist.sh/egoist/dum | sh Cargo cargo install dum GitHub Releases Download a release manually and move it to /usr/local/bin manually. Usage dum [...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: 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 npm, pnpm and yarn automatically: # 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 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. Sponsors sponsors License MIT (c) EGOIST About An npm scripts runner written in Rust. Resources Readme License MIT License Stars 603 stars Watchers 3 watching Forks 14 forks Releases 18 v0.1.19 Latest Dec 14, 2021 + 17 releases Sponsor this project Sponsor Learn more about GitHub Sponsors Packages 0 No packages published Contributors 9 * @egoist * @renovate-bot * @renovate[bot] * @beetcb * @fannheyward * @Kocal * @ycjcl868 * @tmkx * @sachinraja Languages * Rust 99.7% * JavaScript 0.3% * (c) 2022 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.