aboutsummaryrefslogtreecommitdiff
path: root/node_modules/montage-user/require/node.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/montage-user/require/node.js')
-rw-r--r--node_modules/montage-user/require/node.js101
1 files changed, 0 insertions, 101 deletions
diff --git a/node_modules/montage-user/require/node.js b/node_modules/montage-user/require/node.js
deleted file mode 100644
index 568410cf..00000000
--- a/node_modules/montage-user/require/node.js
+++ /dev/null
@@ -1,101 +0,0 @@
1
2var Require = require("./require");
3var URL = require("../core/url");
4var Promise = require("../core/promise").Promise;
5var FS = require("fs");
6
7var globalEval = eval;
8
9Require.getLocation = function () {
10 return URL.resolve("file:///", process.cwd() + "/");
11};
12
13var urlToPath = function (url) {
14 var parsed = URL.parse(url);
15 return parsed.path;
16};
17
18Require.read = function (url) {
19 var deferred = Promise.defer();
20 var path = urlToPath(url);
21 FS.readFile(path, "utf-8", function (error, text) {
22 if (error) {
23 deferred.reject(new Error(error));
24 } else {
25 deferred.resolve(text);
26 }
27 });
28 return deferred.promise;
29};
30
31// Compiles module text into a function.
32// Can be overriden by the platform to make the engine aware of the source path. Uses sourceURL hack by default.
33Require.Compiler = function (config) {
34 config.scope = config.scope || {};
35 var names = ["require", "exports", "module"];
36 var scopeNames = Object.keys(config.scope);
37 names.push.apply(names, scopeNames);
38 return function(module) {
39 if (module.factory)
40 return module;
41 if (!module.factory && module.text !== void 0) {
42 var factory = globalEval(
43 "(function(" + names.join(",") + "){" +
44 module.text +
45 "\n//*/\n})\n//@ sourceURL=" + module.location
46 );
47 module.factory = function (require, exports, module) {
48 Array.prototype.push.apply(arguments, scopeNames.map(function (name) {
49 return config.scope[name];
50 }));
51 return factory.apply(this, arguments);
52 };
53 // new Function will have its body reevaluated at every call, hence using eval instead
54 // https://developer.mozilla.org/en/JavaScript/Reference/Functions_and_function_scope
55 //module.factory = new Function("require", "exports", "module", module.text + "\n//*/\n//@ sourceURL="+module.path);
56 }
57 return module;
58 };
59};
60
61Require.DefaultLoaderConstructor = function(config) {
62 return Require.MappingsLoader(
63 config,
64 Require.ExtensionsLoader(
65 config,
66 Require.PathsLoader(
67 config,
68 Require.CachingLoader(
69 config,
70 Require.Loader(
71 config,
72 Require.NodeLoader(config)
73 )
74 )
75 )
76 )
77 );
78};
79
80Require.NodeLoader = function (config) {
81 return function (url, module) {
82 var id = url.slice(config.location.length);
83 return {
84 type: "native",
85 exports: require(id),
86 location: url
87 }
88 };
89}
90
91Require.main = function () {
92 var require = Require.Sandbox();
93 require.async(process.argv[2]).end();
94};
95
96Require.overlays = ["node", "server", "montage"];
97
98if (require.main === module) {
99 Require.main();
100}
101