-
Notifications
You must be signed in to change notification settings - Fork 4
/
main.js
39 lines (31 loc) · 1.23 KB
/
main.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
34
35
36
37
38
39
'use strict';
const path = require('path');
const os = require('os');
const { login } = require('./src/login');
const { exploreModules } = require('./src/exploreLuminusDirectory');
const { exploreLocalModules } = require('./src/exploreLocalDirectory');
const { compareModules, modulesPrintString } = require('./src/compareDirectories');
const { readPrint, readDirectoryPath } = require('./src/config');
const { downloadNewFoldersFilesInModule } = require('./src/downloader');
const PRINT = readPrint();
/* MAIN PROCESS */
async function main() {
const directoryPath = path.join(os.homedir(), readDirectoryPath());
const auth = await login();
const modules = await exploreModules(auth);
const localModules = exploreLocalModules(directoryPath);
compareModules(modules, localModules);
const promises = modules.map(module => {
return downloadNewFoldersFilesInModule(auth, module, directoryPath);
});
await Promise.all(promises);
const modulesString = modulesPrintString(modules);
if (PRINT) console.log(modulesString);
}
main()
.then(() => process.exit(0))
.catch(e => {
console.log("Whoops, an error occurred. Here's some details:")
console.log(e);
process.exit(1);
});