Node v0.9.5 の各標準モジュールが読み込んでいるモジュール一覧

Node v0.9.5 の各標準モジュール内の require と inherits を含む行を取り出してみた。
ただ、抜き出してるだけ。

```----------------_debugger.js----------------
 
■require 
  var util = require('util'), 
■require 
      path = require('path'), 
■require 
      net = require('net'), 
■require 
      vm = require('vm'), 
■require 
      repl = require('repl'), 
■require 
      spawn = require('child_process').spawn; 
★inherits 
    inherits(Client, net.Stream); 
■require 
          var wrapper = require('module').wrapper[0]; 

----------------_linklist.js----------------
 

----------------_stream_duplex.js----------------
 
■require 
  var util = require('util'); 
■require 
  var Readable = require('_stream_readable'); 
■require 
  var Writable = require('_stream_writable'); 
★inherits 
    util.inherits(Duplex, Readable); 

注：これみると一瞬、Writableはどうしたの？と思ってしまいますが、
その直後にこういうこと↓をしています。つまり、Readable のメソ
ッド上書きを避けつつ(優先して)Writableのprototypeメソッド(厳密
にはプロパティだとおもうけど)をDuplex.prototypeへコピーしています。

Object.keys(Writable.prototype).forEach(function(method) {
  if (!Duplex.prototype[method])
    Duplex.prototype[method] = Writable.prototype[method];
});

----------------_stream_passthrough.js----------------
 
■require 
  var Transform = require('_stream_transform'); 
■require 
  var util = require('util'); 
★inherits 
    util.inherits(PassThrough, Transform); 

----------------_stream_readable.js----------------
 
■require 
  var Stream = require('stream'); 
■require 
  var util = require('util'); 
★inherits 
    util.inherits(Readable, Stream); 
■require 
        StringDecoder = require('string_decoder').StringDecoder; 
■require 
      StringDecoder = require('string_decoder').StringDecoder; 

----------------_stream_transform.js----------------
 
■require 
  var Duplex = require('_stream_duplex'); 
■require 
  var util = require('util'); 
★inherits 
    util.inherits(Transform, Duplex); 

----------------_stream_writable.js----------------
 
■require 
  var util = require('util'); 
■require 
  var assert = require('assert'); 
■require 
  var Stream = require('stream'); 
★inherits 
    util.inherits(Writable, Stream); 

----------------assert.js----------------
 
■require 
  var util = require('util'); 
★inherits 
    util.inherits(assert.AssertionError, Error); 

----------------buffer.js----------------
 
■require 
  var assert = require('assert'); 
■require 
    return require('buffer_ieee754').readIEEE754(buffer, offset, isBigEndian, 
■require 
    return require('buffer_ieee754').readIEEE754(buffer, offset, isBigEndian, 
■require 
    require('buffer_ieee754').writeIEEE754(buffer, value, offset, isBigEndian, 
■require 
    require('buffer_ieee754').writeIEEE754(buffer, value, offset, isBigEndian, 

----------------buffer_ieee754.js----------------
 

----------------child_process.js----------------
 
■require 
  var EventEmitter = require('events').EventEmitter; 
■require 
  var net = require('net'); 
■require 
  var util = require('util'); 
★inherits 
    util.inherits(SocketListSend, EventEmitter); 
★inherits 
    util.inherits(SocketListReceive, EventEmitter); 
★inherits 
    util.inherits(ChildProcess, EventEmitter); 

----------------cluster.js----------------
 
■require 
  var assert = require('assert'); 
■require 
  var fork = require('child_process').fork; 
■require 
  var net = require('net'); 
■require 
  var EventEmitter = require('events').EventEmitter; 
■require 
  var util = require('util'); 
★inherits 
    util.inherits(Cluster, EventEmitter); 
★inherits 
    util.inherits(Worker, EventEmitter); 

----------------console.js----------------
 
■require 
  var util = require('util'); 
■require 
      require('assert').ok(false, util.format.apply(this, arr)); 

----------------constants.js----------------
 

----------------crypto.js----------------
 
■require 
  var stream = require('stream'); 
■require 
  var util = require('util'); 
■require 
  var assert = require('assert'); 
■require 
  var StringDecoder = require('string_decoder').StringDecoder; 
★inherits 
    util.inherits(Hash, stream.Transform); 
★inherits 
    util.inherits(Hmac, stream.Transform); 
★inherits 
    util.inherits(Cipher, stream.Transform); 
★inherits 
    util.inherits(Cipheriv, stream.Transform); 
★inherits 
    util.inherits(Decipher, stream.Transform); 
★inherits 
    util.inherits(Decipheriv, stream.Transform); 
★inherits 
    util.inherits(Sign, stream.Writable); 
★inherits 
    util.inherits(Verify, stream.Writable); 

----------------dgram.js----------------
 
■require 
  var util = require('util'); 
■require 
  var events = require('events'); 
■require 
      net = require('net'); 
■require 
      dns = require('dns'); 
★inherits 
    util.inherits(Socket, events.EventEmitter); 

----------------dns.js----------------
 
■require 
      net = require('net'), 

----------------domain.js----------------
 
■require 
  var util = require('util'); 
■require 
  var events = require('events'); 
★inherits 
    inherits(Domain, EventEmitter); 

----------------events.js----------------
 
■require 
      domain = domain || require('domain'); 

----------------freelist.js----------------
 

----------------fs.js----------------
 
■require 
  var util = require('util'); 
■require 
  var pathModule = require('path'); 
■require 
  var Stream = require('stream').Stream; 
■require 
  var EventEmitter = require('events').EventEmitter; 
★inherits 
    util.inherits(FSWatcher, EventEmitter); 
★inherits 
    util.inherits(StatWatcher, EventEmitter); 
★inherits 
    util.inherits(ReadStream, Readable); 
★inherits 
    util.inherits(WriteStream, Writable); 
★inherits 
    util.inherits(SyncWriteStream, Stream); 

----------------http.js----------------
 
■require 
  var util = require('util'); 
■require 
  var net = require('net'); 
■require 
  var Stream = require('stream'); 
■require 
  var url = require('url'); 
■require 
  var EventEmitter = require('events').EventEmitter; 
■require 
  var FreeList = require('freelist').FreeList; 
■require 
  var assert = require('assert').ok; 
★inherits 
    util.inherits(IncomingMessage, Stream.Readable); 
★inherits 
    util.inherits(OutgoingMessage, Stream); 
★inherits 
    util.inherits(ServerResponse, OutgoingMessage); 
★inherits 
    util.inherits(Agent, EventEmitter); 
★inherits 
    util.inherits(ClientRequest, OutgoingMessage); 
★inherits 
    util.inherits(Server, net.Server); 
★inherits 
    util.inherits(Client, EventEmitter); 

----------------https.js----------------
 
■require 
  var tls = require('tls'); 
■require 
  var http = require('http'); 
■require 
  var util = require('util'); 
■require 
  var url = require('url'); 
■require 
  var inherits = require('util').inherits; 
★inherits 
    inherits(Server, tls.Server); 
★inherits 
    inherits(Agent, http.Agent); 

----------------module.js----------------
 
■require 
  var NativeModule = require('native_module'); 
■require 
  var assert = require('assert').ok; 
■require 
  var path = NativeModule.require('path'); 
■require 
  // require("a.<ext>") 
■require 
  // require("a") 
■require 
    var fs = NativeModule.require('fs'); 
■require 
    var fs = NativeModule.require('fs'); 
■require 
    var fs = NativeModule.require('fs'); 
■require 
      // make require('./path/to/foo') work - normally the path is taken 
■require 
    // make sure require('./path') and require('path') get distinct ids, even 
■require 
      return NativeModule.require(filename); 
■require 
    function require(path) { 
■require 
      return self.require(path); 
■require 
    var content = NativeModule.require('fs').readFileSync(filename, 'utf8'); 
■require 
    var content = NativeModule.require('fs').readFileSync(filename, 'utf8'); 

----------------net.js----------------
 
■require 
  var events = require('events'); 
■require 
  var stream = require('stream'); 
■require 
  var timers = require('timers'); 
■require 
  var util = require('util'); 
■require 
  var assert = require('assert'); 
★inherits 
    util.inherits(Socket, stream.Duplex); 
■require 
      require('dns').lookup(host, function(err, ip, addressType) { 
★inherits 
    util.inherits(Server, events.EventEmitter); 
■require 
    if (!cluster) cluster = require('cluster'); 
■require 
      require('dns').lookup(arguments[1], function(err, ip, addressType) { 

----------------os.js----------------
 
■require 
  var util = require('util'); 

----------------path.js----------------
 
■require 
  var util = require('util'); 
■require 
    require('fs').exists(path, callback); 
■require 
    return require('fs').existsSync(path); 

----------------punycode.js----------------
 

----------------querystring.js----------------
 

----------------readline.js----------------
 
■require 
  var util = require('util'); 
■require 
  var inherits = require('util').inherits; 
■require 
  var EventEmitter = require('events').EventEmitter; 
■require 
      var StringDecoder = require('string_decoder').StringDecoder; // lazy load 
★inherits 
    inherits(Interface, EventEmitter); 
■require 
    var StringDecoder = require('string_decoder').StringDecoder; // lazy load 

----------------repl.js----------------
 
■require 
   *   var repl = require("/repl.js"); 
■require 
  var util = require('util'); 
■require 
  var inherits = require('util').inherits; 
■require 
  var Stream = require('stream'); 
■require 
  var vm = require('vm'); 
■require 
  var path = require('path'); 
■require 
  var fs = require('fs'); 
■require 
  var rl = require('readline'); 
■require 
  var Console = require('console').Console; 
■require 
  var EventEmitter = require('events').EventEmitter; 
■require 
  module.paths = require('module')._nodeModulePaths(module.filename); 
■require 
        var lib = require(cmd); 
★inherits 
    inherits(REPLServer, EventEmitter); 
★inherits 
    util.inherits(ArrayStream, Stream); 
■require 
      // require('...<Tab>') 
■require 
      var paths = module.paths.concat(require('module').globalPaths); 

----------------stream.js----------------
 
■require 
  var events = require('events'); 
■require 
  var util = require('util'); 
★inherits 
    util.inherits(Stream, events.EventEmitter); 
■require 
  Stream.Readable = require('_stream_readable'); 
■require 
  Stream.Writable = require('_stream_writable'); 
■require 
  Stream.Duplex = require('_stream_duplex'); 
■require 
  Stream.Transform = require('_stream_transform'); 
■require 
  Stream.PassThrough = require('_stream_passthrough'); 

----------------string_decoder.js----------------
 

----------------sys.js----------------
 
■require 
  module.exports = require('util'); 

----------------timers.js----------------
 
■require 
  var L = require('_linklist'); 
■require 
  var assert = require('assert').ok; 
■require 
    debug = function() { require('util').error.apply(this, arguments); }; 

----------------tls.js----------------
 
■require 
  var crypto = require('crypto'); 
■require 
  var util = require('util'); 
■require 
  var net = require('net'); 
■require 
  var url = require('url'); 
■require 
  var events = require('events'); 
■require 
  var Stream = require('stream'); 
■require 
  var assert = require('assert').ok; 
■require 
  var constants = require('constants'); 
★inherits 
    util.inherits(CryptoStream, Stream); 
■require 
    var StringDecoder = require('string_decoder').StringDecoder; // lazy load 
★inherits 
    util.inherits(CleartextStream, CryptoStream); 
★inherits 
    util.inherits(EncryptedStream, CryptoStream); 
★inherits 
    util.inherits(SecurePair, events.EventEmitter); 
★inherits 
    util.inherits(Server, net.Server); 

----------------tty.js----------------
 
■require 
  var assert = require('assert'); 
■require 
  var inherits = require('util').inherits; 
■require 
  var net = require('net'); 
■require 
  var util = require('util'); 
★inherits 
    inherits(ReadStream, net.Socket); 
★inherits 
    inherits(WriteStream, net.Socket); 
■require 
    require('readline').cursorTo(this, x, y); 
■require 
    require('readline').moveCursor(this, dx, dy); 
■require 
    require('readline').clearLine(this, dir); 
■require 
    require('readline').clearScreenDown(this); 

----------------url.js----------------
 
■require 
  var punycode = require('punycode'); 
■require 
      querystring = require('querystring'); 

----------------util.js----------------
 
■require 
    return require('child_process').exec.apply(this, arguments); 

----------------vm.js----------------
 

----------------zlib.js----------------
 
■require 
  var Transform = require('_stream_transform'); 
■require 
  var util = require('util'); 
■require 
  var assert = require('assert').ok; 
★inherits 
    util.inherits(Zlib, Transform); 
★inherits 
    util.inherits(Deflate, Zlib); 
★inherits 
    util.inherits(Inflate, Zlib); 
★inherits 
    util.inherits(Gzip, Zlib); 
★inherits 
    util.inherits(Gunzip, Zlib); 
★inherits 
    util.inherits(DeflateRaw, Zlib); 
★inherits 
    util.inherits(InflateRaw, Zlib); 
★inherits 
    util.inherits(Unzip, Zlib); 
```