canirequire › ESM-only › documentation
Is documentation ESM-only? Can you require() it?
a documentation generator
Last verified Sep 9, 2026 against documentation@14.0.3. Markdown · JSON
ESM-only ESM-only since 14.0.0 — last CommonJS version is 13.2.5
documentation dropped its CommonJS build in 14.0.0 (August 2022). The last version with a plain require()-able CommonJS entry is 13.2.5, published Apr 24, 2021; it declares support for Node.js >=10.
On Node.js 20.19+, 22.12+ and newer, require("documentation") works with the latest version: Node.js loads synchronous ES modules through require(). Verified on Node.js 20, 22, 24 and 26. On Node.js 18, which has no require(esm), require("documentation") fails with ERR_REQUIRE_ESM.
What to do
- On Node.js 20.19+, 22.12+ and newer, require("documentation") works with the latest version: Node.js loads synchronous ES modules through require(). Verified on Node.js 20, 22, 24 and 26.
- From a CommonJS file, use a dynamic import inside an async function: const documentation = await import("documentation"). That works on every Node.js version the package supports (>=14).
- If you need a synchronous require() or run Node.js 18: npm install documentation@13.2.5, the last CommonJS release (published Apr 24, 2021); it declares Node.js >=10.
- TypeScript: no types are available for documentation; declare the module yourself if you need them.
Does documentation@14.0.3 actually load? Runtime test results
Installed and executed on Sep 9, 2026 with require("documentation") from a CommonJS file and import "documentation" from an ES module.
| Runtime | require("documentation") | import "documentation" |
|---|---|---|
| Node.js 18 | ✗ failsERR_REQUIRE_ESM | ✓ 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 documentation
ES modules (import)
import * as documentation from "documentation";Namespace import shown because the ESM entry may have no default export; use named imports for what it exports.
CommonJS (require)
// Node.js 20.19+, 22.12+ and newer (verified):
const documentation = require("documentation");
// Any Node.js version the package supports (>=14), from an async function:
async function main() {
const documentation = await import("documentation");
}
// Or pin the last CommonJS release (declares Node.js >=10):
// npm install documentation@13.2.5Module format by version
Derived from the type, main and exports fields of every stable release on npm, corrected where a runtime test of that version contradicted them (89 versions; the newest 60 shown).
| Versions | Format | First published |
|---|---|---|
| 14.0.0 – 14.0.3 | ESM-only | Aug 19, 2022 |
| 5.3.0 – 13.2.5 | CommonJS | Sep 4, 2017 |
Frequently asked
Is documentation ESM-only?
documentation@14.0.3 is ESM-only. documentation dropped its CommonJS build in 14.0.0 (August 2022). The last version with a plain require()-able CommonJS entry is 13.2.5, published Apr 24, 2021; it declares support for Node.js >=10.
Which version of documentation still supports CommonJS / require()?
13.2.5 is the last version of documentation with a CommonJS build; it declares Node.js >=10. Install it with "npm install documentation@13.2.5". Every version from 14.0.0 on is ESM-only.
How do I use documentation from a CommonJS file?
From a CommonJS file, use a dynamic import inside an async function: const documentation = await import("documentation"). That works on every Node.js version the package supports (>=14). On Node.js 20.19+, 22.12+ and newer, require("documentation") works with the latest version: Node.js loads synchronous ES modules through require(). Verified on Node.js 20, 22, 24 and 26. Alternatively pin documentation@13.2.5 (declares Node.js >=10).
Does documentation work in Bun?
Yes. import "documentation" loaded successfully in Bun 1.4.0 on Sep 9, 2026.
Does documentation ship TypeScript types?
No. documentation ships no type declarations and there is no @types package for it.
Links
Other esm-only packages
- ansi-styles 7.0.0last CJS
5.2.0 - strip-ansi 7.2.0last CJS
6.0.1 - commander 15.0.0last CJS
14.0.3 - supports-color 11.0.0last CJS
8.1.1 - chalk 6.0.0last CJS
4.1.2 - string-width 8.2.2last CJS
4.2.3 - ansi-regex 6.3.0last CJS
5.0.1 - escape-string-regexp 5.0.0last CJS
4.0.0
Similar popularity
- ember-export-application-global 2.0.1CommonJS
- eventsource-polyfill 0.9.6CommonJS
- @angular/http 7.2.16CommonJS
- pod-install 1.1.0CommonJS
- rollup-plugin-vue 6.0.0CommonJS
- rollup-plugin-scss 4.0.1CommonJS
- mockjs 1.1.0CommonJS
- download-git-repo 3.0.2CommonJS