ESM Unit vs uvu
ESM Unit
github.comuvu
github.comSide by side
| Figure | ESM Unit | uvu |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Plans published | 0 | 1 |
| Spec score · JavaScript Testing Frameworks | 7.3 (#15) | 7.6 (#11) |
| Browser support | The README shows running tests in Chrome, Firefox, and Safari; headless mode is supported only in Chrome and Firefox. | The README says uvu is browser-compatible, and its assertion module is also browser-compatible. |
| Integrations | The README recommends Sinon for stubbing, mocking, and assertions against mocks. | The README demonstrates using `uvu` with Node.js and shows `esm` as a preload for legacy Node.js versions. |
| Intended users | The stated use case is developers who need to unit test native ECMAScript modules in web browsers. | The project describes uvu as a test runner for Node.js and browser projects. |
| License | The repository license identifies the software as Apache License 2.0 and states that it is provided without warranties or conditions. | The repository identifies uvu as MIT licensed. |
| Purpose | ESM Unit is a unit testing tool for native ECMAScript modules in web browsers. | uvu is a fast, lightweight test runner for Node.js and the browser. |
Plans
In their own words
uvu
uvu is a free, lightweight test runner for Node.js and browser projects. It supports individually executable test files, asynchronous tests that may return Promises, native ES modules and a familiar API. Tests can be grouped into named suites or registered through a simpler test interface, and snapshot testing is supported. Each file is self-contained and can also be run directly with Node.js. The optional CLI collects and executes suites, with options to stop after the first failure, ignore patterns, preload modules, set a working directory and colorize output. When a directory is specified, file matching takes a regular-expression pattern rather than relying on glob patterns. The optional assertion module works in browsers and can be swapped for another library, including Node.js’s native assert. Installation uses `npm install --save-dev uvu`. Package metadata specifies Node.js version `>=8`; the repository identifies the project as MIT licensed and credits Luke Edwards.