| 
					
				 | 
			
			
				@@ -42,6 +42,7 @@ function AmberCompiler(amber_dir) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var createDefaultConfiguration = function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         paths: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        configFile: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         load: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         stFiles: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         jsGlobals: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -79,15 +80,32 @@ AmberCompiler.prototype.main = function (configuration, finished_callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     configuration.compiler_libraries = this.compiler_libraries; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     configuration.amber_dir = this.amber_dir; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    configuration.paths['text'] = require.resolve('requirejs-text').replace(/\.js$/, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    configuration.paths['amber/without-imports'] = path.join(__dirname, 'without-imports'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (!configuration.paths.amber) configuration.paths.amber = path.join(this.amber_dir, 'support'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (!configuration.paths.amber_core) configuration.paths.amber_core = path.join(this.amber_dir, 'src'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    configuration.requirejs = requirejs.config({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        context: "amberc", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        nodeRequire: require, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        paths: configuration.paths 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var rjsConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (configuration.configFile) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var configSrc = fs.readFileSync(configuration.configFile, "utf8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        rjsConfig = (function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var require, requirejs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            requirejs = require = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                config: function (x) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    requirejs = require = x; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            eval(configSrc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return require; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        })(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        rjsConfig = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            paths: configuration.paths 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!rjsConfig.paths.amber) rjsConfig.paths.amber = path.join(this.amber_dir, 'support'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!rjsConfig.paths.amber_core) rjsConfig.paths.amber_core = path.join(this.amber_dir, 'src'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    rjsConfig.paths['text'] = require.resolve('requirejs-text').replace(/\.js$/, ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    rjsConfig.paths['amber/without-imports'] = path.join(__dirname, 'without-imports'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    rjsConfig.nodeRequire = require; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    rjsConfig.context = "amberc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    configuration.requirejs = requirejs.config(rjsConfig); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     check_configuration(configuration) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         .then(collect_st_files) 
			 |