Create require.main, remove process.cat()
This commit is contained in:
parent
43121c15be
commit
1020efb6f7
43
src/node.js
43
src/node.js
@ -124,16 +124,6 @@ process.assert = function (x, msg) {
|
||||
if (!(x)) throw new Error(msg || "assertion error");
|
||||
};
|
||||
|
||||
process.cat = function(location, encoding) {
|
||||
var url_re = new RegExp("^http:\/\/");
|
||||
if (url_re.exec(location)) {
|
||||
throw new Error("process.cat for http urls is temporarally disabled.");
|
||||
}
|
||||
//var f = url_re.exec(location) ? process.http.cat : process.fs.cat;
|
||||
//return f(location, encoding);
|
||||
return process.fs.cat(location, encoding);
|
||||
};
|
||||
|
||||
// From jQuery.extend in the jQuery JavaScript Library v1.3.2
|
||||
// Copyright (c) 2009 John Resig
|
||||
// Dual licensed under the MIT and GPL licenses.
|
||||
@ -562,27 +552,35 @@ Module.prototype.loadObject = function (filename, loadPromise) {
|
||||
}, 0);
|
||||
};
|
||||
|
||||
Module.prototype.loadScript = function (filename, loadPromise) {
|
||||
var self = this;
|
||||
if (filename.match(/^http:\/\//)) {
|
||||
var catPromise = new process.Promise();
|
||||
loadModule('http', this)
|
||||
function cat (id, loadPromise) {
|
||||
var promise;
|
||||
|
||||
if (id.match(/^http:\/\//)) {
|
||||
promise = new process.Promise();
|
||||
loadModule('http', process.mainModule)
|
||||
.addCallback(function(http) {
|
||||
http.cat(filename)
|
||||
http.cat(id)
|
||||
.addCallback(function(content) {
|
||||
catPromise.emitSuccess(content);
|
||||
promise.emitSuccess(content);
|
||||
})
|
||||
.addErrback(function() {
|
||||
catPromise.emitError.apply(null, arguments);
|
||||
promise.emitError.apply(null, arguments);
|
||||
});
|
||||
})
|
||||
.addErrback(function() {
|
||||
loadPromise.emitError(new Error("could not load core module \"http\""));
|
||||
});
|
||||
} else {
|
||||
var catPromise = process.cat(filename);
|
||||
promise = process.fs.cat(id);
|
||||
}
|
||||
|
||||
return promise;
|
||||
}
|
||||
|
||||
Module.prototype.loadScript = function (filename, loadPromise) {
|
||||
var self = this;
|
||||
var catPromise = cat(filename, loadPromise);
|
||||
|
||||
catPromise.addErrback(function () {
|
||||
loadPromise.emitError(new Error("Error reading " + filename));
|
||||
});
|
||||
@ -601,6 +599,7 @@ Module.prototype.loadScript = function (filename, loadPromise) {
|
||||
|
||||
require.paths = process.paths;
|
||||
require.async = requireAsync;
|
||||
require.main = process.mainModule;
|
||||
|
||||
// create wrapper function
|
||||
var wrapper = "var __wrap__ = function (exports, require, module, __filename) { "
|
||||
@ -651,10 +650,10 @@ if (process.ARGV[1].charAt(0) != "/" && !/^http:\/\//.exec(process.ARGV[1])) {
|
||||
process.ARGV[1] = path.join(cwd, process.ARGV[1]);
|
||||
}
|
||||
|
||||
// Load the root module--the command line argument.
|
||||
var m = createModule(".");
|
||||
// Load the main module--the command line argument.
|
||||
process.mainModule = createModule(".");
|
||||
var loadPromise = new process.Promise();
|
||||
m.load(process.ARGV[1], loadPromise);
|
||||
process.mainModule.load(process.ARGV[1], loadPromise);
|
||||
loadPromise.wait();
|
||||
|
||||
}()); // end annonymous namespace
|
||||
|
Loading…
x
Reference in New Issue
Block a user