| 
									
										
										
										
											2012-03-12 04:50:55 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 	MIT License http://www.opensource.org/licenses/mit-license.php
 | 
					
						
							|  |  |  | 	Author Tobias Koppers @sokra | 
					
						
							|  |  |  | */ | 
					
						
							| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | var Compiler = require("./Compiler"); | 
					
						
							|  |  |  | var NodeEnvironmentPlugin = require("./node/NodeEnvironmentPlugin"); | 
					
						
							|  |  |  | var WebpackOptionsApply = require("./WebpackOptionsApply"); | 
					
						
							|  |  |  | var WebpackOptionsDefaulter = require("./WebpackOptionsDefaulter"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function webpack(options, callback) { | 
					
						
							|  |  |  | 	new WebpackOptionsDefaulter().process(options); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	var compiler = new Compiler(); | 
					
						
							|  |  |  | 	compiler.options = options; | 
					
						
							|  |  |  | 	compiler.options = new WebpackOptionsApply().process(options, compiler); | 
					
						
							|  |  |  | 	new NodeEnvironmentPlugin(options.separate).apply(compiler); | 
					
						
							|  |  |  | 	if(callback) { | 
					
						
							| 
									
										
										
										
											2012-09-25 22:45:53 +08:00
										 |  |  | 		if(options.watch) { | 
					
						
							| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | 			return compiler.watch(options.watchDelay, callback); | 
					
						
							| 
									
										
										
										
											2012-09-25 22:45:53 +08:00
										 |  |  | 		} else { | 
					
						
							| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | 			compiler.run(callback); | 
					
						
							| 
									
										
										
										
											2012-03-10 20:11:23 +08:00
										 |  |  | 		} | 
					
						
							| 
									
										
										
										
											2012-10-20 21:08:12 +08:00
										 |  |  | 	} | 
					
						
							| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | 	return compiler; | 
					
						
							| 
									
										
										
										
											2012-05-07 15:01:28 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | module.exports = webpack; | 
					
						
							| 
									
										
										
										
											2012-05-07 15:01:28 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | webpack.WebpackOptionsDefaulter = WebpackOptionsDefaulter; | 
					
						
							|  |  |  | webpack.WebpackOptionsApply = WebpackOptionsApply; | 
					
						
							|  |  |  | webpack.Compiler = Compiler; | 
					
						
							|  |  |  | webpack.NodeEnvironmentPlugin = NodeEnvironmentPlugin; |