# Is jest-validate ESM-only? Can you require() it?

> jest-validate@30.5.1 ships CommonJS and ESM builds. Dual package — require() works on every Node.js version we test; import works too.

Generic configuration validation tool that helps you with warnings, errors and deprecation messages as well as showing users examples of correct configuration.

Last verified Sep 9, 2026 against jest-validate@30.5.1.

jest-validate publishes both a CommonJS entry and a native ESM entry (ESM added in 30.0.0). require("jest-validate") works on every Node.js version we test (18, 20, 22, 24 and 26) and in Bun. The package declares Node.js ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0. import "jest-validate" works alongside it.

## What to do

1. Nothing to change. require("jest-validate") works on every Node.js version we test (18, 20, 22, 24 and 26) and in Bun. The package declares Node.js ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0. import * as jestValidate from "jest-validate" works alongside it; use named imports for what the ESM entry exports.
2. TypeScript: types are bundled; install nothing extra.

## Facts

- Latest: 30.5.1 (Sep 1, 2026)
- Module format: Dual (CommonJS + ESM)
- Last CommonJS version: 30.5.1
- Native ESM since: 30.0.0
- TypeScript types: bundled
- Node engines: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0
- Weekly downloads: 52.7M
- License: MIT

## Runtime test results for jest-validate@30.5.1

Installed and executed on Sep 9, 2026 with require("jest-validate") from a CommonJS file and import "jest-validate" from an ES module.

| Runtime | require("jest-validate") | import "jest-validate" |
|---|---|---|
| Node.js 18 | works | works |
| Node.js 20 | works | works |
| Node.js 22 | works | works |
| Node.js 24 | works | works |
| Node.js 26 | works | works |
| Bun 1.4.0 | works | works |

## How to import jest-validate

ES modules:

```js
import * as jestValidate from "jest-validate";
```

Namespace import shown because the ESM entry may have no default export; use named imports for what it exports.

CommonJS:

```js
const jestValidate = require("jest-validate");
```

## Module format by version

Derived from the type, main and exports fields of every stable release on npm (123 versions; the newest 60 shown).

| Versions | Format | First published |
|---|---|---|
| 30.0.0 – 30.5.1 | Dual (CommonJS + ESM) | Jun 10, 2025 |
| 26.5.3 – 29.7.0 | CommonJS | Oct 11, 2020 |

## Frequently asked

**Is jest-validate ESM-only?**

jest-validate@30.5.1 ships CommonJS and ESM builds. jest-validate publishes both a CommonJS entry and a native ESM entry (ESM added in 30.0.0). require("jest-validate") works on every Node.js version we test (18, 20, 22, 24 and 26) and in Bun. The package declares Node.js ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0. import "jest-validate" works alongside it.

**Can I require jest-validate?**

Yes. jest-validate ships a CommonJS entry alongside the native ESM entry. require("jest-validate") works on every Node.js version we test (18, 20, 22, 24 and 26) and in Bun. The package declares Node.js ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0.

**Does jest-validate work in Bun?**

Yes. import "jest-validate" loaded successfully in Bun 1.4.0 on Sep 9, 2026.

**Does jest-validate ship TypeScript types?**

Yes. jest-validate bundles its own type declarations; no @types package is needed.

## Links

- [jest-validate on npm](https://www.npmjs.com/package/jest-validate)
- [Source repository](https://github.com/jestjs/jest)
- [HTML version](https://canirequire.com/package/jest-validate/)
- [JSON version](https://canirequire.com/package/jest-validate.json)

---

For scripts and AI agents: any package is at https://canirequire.com/package/<name>/index.md (Markdown) or https://canirequire.com/package/<name>.json (JSON); the site index is https://canirequire.com/llms.txt. Fetch the URL directly; no search needed.
