-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprunerizer.js
74 lines (69 loc) · 5.72 KB
/
prunerizer.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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
const path = require('path');
const fs = require('fs');
const { exec } = require('child_process');
var args = process.argv.slice(2);
var directoryPath = args[0] || __dirname;
var isWin = process.platform === "win32";
fs.readdir(directoryPath, {withFileTypes: true}, (err, entries) => {
anon();
if (err) {
return console.log('Sorry, friend. Unable to scan directory: ' + err);
}
const directories = entries
.filter(dirent => dirent.isDirectory())
.filter(d => d.name.indexOf('$RECYCLE') === -1)
.filter(d => d.name.indexOf('System Volume Information') === -1);
directories.forEach(dirent => {
const command = `shopt -s expand_aliases \n
. ~/.bashrc \n
pwd \n
git checkout $(git rev-parse --abbrev-ref origin/HEAD | cut -c8-) \n
git pull \n
git branch -av \n
git remote prune origin \n
set -x \n
gbpurge \n
rmgone`;
const _path = path.join(directoryPath, dirent.name);
console.log(`Purging: ${dirent.name}; ${_path}`);
exec(command, {
cwd: _path,
shell: isWin ? 'C:\\Program Files\\Git\\bin\\bash.exe' : 'bash',
windowsHide: true,
}, (error, stdout, stderr) => {
console.log(error || stdout)
}
);
});
});
const anon = () => {
console.log(' ████████████████ ');
console.log(' ██████░░░░░░░░░░░░░░░░██████ ');
console.log('░░ ░░ ░░ ██░░░░░░ ░░░░░░██ ░░ ░░ ░░');
console.log(' ░░ ██░░ ░░██ ░░ ');
console.log(' ██░░ ░░██ ');
console.log(' ██ ██████ ██████ ██ ');
console.log(' ██ ░░░░░░░░████ ████░░░░░░░░ ██ ');
console.log(' ██ ░░████ ████░░ ██ ');
console.log(' ██ ░░░░ ░░░░ ██ ');
console.log(' ██░░ ░░██████░░░░ ░░░░██████░░ ░░██ ');
console.log(' ██░░░░██████████░░ ░░██████████░░░░██ ');
console.log(' ██░░ ░░░░░░░░ ░░ ░░ ░░░░░░░░ ░░██ ');
console.log(' ██ ░░ ░░ ██ ');
console.log(' ██ ░░░░░░ ░░ ░░ ░░░░░░ ██ ');
console.log(' ██ ░░░░░░ ░░ ░░ ░░░░░░ ██ ');
console.log(' ██░░ ░░ ░░ ░░██ ');
console.log(' ██░░░░██ ██░░░░██ ██░░░░██ ');
console.log(' ██░░ ██████░░████████████░░██████ ░░██ ');
console.log(' ██ ░░ ██████████ ██████████ ░░ ██ ');
console.log(' ██ ░░░░ ░░░░░░░░░░░░ ░░░░ ██ ');
console.log(' ██ ░░ ░░ ██ ');
console.log(' ██ ░░ ░░░░░░████░░░░░░ ░░ ██ ');
console.log(' ██░░ ░░ ████ ░░ ░░██ ');
console.log(' ██░░ ░░████░░ ░░██ ');
console.log(' ██░░ ░░████░░ ░░██ ');
console.log(' ██░░░░ ████ ░░░░██ ');
console.log(' ████░░████░░████ ');
console.log(' ████████ ');
console.log('░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░ ░░▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░');
};