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)
An official website is in the works (tracked by #40). Until then, you can refer to the original radash
documentation and the CHANGELOG.md file.
![Radash documentation](https://github.com/radashi-org/radashi/raw/main/.github/img/docs-button.png?raw=true)
pnpm add radashi
yarn add radashi
npm install radashi
The radashi@beta
version is a nightly release containing everything in the main branch at the time (5:00AM UTC).
pnpm add radashi@beta
Its changes are documented here. If there's no radashi@beta
section in the changelog, it means no pull requests have been merged since the last stable release.
Radashi is also published to the JSR registry, which gives Radashi its own page.
jsr add @radashi-org/radashi
deno add @radashi-org/radashi
-
“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 even merge them. You can help with closing issues, too. Committing directly to the main branch is a privilege you can earn, as is publishing versions to NPM. -
Is backwards compatibility a goal?
Yes! We want the transition fromradash
to this library to be smooth. We'll make sure to avoid breaking changes. If any are made, they will be clearly documented at the bottom of this page. -
Automatic releases
To ensure contributions are quickly rolled out, we have the following automatic processes:-
Beta releases
Whenever themain
branch receives a fix or feature, a beta release is automatically published to NPM at 5:00AM UTC. Installingradashi@beta
will always fetch the latest beta release. Beta releases are always audited by the Radashi team. -
Preview releases
When the owner of a PR comments/publish
(and nothing more), the PR is published to NPM under a version like1.0.0-pr123.f7a9c3b
(i.e.<latest version>-pr<PR number>.<commit SHA>
) and a tag likepr123
. This allows the community to use the changes in the PR without waiting for the PR to be merged.⚠️ Beware: Preview releases are not audited by the Radashi team. Always look at their changes in the PR to ensure no malicious code was introduced.
-
Contributions are welcome and appreciated! Check out the contributing guide before you dive in:
![Contributing to Radashi](https://github.com/radashi-org/radashi/raw/main/.github/img/contributing-button.png?raw=true)