GitPedia

Ramda adjunct

Ramda Adjunct is the most popular and most comprehensive set of functional utilities for use with Ramda, providing a variety of useful, well tested functions with excellent documentation.

From char0n·Updated June 19, 2026·View on GitHub·

Ramda Adjunct is the most popular and most comprehensive set of functional utilities for use with Ramda, providing a variety of useful, well tested functions with excellent documentation. The project is written primarily in JavaScript, distributed under the BSD 3-Clause "New" or "Revised" License license, first published in 2017. Key topics include: addons, adjunct, cookbook, extensions, extras.

Latest release: v6.1.0
June 3, 2026View Changelog →

Node.js workflow
codecov
jsdoc
npmversion
npm

Dependabot enabled
startwithwhy
contributions welcome
try on RunKit
FOSSA Status
Backers on Open Collective
Sponsors on Open Collective
Join the chat at https://gitter.im/ramda-adjunct/Lobby
Open Source Helpers
Tidelift

Ramda Adjunct Tweet

<p align="center"><img src="https://raw.githubusercontent.com/char0n/ramda-adjunct/master/logo.jpg" width="250" height="200" /></p>

Ramda Adjunct is the most popular and most comprehensive set of functional utilities for use with Ramda, providing a variety of useful, well tested functions with excellent documentation.

For a full list of functions see the Documentation For The Latest Release.

Adjunct is a thing added to something else as a supplementary rather than an essential part. And that something is being ramda.

Follow Ramda Adjunct on medium.com/ramda-adjunct to read latest news and
articles about the library.

<table> <tr> <td align="right" valign="middle"> <img src="https://raw.githubusercontent.com/char0n/ramda-adjunct/master/assets/tidelift.webp" alt="Tidelift" width="60" /> </td> <td valign="middle"> <a href="https://tidelift.com/subscription/pkg/npm-ramda-adjunct?utm_source=npm-ramda-adjunct&utm_medium=referral&utm_campaign=readme"> Get professionally supported ramda-adjunct with Tidelift Subscription. </a> </td> </tr> </table>

Getting Started

Installation

sh
npm i ramda-adjunct

or

sh
yarn add ramda-adjunct

Usage

ES6

javascript
import * as RA from 'ramda-adjunct' RA.isArray([]);

or

javascript
import { isArray } from 'ramda-adjunct'; isArray([]);

Node

javascript
const RA = require('ramda-adjunct'); RA.isArray([]);

or

javascript
const { isArray } = require('ramda-adjunct'); isArray([]);

Web browser

html
<script src="ramda.js"></script> <script src="RA.web.js"></script>

or

html
<script src="RA.web.standalone.js"></script>

Including Ramda Adjunct into HTML document exposes global variable RA on window object.

javascript
RA.isArray([]);

Motivation

It's very common for people to create their own utils and recipes by composing Ramda's functions and creating more complex aggregate functions. Ramda Adjunct eliminates this repetitive wheel of reinvention and centralizes commonly used and useful utils.

Benefits

1. Centralization

All Ramda recipes and aggregate utils not present in Ramda are centralized here. There is no more need for everybody to create their own utils in their own libraries or in each codebases.

2. Tests

Ramda Adjunct maintains maximal code coverage and mimics Ramda's test patterns. You can trust our functions.

3. Impeccable documentation

You cannot call a library great if it lacks great documentation. Ramda Adjunct generates its documentation directly from its codebase and uses patterns found in both Ramda and Lodash to document its API.

Do you want to find out more about why this library exists ? Read this article.

Requirements

  • ramda >= 0.32.0
  • node >= 0.10.48

Ramda Adjunct is being automatically tested against all LTS and Current Node.js versions.

Legacy builds

We are building our npm distributions using Webpack/Babel to support legacy versions of node starting from 0.10.48.
Although all tests are run against all LTS and Current Node.js versions, we rely on Webpack/Babel to transpile ramda-adjunct into legacy ES5.
It is also possible that our ES5 distributions run on node versions older than 0.10.48 as long as they support ES5.

API Documentation

LATEST,
PREVIOUS,
ALL VERSIONS

Wrote about us

Contributing

If you want to contribute to this project, please consult the CONTRIBUTING.md guidelines.

Obtaining project copy

sh
$ git clone https://github.com/char0n/ramda-adjunct $ npm i

Running tests

sh
$ npm run test

Running tests in browser

sh
$ npm run test:web

Running compatibility tests for supported ramda versions

sh
$ npm run test:ramda

Running code coverage numbers

sh
$ npm run coverage

Running linter

We're using eslint and airbnb codestyle rules with prettier integrated as an eslint plugin.

sh
$ npm run lint

Builds

sh
$ npm run build:es

If you use a bundler that supports tree shaking and ES2015 imports. package.json is automatically pre-configured to tell ES2015 import to import from this directory.

es/* - ES5 code containing ES2015 imports.

sh
$ npm run build:commonjs

If you use node to import ramda-adjunct. package.json is automatically pre-configured to tell require to import from this directory.

lib/* - ES5 code containing commonjs imports.

sh
$ npm run build:umd

The command will create three types of bundles.

dist/RA.node.js - ES5 compliant bundle, running on all node versions.

dist/RA.web.js - ES5 compliant bundle, running in browsers. Requires ramda.js to be required before.

dist/RA.web.standalone.js - ES5 compliant bundle, running in browsers. It has ramda.js pre-bundled.

You can always find fresh build files in exposed as artifacts of GitHub Actions.

Tree shaking support

Tree shaking is a term commonly used in a JavaScript context for dead-code elimination. It relies on the static structure of ES2015's module syntax, i.e. import and export. Ramda Adjunct natively supports tree shaking thanks to the way the code is organized and its use of ES2015 imports.

javascript
import * as RA from 'ramda-adjunct'; RA.isArray([]); //=> true
javascript
import { isArray } from 'ramda-adjunct'; isArray([]); //=> true

These two statements are equivalent and only isArray should be incorporated into your bundle. You can pick and choose the functions you need without worrying about the whole library being included in your build.

Assimilated libraries

  • rcb - Ramda Cookbook implementation

Typescript support

Although Ramda Adjunct is written in ES2016, we also support Typescript. When Ramda Adjunct gets imported into a Typescript project, typings are automatically imported and used.

Author

char0n (Vladimir Gorej)

vladimir.gorej@gmail.com

https://www.linkedin.com/in/vladimirgorej/

Contributors

This project exists thanks to all the people who contribute. [Contribute].
<a href="https://github.com/char0n/ramda-adjunct/graphs/contributors"><img src="https://opencollective.com/ramda-adjunct/contributors.svg?width=890" /></a>

Support us

Although we love working on ramda-adjunct, we must invest our free time to make this library great. Support this project's evolution via Open Collective or Github Sponsors.

Support via Open Collective

Backers

Thank you to all our backers! 🙏 [Become a backer]

<a href="https://opencollective.com/ramda-adjunct#backers" target="_blank"><img src="https://opencollective.com/ramda-adjunct/backers.svg?width=890"></a>

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

<a href="https://opencollective.com/ramda-adjunct/sponsor/0/website" target="_blank"><img src="https://opencollective.com/ramda-adjunct/sponsor/0/avatar.svg"></a>

License

FOSSA Status

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from char0n/ramda-adjunct via the GitHub API.Last fetched: 6/24/2026