| 
									
										
										
										
											2012-04-05 20:59:01 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 	MIT License http://www.opensource.org/licenses/mit-license.php
 | 
					
						
							|  |  |  | 	Author Tobias Koppers @sokra | 
					
						
							|  |  |  | */ | 
					
						
							| 
									
										
										
										
											2012-10-09 06:12:10 +08:00
										 |  |  | require = require("enhanced-require")(module); | 
					
						
							| 
									
										
										
										
											2012-04-05 20:59:01 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | var cp = require('child_process'); | 
					
						
							|  |  |  | var tc = require("./template-common"); | 
					
						
							| 
									
										
										
										
											2012-10-09 23:17:38 +08:00
										 |  |  | var formatOutput = require("../lib/formatOutput"); | 
					
						
							|  |  |  | var createFilenameShortener = require("../lib/createFilenameShortener"); | 
					
						
							|  |  |  | var webpackGraph = require("webpack-graph"); | 
					
						
							| 
									
										
										
										
											2012-04-05 20:59:01 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-23 07:58:17 +08:00
										 |  |  | var extraArgs = ""; | 
					
						
							|  |  |  | if(require("fs").existsSync(require("path").join(process.cwd(), "webpackOptions.js"))) | 
					
						
							|  |  |  | 	extraArgs += "--options webpackOptions.js "; | 
					
						
							| 
									
										
										
										
											2012-04-05 20:59:01 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-04-05 21:27:34 +08:00
										 |  |  | cp.exec("node ../../bin/webpack.js --verbose --min "+extraArgs+" example.js js/output.js", function (error, stdout, stderr) { | 
					
						
							| 
									
										
										
										
											2012-04-05 20:59:01 +08:00
										 |  |  | 	if(stderr) | 
					
						
							|  |  |  | 		console.log(stderr); | 
					
						
							|  |  |  | 	if (error !== null) | 
					
						
							|  |  |  | 		console.log(error); | 
					
						
							| 
									
										
										
										
											2012-04-05 21:27:34 +08:00
										 |  |  | 	var readme = tc(require("raw!"+require("path").join(process.cwd(), "template.md")), require.context("raw!"+process.cwd()), stdout.replace(/[\r\n]*$/, ""), "min"); | 
					
						
							| 
									
										
										
										
											2012-10-09 23:17:38 +08:00
										 |  |  | 	cp.exec("node ../../bin/webpack.js --filenames --verbose "+extraArgs+" example.js js/output.js --json", function (error, stdout, stderr) { | 
					
						
							| 
									
										
										
										
											2012-04-05 20:59:01 +08:00
										 |  |  | 		if(stderr) | 
					
						
							|  |  |  | 			console.log(stderr); | 
					
						
							|  |  |  | 		if (error !== null) | 
					
						
							|  |  |  | 			console.log(error); | 
					
						
							| 
									
										
										
										
											2012-10-09 23:17:38 +08:00
										 |  |  | 		var stats = JSON.parse(stdout); | 
					
						
							|  |  |  | 		var formatedStats = formatOutput(stats, { | 
					
						
							|  |  |  | 			context: process.cwd(), | 
					
						
							|  |  |  | 			verbose: true | 
					
						
							|  |  |  | 		}); | 
					
						
							|  |  |  | 		var filenameShortener = createFilenameShortener(process.cwd()); | 
					
						
							|  |  |  | 		readme = tc(readme, require.context("raw!val!raw!"+process.cwd()), formatedStats.replace(/[\r\n]*$/, "")); | 
					
						
							| 
									
										
										
										
											2012-04-08 03:36:55 +08:00
										 |  |  | 		readme = readme.replace(/\r\n/g, "\n").replace(/\r/g, "\n"); | 
					
						
							| 
									
										
										
										
											2012-04-05 20:59:01 +08:00
										 |  |  | 		require("fs").writeFile("README.md", readme, "utf-8", function() {}); | 
					
						
							| 
									
										
										
										
											2012-10-09 23:17:38 +08:00
										 |  |  | 		require("fs").writeFile("graph.svg", webpackGraph(stats, { | 
					
						
							|  |  |  | 			nameShortener: filenameShortener, | 
					
						
							|  |  |  | 			width: 500, | 
					
						
							|  |  |  | 			height: 300 | 
					
						
							|  |  |  | 		}), "utf-8", function() {}); | 
					
						
							| 
									
										
										
										
											2012-04-05 20:59:01 +08:00
										 |  |  | 	}); | 
					
						
							|  |  |  | }); |