# @endo/common

> common low level utilities

Latest version **1.4.0** (published 2026-04-17) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @endo/common
pnpm add @endo/common
yarn add @endo/common
bun add @endo/common
```

## Health

**Score 55/100 (C)** — status: active.

Positive: esm support; no vulnerabilities; high maintenance score.

Warnings: low downloads; no types.

## Facts

| | |
|---|---|
| Version | 1.4.0 |
| Published | 2026-04-17 |
| First published | 2024-01-18 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | ESM |
| Dependencies | 4 |
| Unpacked size | 42.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1053 |
| Author | Endo contributors |
| Maintainers | kriskowal, michaelfig, erights, warner, mhofman, boneskull, naugtur, turadga |

## Links

- npm: https://www.npmjs.com/package/@endo/common
- Repository: https://github.com/endojs/endo
- Homepage: https://github.com/endojs/endo/tree/master/packages/common#readme
- Issues: https://github.com/endojs/endo/issues
- npm.io page: https://npm.io/package/@endo/common

## Dependencies (4)

- [@endo/errors](https://npm.io/package/@endo/errors.md) ^1.3.1
- [@endo/harden](https://npm.io/package/@endo/harden.md) ^1.1.0
- [@endo/promise-kit](https://npm.io/package/@endo/promise-kit.md) ^1.2.1
- [@endo/eventual-send](https://npm.io/package/@endo/eventual-send.md) ^1.5.0

## Recent versions

- 1.4.0 (latest) — 2026-04-17
- 1.3.0 — 2026-02-26
- 1.2.13 — 2025-07-12
- 1.2.12 — 2025-06-17
- 1.2.11 — 2025-06-02
- 1.2.10 — 2025-03-24
- 1.2.9 — 2025-01-24
- 1.2.8 — 2024-11-13
- 1.2.7 — 2024-10-22
- 1.2.6 — 2024-10-10
- 1.2.5 — 2024-08-27
- 1.2.4 — 2024-08-01
- 1.2.3 — 2024-07-30
- 1.2.2 — 2024-05-07
- 1.2.1 — 2024-04-04
- … 4 more at https://npm.io/package/@endo/common/versions

## README

# `@endo/common`

A collection of common low level utilities.

Each of the utilities in this packages
- are low level in the sense of not depending on anything higher level than `ses`, `@endo/eventual-send`, and `@endo/promise-kit`. Many depend on nothing beyond plain old JavaScript.
- highly reusable, i.e., potentially useful many places.
- sufficiently general that it would be awkward to import from a more specialized package.
- can be explained and motivated without much external knowledge.

Each utility is in its own top-level source file, named after the main export of that utility. (This is often that file's only export.) The `package.json` also lists each as a distinct `"export":`. There is no `index.js` file that rolls them together. Thus, each importer must do a deep import of exactly the export it needs. Some implementations (bundlers, packagers) can thus do tree-shaking, omitted code that isn't reachable by imports.

Currently there are no `src/something.js` files. The only source files that would go in `src/` are those that do not represent separately exported utilities.

Generally each utility also has its own test file. (An exception is that `make-iterator.js` is indirectly but adequately tested by `test-make-array-iterator.js`).

See the doc-comments within the source file of each utility for documentation of that utility. Sometimes the associated test files also serve as informative examples.

---
_Source: https://npm.io/package/@endo/common · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
