npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

radashi

v12.3.0

Published

The modern, community-first TypeScript toolkit with all of the fast, readable, and minimal utility functions you need. Type-safe, dependency-free, tree-shakeable, fully tested.

Downloads

20,250

Readme

Radashi

Ditch the bloat of Lodash. Stop reinventing the wheel.

Radashi (pronounced /ruh-DAH-shee/) is a TypeScript utility toolkit, packed with lightweight functions that are readable, performant, and robust.

Radashi is an actively maintained fork of Radash, the fastest growing Lodash alternative with 100K+ weekly downloads.

“What makes Radashi so great?”

  • unique and well-designed functions
  • tree-shakeable (use only what you need!)
  • dependency-free
  • community-first (your opinions matter)
  • future-proof (written with modern ES6+ syntax)
  • actively maintained (with a growing team of passionate maintainers)
  • type-safe (the best type definitions possible)
  • full test coverage
  • performance tracking (we track perf regressions with continuous benchmarking)
  • well-documented
  • nightly releases (radashi@beta)
  • changelog (easily see what's new in each release)

If you've been using Radash (our predecessor), you're probably interested in what makes us different. Read our comparison post to learn how we're bringing Radash to the next level while preserving its best features.

Install

pnpm add radashi
yarn add radashi
npm install radashi

Beta versions

Beta versions are published regularly with new functions and improvements. They never contain breaking changes (see the Breaking changes section). The beta branch contains the source code for beta versions.

To get notified of a new beta version, watch the radashi-canary repository. You can find release notes for beta versions here.

The latest beta version can be installed with:

pnpm add radashi@beta -E

The -E flag ensures that the beta version is installed as an exact version (e.g. [email protected]). This is recommended to avoid accidental breakage.

Breaking changes

Preview releases for the next major version are also announced in the radashi-canary repository. The next branch contains the source code for the next major version.

We'd appreciate your help testing the latest next version before it's released:

pnpm add radashi@next -E

JSR.io

Radashi is also published to the JSR registry, which gives Radashi its own page.

jsr add @radashi-org/radashi
deno add @radashi-org/radashi

FAQ

  • “I need XYZ, but Radashi doesn't have it.”
    If you have a need not met by our current set of functions, we want to hear about it. Start a discussion so we can explore the idea together!

  • What does “community first” mean exactly?
    It means putting the community's needs first, leaning towards adding support for popular use cases, as opposed to being strictly minimalist. As such, your feedback is very welcome and we value your perspective. Specifically, we want you to contribute your viewpoint to discussions in our RFCs category.

  • Are my contributions welcome?
    Yes! Pull requests are encouraged, but please keep them small and focused. Sweeping changes are discouraged and won't be merged (unless the rationale's been thoroughly discussed).

    Please review “The ethos of Radashi” before submitting a pull request:

  • Can I help you maintain this?
    Yes! I'll add you as a contributor to the repository. You can review pull requests and help with triage. With time, you may earn the ability to merge approved PRs.

  • Is backwards compatibility a goal?
    Yes! We want the transition from radash to this library to be smooth. If you're coming from Radash, we recommend installing radashi@^12. This version will continue to receive backported fixes even after Radashi v13 is released. You can upgrade to the latest major version when you're ready.

  • Automatic releases
    To ensure contributions are quickly rolled out, we have the following automatic processes:

    • Patch releases
      Whenever the main branch receives a ^fix: commit, a patch release is immediately published to NPM.

    • Beta releases
      Pull requests that add a new feature can be labeled with prerelease by a maintainer. This triggers a GitHub workflow that attempts to copy the PR into the beta branch. If that succeeds, a beta release is immediately published to NPM.

      Installing radashi@beta will always fetch the latest beta release. Although the name "beta" may suggest unstable code, PRs need tests to be eligible for a prerelease.

      Beta releases provide quick access to new features without waiting for a regular release cycle. They're also an opportunity for the community to provide feedback before the feature is released to the main branch.

    • "Next" releases
      Pull requests with breaking changes can also be labeled with prerelease by a maintainer. In this case, the PR is copied into the next branch. If that succeeds, a "next" release is published to NPM.

      Installing radashi@next will always fetch the latest "next" release.

  • Release cycle
    Radashi is expected to release a new minor or major version on a monthly basis, but releases are not on a strict schedule. Pre-releases are available for testing and feedback before the final release.

Contributing

Contributions are welcome and appreciated! Check out the contributing guide before you dive in: