# node:module

<!-- Generated from reports/manifest.json by `node ./scripts/api-docs.ts`.
     Do not edit this file. Run `pnpm run docs` to rebuild it.
     Node v26.7.0, commit 975a25d, 2026-08-27T21:51:46.116Z. -->

# `node:module`

## Import

```js
import module from "nstdlib/module";
```

> [!NOTE]
> Behaviour verified against the host's own copy of three real npm packages, through both loaders. `createRequire()` resolves and runs CommonJS out of a `node:vfs` mount on four bindings diffed against the host's, and needs `unsafe-eval`. `import()` of CommonJS, JSON and registered builtins works over the same mount, and so does the whole ES module resolver. ES module *source text* needs a module compiler no JavaScript API exposes, so it throws `ERR_NSTDLIB_NO_MODULE_COMPILER` unless a host installs one on `node_binding_module_wrap_compileSourceTextModule`, which `native/` does. `enableCompileCache()` reports a `FAILED` status rather than throwing, because there is no disk to cache to. `runMain` is undefined.

## Runtime support

| Where it runs | Status | Export coverage | Details |
| ------------- | ------ | --------------- | ------- |
| **nstd** | ✅ works | – | Native tests match Node.js: esm. |
| **Browser** | ⚠️ some support | 97% of Node.js | It imports with the small process shim. 32/33 Node.js exports are available. No module-specific behavior test ran. |
| **Node.js (host)** | ✅ works | 97% of Node.js | 32/33 exports. |

## Exports (32 of 33)

Each cell shows what happens when code reads an export:

- ✅ Available through every import style. A named error also counts.
- ⚠️ Available through only some import styles.
- ❔ The export exists but has no value.
- ❌ The export does not exist.
- – This environment was not measured.

| Export | Node.js | nstdlib | browser |
| ------ | ------- | ------- | ------- |
| `Module` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `SourceMap` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `_cache` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `_extensions` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `_findPath` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `_initPaths` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `_load` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `_nodeModulePaths` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `_pathCache` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `_preloadModules` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `_readPackage` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `_resolveFilename` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `_resolveLookupPaths` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `_stat` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `builtinModules` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `constants` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `createRequire` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `enableCompileCache` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `findPackageJSON` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `findSourceMap` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `flushCompileCache` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `getCompileCacheDir` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `getSourceMapsSupport` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `globalPaths` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `isBuiltin` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `register` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `registerHooks` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `runMain` | <span title="Available" aria-label="Available">✅</span> | <span title="Undefined" aria-label="Undefined">❔</span> | <span title="Missing" aria-label="Missing">❌</span> |
| `setSourceMapsSupport` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `stripTypeScriptTypes` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `syncBuiltinESMExports` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `wrap` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `wrapper` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |

## Missing exports (1)

These exports exist in Node.js but not in nstdlib:

- `runMain (undefined)`
