volta
ripgrep
Our great sponsors
volta | ripgrep | |
---|---|---|
84 | 346 | |
9,788 | 44,253 | |
3.6% | - | |
9.1 | 9.3 | |
2 days ago | 1 day ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | The Unlicense |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
volta
- Volta – Fastest Node version manager in Rust
-
What's New in Node.js 21
Alternatively, a better way to manage Node.js releases on your machine is to use an environment management tool like Volta that can install and switch between multiple versions seamlessly.
-
Best practices for HarperDB projects using TypeScript
To use TypeScript you need Node.js installed, be sure to use the latest LTS version. You can check it by running node -v in your terminal. If you don't have it installed, you can download it here, or use a version manager like asdf, nvm, or even volta.
- INSTALLATION
-
Nx + NextJS + Docker - The Nx way: Creating the NextJS application
JS Tool Manager: Volta v1.1.1
-
Do you think it is better to default to latest in Nodejs release?
I recommend to use the Volta tool chain manager. Built with Rust, is faster than NVM and allow to pin package and node versions, global binaries and pin project tool versions with automatic package.json pinned versions load.
-
Nvm or homebrew for Node install
Listing people's recommendations with links below. I'm glad I asked this question. I received a lot of good recommendations. Thanks All! * nvm (https://nvm.sh) - Simple to use and easy to follow instructions with more in-depth configuration for those that need it. Some experienced a slightly slower terminal. Supports nodjs, iojs, and node version per project/directory. * fnm (https://github.com/Schniz/fnm) - Built with speed in mind. It is like nvm, but faster. Also supports node version per project/directory. * Volta (https://volta.sh/) - Looks easy to use and has good documentation. * asdf (https://asdf-vm.com/) - Supports multiple runtimes and tools by adding plugins. Admittedly, is a bit confusing and more than I need right now (Node, Rust, Python, Ruby, etc.) * Homebrew (https://brew.sh/) - Not a version manager but can act like one by installing nvm, fnm, asdf, or others. Some additional configuration may be needed. * Proto (https://moonrepo.dev/proto) - Supports Bun, Deno, Node.js (npm, pnpm, yarn), Rust, and Go. Also good documentation. Setup looks a bit complex to me :/. * n (https://github.com/tj/n) - Supports Node and npm per project. Simple and to the point.
-
The next generation node version manager
I literally just started orchestrating a switch for my team from NVM to Volta because of our desire for our Node/npm version Manager to just get out of the way.
-
TypeScript tooling and ecosystem
Prefer Volta over NVM. Much better UX and its inherently cross-platform.
-
Held broken package error
Have you tried to use nvm or volta to manage node? https://github.com/nvm-sh/nvm https://volta.sh/
ripgrep
-
Level Up Your Dev Workflow: Conquer Web Development with a Blazing Fast Neovim Setup (Part 1)
live grep: ripgrep
-
Modern Java/JVM Build Practices
The world has moved on though to opinionated tools, and Rust isn't even the furthest in that direction (That would be Go). The equivalent of those two lines in Cargo.toml would be this example of a basic configuration from the jacoco-maven-plugin: https://www.jacoco.org/jacoco/trunk/doc/examples/build/pom.x... - That's 40 lines in the section to do the "defaults".
Yes, you could add a load of config for files to include/exclude from coverage and so on, but the idea that that's a norm is way more common in Java projects than other languages. Like here's some example Cargo.toml files from complicated Rust projects:
Servo: https://github.com/servo/servo/blob/main/Cargo.toml
rust-gdext: https://github.com/godot-rust/gdext/blob/master/godot-core/C...
ripgrep: https://github.com/BurntSushi/ripgrep/blob/master/Cargo.toml
socketio: https://github.com/1c3t3a/rust-socketio/blob/main/socketio/C...
-
Ugrep – a more powerful, ultra fast, user-friendly, compatible grep
Another issue with Hyperscan is that if you enable HS_FLAG_UTF8[1], which hypergrep does[2,3], and then search invalid UTF-8, then the result is UB.
> This flag instructs Hyperscan to treat the pattern as a sequence of UTF-8 characters. The results of scanning invalid UTF-8 sequences with a Hyperscan library that has been compiled with one or more patterns using this flag are undefined.
That's another issue you'll need to grapple with if you use Hyperscan. PCRE2 used to have this issue[4], but they've since defined the semantics of searching invalid UTF-8 with Unicode mode enabled. ripgrep 14 uses that new mode, but I haven't updated that FAQ answer yet.
[1]: https://intel.github.io/hyperscan/dev-reference/api_files.ht...
[2]: https://github.com/p-ranav/hypergrep/blob/ee85b713aa84e0050a...
[3]: https://github.com/p-ranav/hypergrep/blob/ee85b713aa84e0050a...
[4]: https://github.com/BurntSushi/ripgrep/blob/master/FAQ.md#why...
I'm not clear on why you're seeing the results you are. It could be because your haystack is so small that you're mostly just measuring noise. ripgrep 14 did introduce some optimizations in workloads like this by reducing match overhead, but I don't think it's anything huge in this case. (And I just tried ripgrep 13 on the same commands above and the timings are similar if a tiny bit slower.)
Interesting, it supports an n-gram indexer. ripgrep has had this planned for a few years now [1] but hasn't implemented it yet. For large codebases I've been using csearch, but it has a lot of limitations.
Unfortunately... I just tried the indexer and it's extremely slow on my machine. It took 86 seconds to index a Linux kernel tree, while csearch's cindex tool took 8 seconds.
- Tell HN: My Favorite Tools
-
Potencializando Sua Experiência no Linux: Conheça as Ferramentas em Rust para um Desenvolvimento Eficiente
Explore o Ripgrep no repositório oficial: https://github.com/BurntSushi/ripgrep
-
Scrybble is the ReMarkable highlights to Obsidian exporter I have been looking for
🔎🗃️ ripgrep or ugrep (search fast, use regex patterns or fuzzy search, pipe output to bash/zsh shell for further processing V coloring)
- RFC: Add ngram indexing support to ripgrep (2020)
What are some alternatives?
fnm - 🚀 Fast and simple Node.js version manager, built in Rust
asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
telescope-live-grep-args.nvim - Live grep with args
nvm - Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions
fd - A simple, fast and user-friendly alternative to 'find'
nvm for Windows - A node.js version management utility for Windows. Ironically written in Go.
ugrep - NEW ugrep 5.1: an ultra fast, user-friendly, compatible grep. Ugrep combines the best features of other grep, adds new features, and searches fast. Includes a TUI and adds Google-like search, fuzzy search, hexdumps, searches nested archives (zip, 7z, tar, pax, cpio), compressed files (gz, Z, bz2, lzma, xz, lz4, zstd, brotli), pdfs, docs, and more
n - Node version management
nushell - A new type of shell
the_silver_searcher - A code-searching tool similar to ack, but faster.
nvs - Node Version Switcher - A cross-platform tool for switching between versions and forks of Node.js
fzf - :cherry_blossom: A command-line fuzzy finder