66 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const child_process = require("child_process");
 | |
| const fs = require("fs");
 | |
| const debug = process.argv[2] && process.argv[2].toLowerCase().includes("debug=true");
 | |
| const minify = process.argv[2] && process.argv[2].toLowerCase().includes("release=min");
 | |
| 
 | |
| console.log("Start build .....");
 | |
| console.log('Bundle: ' + ('module' /* 'custom' */) + (debug ?  ":debug" : (minify ?  ":min" : "")));
 | |
| 
 | |
| //fs.existsSync("log") || fs.mkdirSync("log");
 | |
| fs.existsSync("tmp") || fs.mkdirSync("tmp");
 | |
| fs.existsSync("dist") || fs.mkdirSync("dist");
 | |
| 
 | |
| const files = [
 | |
| 
 | |
|     "async.js",
 | |
|     "cache.js",
 | |
|     "common.js",
 | |
|     "config.js",
 | |
|     "document.js",
 | |
|     "engine.js",
 | |
|     "global.js",
 | |
|     "index.js",
 | |
|     "intersect.js",
 | |
|     "lang.js",
 | |
|     "polyfill.js",
 | |
|     "preset.js",
 | |
|     "serialize.js",
 | |
|     "type.js",
 | |
|     "webpack.js"
 | |
| ];
 | |
| 
 | |
| files.forEach(function(file){
 | |
| 
 | |
|     let src = String(fs.readFileSync("src/" + file));
 | |
|     src = src.replace(/\/\/ COMPILER BLOCK -->(.*)<-- COMPILER BLOCK/gs, "");
 | |
|     fs.writeFileSync("tmp/" + file, src);
 | |
| });
 | |
| 
 | |
| fs.copyFileSync("task/babel." + (debug ? "debug": (minify ? "min" : "bundle")) + ".json", "tmp/.babelrc");
 | |
| 
 | |
| exec("npx babel tmp -d dist/module" + (debug ? "-debug" : (minify ? "-min --minified --compact true" : "")) + " --config-file tmp/.babelrc && exit 0", function(){
 | |
| 
 | |
|     console.log("Build Complete.");
 | |
| });
 | |
| 
 | |
| function exec(prompt, callback){
 | |
| 
 | |
|     const child = child_process.exec(prompt, function(err, stdout, stderr){
 | |
| 
 | |
|         if(err){
 | |
| 
 | |
|             console.error(err);
 | |
|         }
 | |
|         else{
 | |
| 
 | |
|             if(callback){
 | |
| 
 | |
|                 callback();
 | |
|             }
 | |
|         }
 | |
|     });
 | |
| 
 | |
|     child.stdout.pipe(process.stdout);
 | |
|     child.stderr.pipe(process.stderr);
 | |
| }
 |