forked from Criptext/Criptext-Email-React-Client
-
Notifications
You must be signed in to change notification settings - Fork 0
/
install.js
33 lines (27 loc) · 898 Bytes
/
install.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/env node
const path = require('path')
const { spawn } = require('child_process')
const abs = r => path.join(__dirname, r);
const packageDirs = [
abs('email_composer'),
abs('email_loading'),
abs('email_login'),
abs('email_mailbox'),
abs('electron_app')
]
const installModules = cwd =>
new Promise((resolve, reject) => {
const cp = spawn('yarn', [], { cwd });
const names = cwd.split('/');
const nameProject = names[names.length-1];
cp.on('exit', code => {
code == 0
? resolve(`Project ${nameProject} installed ...wait`)
: reject(` Failed to install modules at ${cwd}.\n Yarn exited with code: ${code}`)
});
}).then(value => {console.log(value)});
const installations = Promise.all(packageDirs.map(installModules));
installations.then(
() => console.log('Installed modules successfully!'),
err => console.error(err)
);