• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

agama-project / agama / 15493532578 / 3 – web
73%
master: 73%

Build:
DEFAULT BRANCH: master
Ran 06 Jun 2025 03:00PM UTC
Files 36
Run time 2s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

06 Jun 2025 02:58PM UTC coverage: 82.297%. First build
web – 15493532578.3

push

github

web-flow
refactor(web): drop custom utils in favor of Radashi usage. (#2412)

## Problem

Over time, we’ve created a number of utility functions, such as
`isEmpty`, that are already well-implemented in mature, widely-used
libraries like [Lodash](https://lodash.com/),
[Ramda](https://ramdajs.com/), or [Radashi](https://radashi.js.org/).
These libraries are not only well-tested and maintained, but they also
provide battle-hardened solutions to common problems, allowing us to
avoid reinventing the wheel.

Some time ago, adopting Radashi was proposed and discussed in
[#1601](https://github.com/agama-project/agama/discussions/1601), but
the idea was eventually postponed.

This week, [while updating and expanding our utils/isEmpty
function](https://github.com/agama-project/agama/pull/2402/commits/7829ade8a),
I noticed it was evolving into something more complex, more along the
lines of `isVariableConsideredEmpty`, which, apart from being debatable
in behavior, also strays from its original simplicity. Writing tests for
this change made it even more apparent that our time and energy might be
better spent focusing on Agama-specific business logic, rather than on
maintaining our own versions of common utility functions.

## Solution

This PR introduces [Radashi](https://radashi.js.org/) as a dependency
and removes our custom utility functions that are already covered by it.

Radashi offers modern, type-safe, and well-tested utility functions that
align with our needs, and adopting it allows us to:
  * Reduce technical debt by eliminating redundant code
  * Rely on a maintained and community-backed solution
  * Focus our efforts on Agama-specific features and business logic

This change builds on the earlier discussion in
[#1601](https://github.com/agama-project/agama/discussions/1601) and
serves as a practical step forward in simplifying our codebase while
improving long-term maintainability.

## Summary of changes

As part of this PR, ut... (continued)

92 of 132 branches covered (69.7%)

Branch coverage included in aggregate %.

252 of 286 relevant lines covered (88.11%)

80.95 hits per line

Source Files on job web - 15493532578.3
  • Tree
  • List 36
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 15493532578
  • 28ac79a9 on github
  • Prev Job for on master (#15491140750.)
  • Next Job for on master (#15534565100.)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc