aboutsummaryrefslogtreecommitdiff
path: root/node_modules/montage/require/node.js
diff options
context:
space:
mode:
authorJon Reid2012-03-09 16:47:26 -0800
committerJon Reid2012-03-09 16:47:26 -0800
commitbe59c44f9232104ded1a9c4cd888d70021eba33e (patch)
treeb94c8432759362e035f15c0936c575a2861b6ad8 /node_modules/montage/require/node.js
parent54b31ecbd4c9877183850542227c61946a62aa4f (diff)
parenta28cb88194f45325e42dd8c774469424712dd6f4 (diff)
downloadninja-be59c44f9232104ded1a9c4cd888d70021eba33e.tar.gz
Merge remote-tracking branch 'ninja-jduran/TimelineUber' into Timeline-local
Diffstat (limited to 'node_modules/montage/require/node.js')
-rw-r--r--node_modules/montage/require/node.js49
1 files changed, 32 insertions, 17 deletions
diff --git a/node_modules/montage/require/node.js b/node_modules/montage/require/node.js
index 9fcea3f5..3ba5a322 100644
--- a/node_modules/montage/require/node.js
+++ b/node_modules/montage/require/node.js
@@ -40,10 +40,13 @@ Require.Compiler = function (config) {
40 var names = ["require", "exports", "module"]; 40 var names = ["require", "exports", "module"];
41 var scopeNames = Object.keys(config.scope); 41 var scopeNames = Object.keys(config.scope);
42 names.push.apply(names, scopeNames); 42 names.push.apply(names, scopeNames);
43 return function(module) { 43 return function (module) {
44 if (module.factory) 44 if (module.factory) {
45 return module; 45 return module;
46 if (!module.factory && module.text !== void 0) { 46 } else if (
47 module.text !== void 0 &&
48 module.type === "javascript"
49 ) {
47 var factory = globalEval( 50 var factory = globalEval(
48 "(function(" + names.join(",") + "){" + 51 "(function(" + names.join(",") + "){" +
49 module.text + 52 module.text +
@@ -59,18 +62,41 @@ Require.Compiler = function (config) {
59 // https://developer.mozilla.org/en/JavaScript/Reference/Functions_and_function_scope 62 // https://developer.mozilla.org/en/JavaScript/Reference/Functions_and_function_scope
60 //module.factory = new Function("require", "exports", "module", module.text + "\n//*/\n//@ sourceURL="+module.path); 63 //module.factory = new Function("require", "exports", "module", module.text + "\n//*/\n//@ sourceURL="+module.path);
61 } 64 }
62 return module;
63 }; 65 };
64}; 66};
65 67
66Require.DefaultLoaderConstructor = function(config) { 68Require.Loader = function (config, load) {
69 return function (url, module) {
70 return Require.read(url)
71 .then(function (text) {
72 module.type = "javascript";
73 module.text = text;
74 module.location = url;
75 }, function (reason, error, rejection) {
76 return load(url, module);
77 });
78 };
79};
80
81Require.NodeLoader = function (config) {
82 return function (url, module) {
83 var id = url.slice(config.location.length);
84 return {
85 type: "native",
86 exports: require(id),
87 location: url
88 }
89 };
90};
91
92Require.makeLoader = function(config) {
67 return Require.MappingsLoader( 93 return Require.MappingsLoader(
68 config, 94 config,
69 Require.ExtensionsLoader( 95 Require.ExtensionsLoader(
70 config, 96 config,
71 Require.PathsLoader( 97 Require.PathsLoader(
72 config, 98 config,
73 Require.CachingLoader( 99 Require.MemoizedLoader(
74 config, 100 config,
75 Require.Loader( 101 Require.Loader(
76 config, 102 config,
@@ -82,17 +108,6 @@ Require.DefaultLoaderConstructor = function(config) {
82 ); 108 );
83}; 109};
84 110
85Require.NodeLoader = function (config) {
86 return function (url, module) {
87 var id = url.slice(config.location.length);
88 return {
89 type: "native",
90 exports: require(id),
91 location: url
92 }
93 };
94}
95
96Require.main = function () { 111Require.main = function () {
97 var require = Require.Sandbox(); 112 var require = Require.Sandbox();
98 require.async(process.argv[2]).end(); 113 require.async(process.argv[2]).end();