universalify is a Node.js utility that converts functions that use callbacks or promises so they can be used with either style. It provides helpers like `fromCallback` and `fromPromise` to adapt a function’s last callback `(error, result)` or returned Promise into a universal function.
Project status
- Maintenance status: The repository appears quiet/dormant. The most recent update is v2.0.1 on 2023-11-01, with no newer updates since then, which is a long gap relative to today (2026-06-09).
- Update cadence: Updates are irregular: after v2.0.1 (2023-11), there are no further updates; historically there was a large gap between v2.0.0 (2020-07-25) and v2.0.1 (2023-11-01), and earlier releases occurred mainly in 2017-2020.
AI summary generated
Recent updates
2.0.1
Release v2.0.1 is described as a performance-only update. The code diff confirms micro-optimizations in the promise/callback adapters, plus CI and test coverage configuration updates.
2.0.0
v2.0.0 focuses on improving universalify.fromCallback behavior and performance. It also adds a regression test to ensure falsy error values (example: 0) correctly reject the promise.
Breakingv1.0.0
v1.0.0 primarily modernizes the universalify implementation and drops older Node support. Release notes only call out dropping Node 4, 6, and 8, but the code changes also tighten the declared engine requirement and update dev tooling.
Breakingv0.2.0
v0.2.0 contains a targeted bugfix for the universalify wrapper that supports promise-returning functions with both promises and callbacks. The main behavioral change ensures that when a callback is provided, it is not forwarded as an argument to the underlying promise function.
v0.1.2
Release v0.1.2 primarily adds an engines field to package.json, which constrains supported Node.js versions for package installation. The diff also includes CI and documentation updates (Travis matrix changes, Coveralls integration, and new badges) that are not mentioned in the release notes.
Breakingv0.1.1
v0.1.1 is a bugfix release for universalify.fromPromise(). It changes how errors are handled when the provided callback throws, so that callback-thrown errors no longer trigger an extra callback invocation.
Breakingv0.1.0
This release updates how universalified functions are represented by ensuring their `name` attribute is preserved. It is intended to improve compatibility with code or tooling that relies on function names.