forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			41 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			41 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								Object.defineProperty(exports, "__esModule", { value: true });
							 | 
						||
| 
								 | 
							
								exports.executeHaxe = void 0;
							 | 
						||
| 
								 | 
							
								const child_process = require("child_process");
							 | 
						||
| 
								 | 
							
								const fs = require("fs");
							 | 
						||
| 
								 | 
							
								const path = require("path");
							 | 
						||
| 
								 | 
							
								const log = require("./log");
							 | 
						||
| 
								 | 
							
								const exec_1 = require("./exec");
							 | 
						||
| 
								 | 
							
								function executeHaxe(from, haxeDirectory, options) {
							 | 
						||
| 
								 | 
							
								    return new Promise((resolve, reject) => {
							 | 
						||
| 
								 | 
							
								        let exe = 'haxe';
							 | 
						||
| 
								 | 
							
								        let env = process.env;
							 | 
						||
| 
								 | 
							
								        if (fs.existsSync(haxeDirectory) && fs.statSync(haxeDirectory).isDirectory()) {
							 | 
						||
| 
								 | 
							
								            let localexe = path.resolve(haxeDirectory, 'haxe' + (0, exec_1.sys)());
							 | 
						||
| 
								 | 
							
								            if (!fs.existsSync(localexe))
							 | 
						||
| 
								 | 
							
								                localexe = path.resolve(haxeDirectory, 'haxe');
							 | 
						||
| 
								 | 
							
								            if (fs.existsSync(localexe))
							 | 
						||
| 
								 | 
							
								                exe = localexe;
							 | 
						||
| 
								 | 
							
								            const stddir = path.resolve(haxeDirectory, 'std');
							 | 
						||
| 
								 | 
							
								            if (fs.existsSync(stddir) && fs.statSync(stddir).isDirectory()) {
							 | 
						||
| 
								 | 
							
								                env.HAXE_STD_PATH = stddir;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        let haxe = child_process.spawn(exe, options, { env: env, cwd: path.normalize(from) });
							 | 
						||
| 
								 | 
							
								        haxe.stdout.on('data', (data) => {
							 | 
						||
| 
								 | 
							
								            log.info(data.toString());
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								        haxe.stderr.on('data', (data) => {
							 | 
						||
| 
								 | 
							
								            log.error(data.toString());
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								        haxe.on('close', (code) => {
							 | 
						||
| 
								 | 
							
								            if (code === 0) {
							 | 
						||
| 
								 | 
							
								                resolve();
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            else
							 | 
						||
| 
								 | 
							
								                reject('Haxe compiler error.');
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.executeHaxe = executeHaxe;
							 | 
						||
| 
								 | 
							
								//# sourceMappingURL=Haxe.js.map
							 |