JavaScript Modules
Pure JavaScript modules (lib/*.js) providing polyfills for standard APIs, wrappers around native modules, and prototype extensions.
Complete List
Core & Language Extensions
- util — Central utility library
- reflect — Reflection and value serialization
- iterator — Base iterator class
- asyncIterator — Async iterator base class
- arrayLike — Array-like base class
Prototype Extensions
- extendArray — Array prototype extensions
- extendArrayBuffer — ArrayBuffer prototype extensions
- extendObject — Object prototype extensions
- extendMap — Map prototype extensions
- extendSet — Set prototype extensions
- extendMath — Math object extensions
- extendFunction — Function prototype extensions
- extendAsyncFunction — AsyncFunction prototype extensions
- extendGenerator — Generator prototype extensions
- extendAsyncGenerator — AsyncGenerator prototype extensions
Runtime / Node.js Compatible
- assert — Node.js assert module
- console — WHATWG Console API
- process — Node.js process object
- events — Node.js EventEmitter
- abort — AbortController/AbortSignal
- timers — HTML5 Timers API (setTimeout, setInterval, etc.)
- perf_hooks — Performance hooks
- module — Module utilities
- require — CommonJS require
- stack — Stack utilities
I/O & Filesystem
- fs — Node.js fs module (wraps native modules)
- fsPromises — Promise-based fs API
- io — I/O utilities
- streams — Stream utilities
- vfs — Virtual filesystem
- inotify — inotify wrapper
- tty — TTY utilities
- terminal — Terminal utilities
- socklen_t — Socket length type
Parsing, DOM & Selectors
- dom — W3C DOM API (wraps native modules)
- xpath — XPath implementation
- parser — Parser combinator framework
- grammar — Grammar utilities
- parsel — CSS selector parser
- css-selectors — CSS selector engine
- css3-selectors — CSS3 selector engine
- url — WHATWG URL API (polyfill)
Databases
- db — Database utilities
- database (
lib/database.js) — Database abstraction (undocumented)
Tooling
- repl — REPL implementation
- testharness — W3C test harness
- testharnessreport — Test harness reporting
Utilities
- buffer — Buffer utilities
- readline — Readline utilities
- describe-class (
lib/describe-class.js) — Class description utilities (undocumented) - dbi (
lib/dbi.js) — Database interface (undocumented)
Module Classification
Polyfills (Standalone JS)
Pure JavaScript implementations of standard APIs with no native dependencies:
- WHATWG/W3C/HTML5: events, url, timers, abort, console
- Node.js: assert, fs (partial), process (partial)
- Utilities: iterator, asyncIterator, arrayLike
Wrappers (Wrap Native Modules)
JavaScript code that wraps native modules to provide higher-level APIs:
- fs — Wraps misc, mmap, syscallerror
- fsPromises — Wraps fs
- dom — Wraps fs, util, timers, css3-selectors, deep, pointer, tree-walker, xml, url
- console — Wraps os, util, inspect, std
- process — Wraps os, path, util, misc, std
- assert — Wraps util
- util — Wraps misc, timers
Prototype Extensions
Extend built-in JavaScript prototypes (Array, Object, Map, etc.):
- extendArray, extendArrayBuffer, extendObject, extendMap, extendSet, extendMath
- extendFunction, extendAsyncFunction, extendGenerator, extendAsyncGenerator
Statistics
- Total JS modules: 60+
- Polyfills: 25 (standalone JS implementations)
- Wrappers: 32 (wrap native modules)
- Extensions: 10 (prototype extensions)
Standards Compliance
- WHATWG/W3C/HTML5: events, url, timers, abort, console, dom
- Node.js: assert, fs, fsPromises, process, events, util
- Custom: Many utility modules (see api-compatibility.md)