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
 |