A static list of the Node.js builtin modules from the latest Node.js version
npx @tessl/cli install tessl/npm-builtin-modules@5.0.0Builtin Modules provides a static, curated list of Node.js built-in modules exported as a JSON array. It serves as a reliable reference for developers who need to programmatically identify or work with Node.js core modules across different Node.js versions, offering consistent behavior without runtime dependencies.
npm install builtin-modulesimport builtinModules from "builtin-modules";For CommonJS (via dynamic import):
const { default: builtinModules } = await import("builtin-modules");import builtinModules from "builtin-modules";
console.log(builtinModules);
//=> ['node:assert', 'assert', 'node:buffer', 'buffer', 'node:child_process', 'child_process', ...]
// Check if a module is built-in
const isBuiltIn = builtinModules.includes('fs');
console.log(isBuiltIn); //=> true
// Filter for prefixed modules only
const prefixedModules = builtinModules.filter(mod => mod.startsWith('node:'));
console.log(prefixedModules);
//=> ['node:assert', 'node:buffer', 'node:child_process', ...]
// Count total built-in modules
console.log(`Total built-in modules: ${builtinModules.length}`);
// Check for special cases and edge cases
console.log(builtinModules.includes('node:test')); //=> true
console.log(builtinModules.includes('test')); //=> false (special case)
// Verify deprecated modules are excluded
console.log(builtinModules.includes('sys')); //=> false (deprecated)
console.log(builtinModules.includes('punycode')); //=> false (deprecated)Provides access to a comprehensive, static list of all Node.js built-in module names.
declare const builtinModules: readonly string[];
export default builtinModules;The array contains strings representing Node.js built-in module names in both prefixed and non-prefixed formats:
'assert', 'buffer', 'crypto', 'fs', 'http', 'path', etc.'node:assert', 'node:buffer', 'node:crypto', 'node:fs', etc.'assert/strict', 'node:assert/strict', 'fs/promises', 'node:fs/promises', etc.'inspector/promises', 'node:inspector/promises', etc.Key characteristics:
readonly string[] preventing accidental modificationCommon use cases:
Module Inclusion Rules:
The array follows specific inclusion patterns:
'fs' and 'node:fs')'fs/promises' and 'node:fs/promises')'node:test' included, but 'test' excluded)'sys', 'punycode' not included in either form)Data structure example:
The array includes entries such as:
[
'node:assert',
'assert',
'node:assert/strict',
'assert/strict',
'node:buffer',
'buffer',
'node:child_process',
'child_process',
'node:crypto',
'crypto',
'node:fs',
'fs',
'node:fs/promises',
'fs/promises',
'node:test', // Note: 'test' (non-prefixed) is not included
'node:test/reporters',
// ... 109 total entries
]For runtime detection of built-in modules on the current Node.js version:
import { builtinModules } from 'node:module';
// Returns modules available in the current Node.js runtimeThe builtin-modules package provides a static alternative that: