()
| 37 | const buildCallback: any = [] |
| 38 | |
| 39 | function buildMainProcess() { |
| 40 | return new Promise(async (resolve, reject) => { |
| 41 | if (building) { |
| 42 | buildCallback.push({ |
| 43 | resolve, |
| 44 | reject |
| 45 | }) |
| 46 | return |
| 47 | } |
| 48 | building = true |
| 49 | await DoFix() |
| 50 | let promise: Promise<any> | undefined |
| 51 | if (isMacOS() || isLinux()) { |
| 52 | console.log('isMacOS || isLinux !!!') |
| 53 | const config = (await import('../configs/esbuild.config')).default |
| 54 | promise = Promise.all([ |
| 55 | build(config.dev), |
| 56 | build(config.devFork), |
| 57 | ElectronKill(electronProcess) |
| 58 | ]) |
| 59 | } else if (isWindows()) { |
| 60 | console.log('isWindows !!!') |
| 61 | const config = (await import('../configs/esbuild.config.win')).default |
| 62 | promise = Promise.all([build(config.dev), build(config.devFork), ElectronKillWin()]) |
| 63 | } |
| 64 | if (!promise) { |
| 65 | building = false |
| 66 | buildCallback.forEach((b: any) => { |
| 67 | b.reject(new Error('No PLATFORM provided')) |
| 68 | }) |
| 69 | buildCallback.splice(0) |
| 70 | reject(new Error('No PLATFORM provided')) |
| 71 | return |
| 72 | } |
| 73 | promise |
| 74 | .then(() => { |
| 75 | building = false |
| 76 | buildCallback.forEach((b: any) => { |
| 77 | b.resolve(true) |
| 78 | }) |
| 79 | buildCallback.splice(0) |
| 80 | resolve(true) |
| 81 | }) |
| 82 | .catch((e) => { |
| 83 | console.log('buildMainProcess error', e) |
| 84 | building = false |
| 85 | buildCallback.forEach((b: any) => { |
| 86 | b.reject(e) |
| 87 | }) |
| 88 | buildCallback.splice(0) |
| 89 | reject(e) |
| 90 | }) |
| 91 | }) |
| 92 | } |
| 93 | |
| 94 | function logPrinter(data: string[]) { |
| 95 | let log = '\n' |
no test coverage detected