Skip to content
This repository was archived by the owner on May 29, 2022. It is now read-only.

Commit bf42272

Browse files
committed
Merge pull request #1 from Trott/_linklist
do not hardcode native modules list
2 parents 61dde8d + b3ea440 commit bf42272

File tree

1 file changed

+10
-83
lines changed

1 file changed

+10
-83
lines changed

nodeCjsDeps/Global.js

Lines changed: 10 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -8,93 +8,20 @@
88
'use strict';
99

1010
var Klass = require('node-klass'),
11-
assert = require('assert'),
12-
child_process = require('child_process'),
13-
console = require('console'),
14-
crypto = require('crypto'),
15-
dgram = require('dgram'),
16-
domain = require('domain'),
17-
freelist = require('freelist'),
18-
http = require('http'),
19-
_linklist = require('_linklist'),
20-
net = require('net'),
21-
path = require('path'),
22-
querystring = require('querystring'),
23-
repl = require('repl'),
24-
stream = require('stream'),
25-
_stream_readable = require('_stream_readable'),
26-
_stream_writable = require('_stream_writable'),
27-
sys = require('sys'),
28-
tls = require('tls'),
29-
url = require('url'),
30-
vm = require('vm'),
31-
buffer = require('buffer'),
32-
cluster = require('cluster'),
33-
constants = require('constants'),
34-
_debugger = require('_debugger'),
35-
dns = require('dns'),
36-
events = require('events'),
37-
fs = require('fs'),
38-
https = require('https'),
39-
module = require('module'),
40-
os = require('os'),
41-
punycode = require('punycode'),
42-
readline = require('readline'),
43-
_stream_duplex = require('_stream_duplex'),
44-
_stream_passthrough = require('_stream_passthrough'),
45-
_stream_transform = require('_stream_transform'),
46-
string_decoder = require('string_decoder'),
47-
timers = require('timers'),
48-
tty = require('tty'),
49-
util = require('util'),
50-
zlib = require('zlib'),
51-
Listener = Klass.Listener;
11+
Listener = Klass.Listener,
12+
vm = require('vm');
13+
14+
var nativeModules = Object.keys(process.binding('natives'))
15+
.filter(function (el) { return !/^internal/.test(el); })
16+
.reduce(function(accumulator, cur) {
17+
accumulator[cur] = require(cur);
18+
return accumulator;
19+
}, {});
5220

5321
module.exports = Klass.define('NodeCjsDeps.Global',{
5422

5523
statics: {
56-
nodejs: {
57-
assert: assert,
58-
child_process: child_process,
59-
console: console,
60-
crypto: crypto,
61-
dgram: dgram,
62-
domain: domain,
63-
freelist: freelist,
64-
http: http,
65-
_linklist: _linklist,
66-
net: net,
67-
path: path,
68-
querystring: querystring,
69-
repl: repl,
70-
stream: stream,
71-
_stream_readable: _stream_readable,
72-
_stream_writable: _stream_writable,
73-
sys: sys,
74-
tls: tls,
75-
url: url,
76-
vm: vm,
77-
buffer: buffer,
78-
cluster: cluster,
79-
constants: constants,
80-
_debugger: _debugger,
81-
dns: dns,
82-
events: events,
83-
fs: fs,
84-
https: https,
85-
module: module,
86-
os: os,
87-
punycode: punycode,
88-
readline: readline,
89-
_stream_duplex: _stream_duplex,
90-
_stream_passthrough: _stream_passthrough,
91-
_stream_transform: _stream_transform,
92-
string_decoder: string_decoder,
93-
timers: timers,
94-
tty: tty,
95-
util: util,
96-
zlib: zlib
97-
}
24+
nodejs: nativeModules
9825
},
9926

10027
constructor: function(){

0 commit comments

Comments
 (0)