Exact list of Node core modules

If you don't mind accessing underscore-prefixed properties, repl exports a _builtinLibs array:

$ node -pe "require('repl')._builtinLibs"
[ 'assert',
  'buffer',
  'child_process',
  'cluster',
  'crypto',
  'dgram',
  'dns',
  'domain',
  'events',
  'fs',
  'http',
  'https',
  'net',
  'os',
  'path',
  'punycode',
  'querystring',
  'readline',
  'stream',
  'string_decoder',
  'tls',
  'tty',
  'url',
  'util',
  'v8',
  'vm',
  'zlib' ]

That list isn't as "complete" as the list provided by the builtin-modules module in that it does not include undocumented and similar modules.


As of Node v9.3.0, you just do this:

require("module").builtinModules
[ 'async_hooks',
  'assert',
  'buffer',
  'child_process',
  'console',
  'constants',
  'crypto',
  'cluster',
  'dgram',
  'dns',
  'domain',
  'events',
  'fs',
  'http',
  'http2',
  '_http_agent',
  '_http_client',
  '_http_common',
  '_http_incoming',
  '_http_outgoing',
  '_http_server',
  'https',
  'inspector',
  'module',
  'net',
  'os',
  'path',
  'perf_hooks',
  'process',
  'punycode',
  'querystring',
  'readline',
  'repl',
  'stream',
  '_stream_readable',
  '_stream_writable',
  '_stream_duplex',
  '_stream_transform',
  '_stream_passthrough',
  '_stream_wrap',
  'string_decoder',
  'sys',
  'timers',
  'tls',
  '_tls_common',
  '_tls_legacy',
  '_tls_wrap',
  'tty',
  'url',
  'util',
  'v8',
  'vm',
  'zlib',
  'v8/tools/splaytree',
  'v8/tools/codemap',
  'v8/tools/consarray',
  'v8/tools/csvparser',
  'v8/tools/profile',
  'v8/tools/profile_view',
  'v8/tools/logreader',
  'v8/tools/tickprocessor',
  'v8/tools/SourceMap',
  'v8/tools/tickprocessor-driver',
  'node-inspect/lib/_inspect',
  'node-inspect/lib/internal/inspect_client',
  'node-inspect/lib/internal/inspect_repl' ]

see https://nodejs.org/api/modules.html#modules_module_builtinmodules


J4F: you can use the github api and get a list of files directly in JSON format.

var http = require('https')
var path = require('path')

var options = {
  hostname: 'api.github.com',
  path: '/repos/nodejs/node/contents/lib',
  method: 'GET',
  headers: { 'Content-Type': 'application/json', 
             'user-agent': 'nodejs/node' 
  }
}

var req = http.request(options, (res) => {
  res.setEncoding('utf8')
  var body = ""
  res.on('data', (data) => { body += data })
  res.on('end', () => {
    var list = []
    body = JSON.parse(body)
    body.forEach( (f) => {
      if (f.type === 'file' && f.name[0]!=='_' && f.name[0]!=='.') {
        list.push(path.basename(f.name,'.js'))
      }
    })
    console.log(list)
  })
})
req.on('error', (e) => { throw (e) } )
req.end()

Tags:

Node.Js