mirror of
https://github.com/msojocs/wx-compiler.git
synced 2025-07-19 00:00:04 +08:00
84 lines
2.3 KiB
TypeScript
84 lines
2.3 KiB
TypeScript
import { spawn } from "child_process";
|
|
import path from "path";
|
|
import * as fs from 'fs'
|
|
|
|
|
|
const wcsc = (args: string[], projectPath: string): Promise<string> => {
|
|
if(!fs.existsSync(projectPath)){
|
|
throw new Error('projectPath not exists.')
|
|
}
|
|
const wine = spawn(
|
|
path.resolve(__dirname, "../wine/wcsc.exe"),
|
|
args,
|
|
{
|
|
cwd: projectPath,
|
|
}
|
|
);
|
|
const spwanData: any[] = [],
|
|
errData: any[] = [];
|
|
wine.stdout.on("data", (e) => {
|
|
spwanData.push(e);
|
|
});
|
|
wine.stderr.on("data", (e) => {
|
|
errData.push(e);
|
|
});
|
|
return new Promise((resolve, reject) => {
|
|
wine.on("close", (n) => {
|
|
// console.log("wine n: ", n);
|
|
if (0 === n) {
|
|
let result = Buffer.concat(spwanData).toString();
|
|
// result = JSON.parse(result);
|
|
resolve(result);
|
|
} else {
|
|
process.stderr.write(
|
|
"wine error:" +
|
|
Buffer.concat(errData).toString()
|
|
);
|
|
// process.stderr.write(Buffer.concat(spwanData).toString());
|
|
reject(n);
|
|
}
|
|
});
|
|
});
|
|
};
|
|
const wcc = (args: string[], projectPath: string): Promise<string> => {
|
|
if(!fs.existsSync(projectPath)){
|
|
throw new Error('projectPath not exists.')
|
|
}
|
|
const wine = spawn(
|
|
path.resolve(__dirname, "../wine/wcc.exe"),
|
|
args,
|
|
{
|
|
cwd: projectPath,
|
|
}
|
|
);
|
|
const spwanData: any[] = [],
|
|
errData: any[] = [];
|
|
wine.stdout.on("data", (e) => {
|
|
spwanData.push(e);
|
|
});
|
|
wine.stderr.on("data", (e) => {
|
|
errData.push(e);
|
|
});
|
|
return new Promise((resolve, reject) => {
|
|
wine.on("close", (n) => {
|
|
// console.log("wine n: ", n);
|
|
if (0 === n) {
|
|
let result = Buffer.concat(spwanData).toString();
|
|
// result = JSON.parse(result);
|
|
resolve(result);
|
|
} else {
|
|
process.stderr.write(
|
|
"wine error:" +
|
|
Buffer.concat(errData).toString()
|
|
);
|
|
// process.stderr.write(Buffer.concat(spwanData).toString());
|
|
reject(n);
|
|
}
|
|
});
|
|
});
|
|
};
|
|
|
|
export default {
|
|
wcsc,
|
|
wcc
|
|
} |