-
Notifications
You must be signed in to change notification settings - Fork 0
/
unpack.js
40 lines (30 loc) · 1006 Bytes
/
unpack.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
'use strict'
const config = require('./config.json');
const AdmZip = require('adm-zip');
const SPOTIFY_PATH = config.spotify_path === "default" ? process.env.appdata + "\\Spotify\\Apps\\" : config.spotify_path
function createNewUnpacked(componentsArray){
console.log("Running SpotMod Unpacker... \n");
componentsArray.forEach((item)=>{
console.log("Unpacking " + item + ".spa");
let zip = new AdmZip(SPOTIFY_PATH + "\\" + item + ".spa");
zip.extractAllTo("./components/" + item);
})
}
if(!process.argv[2]){
console.log("Please specify a component");
console.log("Type \'list\' for a list of components");
return;
}
else if(process.argv[2] === "all"){
createNewUnpacked(config.components);
return;
}
else if(process.argv[2] === "list"){
console.log("Listing components... \n====================");
config.components.forEach(function(item){
console.log(item);
});
console.log("====================");
return;
}
createNewUnpacked([process.argv[2]]);