summaryrefslogtreecommitdiff
path: root/lib/module.js
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2015-11-25 22:27:29 +0100
committerBen Noordhuis <info@bnoordhuis.nl>2015-11-30 23:58:27 +0100
commitee72ee753118f2576bfd1ccf58fb2ff651e8bfb0 (patch)
treec9d04821f0dca4b994a3d74011ae3f806aa861c6 /lib/module.js
parentf4f1e89bf19dc0518050e4b44ecb0e3cff178023 (diff)
downloadandroid-node-v8-ee72ee753118f2576bfd1ccf58fb2ff651e8bfb0.tar.gz
android-node-v8-ee72ee753118f2576bfd1ccf58fb2ff651e8bfb0.tar.bz2
android-node-v8-ee72ee753118f2576bfd1ccf58fb2ff651e8bfb0.zip
module,repl: remove repl require() hack
Remove a hack that was introduced in commit bb6d468d from November 2010. This is groundwork for a follow-up commit that makes it possible to use internal modules in lib/repl.js. PR-URL: https://github.com/nodejs/node/pull/4026 Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'lib/module.js')
-rw-r--r--lib/module.js43
1 files changed, 8 insertions, 35 deletions
diff --git a/lib/module.js b/lib/module.js
index 8b9b59551e..6a4cd885a3 100644
--- a/lib/module.js
+++ b/lib/module.js
@@ -274,17 +274,6 @@ Module._load = function(request, parent, isMain) {
debug('Module._load REQUEST %s parent: %s', request, parent.id);
}
- // REPL is a special case, because it needs the real require.
- if (request === 'internal/repl' || request === 'repl') {
- if (Module._cache[request]) {
- return Module._cache[request];
- }
- var replModule = new Module(request);
- replModule._compile(NativeModule.getSource(request), `${request}.js`);
- NativeModule._cache[request] = replModule;
- return replModule.exports;
- }
-
var filename = Module._resolveFilename(request, parent);
var cachedModule = Module._cache[filename];
@@ -376,27 +365,9 @@ var resolvedArgv;
// the file.
// Returns exception, if any.
Module.prototype._compile = function(content, filename) {
- var self = this;
// remove shebang
content = content.replace(shebangRe, '');
- function require(path) {
- return self.require(path);
- }
-
- require.resolve = function(request) {
- return Module._resolveFilename(request, self);
- };
-
- require.main = process.mainModule;
-
- // Enable support to add extra extension types
- require.extensions = Module._extensions;
-
- require.cache = Module._cache;
-
- var dirname = path.dirname(filename);
-
// create wrapper function
var wrapper = Module.wrap(content);
@@ -421,8 +392,10 @@ Module.prototype._compile = function(content, filename) {
global.v8debug.Debug.setBreakPoint(compiledWrapper, 0, 0);
}
}
- var args = [self.exports, require, self, filename, dirname];
- return compiledWrapper.apply(self.exports, args);
+ const dirname = path.dirname(filename);
+ const require = internalModule.makeRequireFunction.call(this);
+ const args = [this.exports, require, this, filename, dirname];
+ return compiledWrapper.apply(this.exports, args);
};
@@ -488,10 +461,10 @@ Module._initPaths = function() {
Module.globalPaths = modulePaths.slice(0);
};
-// bootstrap repl
-Module.requireRepl = function() {
- return Module._load('internal/repl', '.');
-};
+// TODO(bnoordhuis) Unused, remove in the future.
+Module.requireRepl = internalUtil.deprecate(function() {
+ return NativeModule.require('internal/repl');
+}, 'Module.requireRepl is deprecated.');
Module._preloadModules = function(requests) {
if (!Array.isArray(requests))