mirror of https://github.com/webpack/webpack.git
				
				
				
			
		
			
				
	
	
		
			84 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| let avgJs = `
 | |
| const str = "we" + "do" + "some" + "ops";
 | |
| for(const x of str.split("")) {
 | |
| 	if(x.charCodeAt(0) > 40) {
 | |
| 		console.log("omg");
 | |
| 	} else {
 | |
| 		console.log(Math.random() * 2 + 3 * 2);
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // Some comment
 | |
| switch(a.b.c.d.f.e.g.h.i) {
 | |
| 	case true:
 | |
| 		break;
 | |
| 	case "magic":
 | |
| 		throw new Error("Error!");
 | |
| 	case 9:
 | |
| 		(function() {
 | |
| 			// extra scope
 | |
| 			var x = 123;
 | |
| 			var y = 456;
 | |
| 			var z = x + z * x / y;
 | |
| 			x && y && (z = x ? y : x);
 | |
| 		}())
 | |
| }
 | |
| 
 | |
| function a() {}
 | |
| function b() {}
 | |
| function c() {}
 | |
| function d() {}
 | |
| function e() {}
 | |
| function f() {}
 | |
| `;
 | |
| 
 | |
| for (let i = 0; i < 2; i++) {
 | |
| 	avgJs += `(function() {${avgJs}}());`;
 | |
| }
 | |
| 
 | |
| const fs = require("fs");
 | |
| const root = __dirname;
 | |
| 
 | |
| createTree(fs, 100, `${root}/modules-100`);
 | |
| createTree(fs, 500, `${root}/modules-500`);
 | |
| createTree(fs, 1000, `${root}/modules-1000`);
 | |
| createTree(fs, 3000, `${root}/modules-3000`);
 | |
| createTree(fs, 5000, `${root}/modules-5000`);
 | |
| 
 | |
| function createTree(fs, count, folder) {
 | |
| 	fs.mkdirSync(folder);
 | |
| 	let remaining = count - 1;
 | |
| 
 | |
| 	function make(prefix, count, depth) {
 | |
| 		if (count === 0) {
 | |
| 			fs.writeFileSync(`${folder}/${prefix}.js`, `export default 1;\n${avgJs}`);
 | |
| 		} else {
 | |
| 			const list = [];
 | |
| 			for (let i = 0; i < count; i++) {
 | |
| 				if (remaining-- <= 0) break;
 | |
| 				if (depth <= 4 && i >= 3 && i <= 4) {
 | |
| 					list.push(
 | |
| 						`const module${i} = import("./${prefix}-${i}");\ncounter += module${i};`
 | |
| 					);
 | |
| 				} else {
 | |
| 					list.push(
 | |
| 						`import module${i} from "./${prefix}-${i}";\ncounter += module${i};`
 | |
| 					);
 | |
| 				}
 | |
| 				make(
 | |
| 					`${prefix}-${i}`,
 | |
| 					depth > 4 || count > 30 ? 0 : count + depth + Math.pow(i, 2),
 | |
| 					depth + 1
 | |
| 				);
 | |
| 			}
 | |
| 			fs.writeFileSync(
 | |
| 				`${folder}/${prefix}.js`,
 | |
| 				`let counter = 0;\n${list.join(
 | |
| 					"\n"
 | |
| 				)};\nexport default counter;\n${avgJs}`
 | |
| 			);
 | |
| 		}
 | |
| 	}
 | |
| 	make("index", 2, 0);
 | |
| }
 |