> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/nodejs/userland-migrations/llms.txt
> Use this file to discover all available pages before exploring further.

# repl.builtinModules to module.builtinModules

> Migrate from repl.builtinModules and repl._builtinLibs to module.builtinModules (DEP0191, DEP0142)

This recipe migrates code from the deprecated `repl.builtinModules` and `repl._builtinLibs` properties to the stable `module.builtinModules` API.

## Deprecation

Node.js deprecated `repl.builtinModules` and `repl._builtinLibs` in favor of `module.builtinModules`.

See [DEP0191](https://nodejs.org/api/deprecations.html#DEP0191) and [DEP0142](https://nodejs.org/api/deprecations.html#DEP0142) for more details.

## Usage

Run this codemod with:

```bash theme={null}
npx codemod nodejs/repl-builtin-modules
```

## Before/After

```diff theme={null}
- import repl from 'node:repl';
+ import module from 'node:module';

- console.log(repl.builtinModules);
+ console.log(module.builtinModules);
- console.log(repl._builtinLibs);
+ console.log(module.builtinModules);
```

## What It Does

* Replaces `repl.builtinModules` with `module.builtinModules`
* Replaces `repl._builtinLibs` with `module.builtinModules`
* Updates imports from `node:repl` to `node:module` when appropriate
* Works with both ESM and CommonJS patterns

## Common Use Cases

### Listing Built-in Modules

```diff theme={null}
- const repl = require('node:repl');
+ const module = require('node:module');

- const builtins = repl.builtinModules;
+ const builtins = module.builtinModules;
  console.log(builtins);
  // ['fs', 'path', 'http', ...]
```

### Checking if Module is Built-in

```diff theme={null}
- import repl from 'node:repl';
+ import module from 'node:module';

  function isBuiltin(name) {
-   return repl.builtinModules.includes(name);
+   return module.builtinModules.includes(name);
  }

  console.log(isBuiltin('fs'));      // true
  console.log(isBuiltin('express')); // false
```

<Warning>
  The property `repl._builtinLibs` was always a private API (prefixed with `_`). Always use `module.builtinModules` for stable, public access.
</Warning>

<Tip>
  The `module.builtinModules` array includes all built-in Node.js modules like 'fs', 'path', 'http', 'crypto', etc. Use it to validate module names or build autocomplete features.
</Tip>
