Merge branch 'master' of https://github.com/dscalzi/HeliosLauncher into master
Conflicts: app/landing.ejs package-lock.json package.json
This commit is contained in:
commit
4374c326e8
@ -6,8 +6,6 @@ if(target == null){
|
||||
}
|
||||
let tracker = new target(...(process.argv.splice(3)))
|
||||
|
||||
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'
|
||||
|
||||
//const tracker = new AssetGuard(process.argv[2], process.argv[3])
|
||||
console.log('AssetExec Started')
|
||||
|
||||
|
@ -709,51 +709,26 @@ class JavaGuard extends EventEmitter {
|
||||
* @returns {Promise.<Set.<string>>} A promise which resolves to a set of the discovered
|
||||
* root JVM folders.
|
||||
*/
|
||||
static _scanFileSystem(scanDir){
|
||||
return new Promise((resolve, reject) => {
|
||||
static async _scanFileSystem(scanDir){
|
||||
|
||||
fs.exists(scanDir, (e) => {
|
||||
let res = new Set()
|
||||
|
||||
let res = new Set()
|
||||
|
||||
if(e){
|
||||
fs.readdir(scanDir, (err, files) => {
|
||||
if(err){
|
||||
resolve(res)
|
||||
console.log(err)
|
||||
} else {
|
||||
let pathsDone = 0
|
||||
if(await fs.pathExists(scanDir)) {
|
||||
|
||||
for(let i=0; i<files.length; i++){
|
||||
const files = await fs.readdir(scanDir)
|
||||
for(let i=0; i<files.length; i++){
|
||||
|
||||
const combinedPath = path.join(scanDir, files[i])
|
||||
const execPath = JavaGuard.javaExecFromRoot(combinedPath)
|
||||
const combinedPath = path.join(scanDir, files[i])
|
||||
const execPath = JavaGuard.javaExecFromRoot(combinedPath)
|
||||
|
||||
fs.exists(execPath, (v) => {
|
||||
|
||||
if(v){
|
||||
res.add(combinedPath)
|
||||
}
|
||||
|
||||
++pathsDone
|
||||
|
||||
if(pathsDone === files.length){
|
||||
resolve(res)
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
if(pathsDone === files.length){
|
||||
resolve(res)
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
resolve(res)
|
||||
if(await fs.pathExists(execPath)) {
|
||||
res.add(combinedPath)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
return res
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -859,9 +834,13 @@ class JavaGuard extends EventEmitter {
|
||||
|
||||
// Get possible paths from the registry.
|
||||
let pathSet1 = await JavaGuard._scanRegistry()
|
||||
if(pathSet1.length === 0){
|
||||
if(pathSet1.size === 0){
|
||||
// Do a manual file system scan of program files.
|
||||
pathSet1 = JavaGuard._scanFileSystem('C:\\Program Files\\Java')
|
||||
pathSet1 = new Set([
|
||||
...pathSet1,
|
||||
...(await JavaGuard._scanFileSystem('C:\\Program Files\\Java')),
|
||||
...(await JavaGuard._scanFileSystem('C:\\Program Files\\AdoptOpenJDK'))
|
||||
])
|
||||
}
|
||||
|
||||
// Get possible paths from the data directory.
|
||||
|
@ -551,17 +551,21 @@ exports.pullRemote = function(){
|
||||
data = DistroIndex.fromJSON(JSON.parse(body))
|
||||
} catch (e) {
|
||||
reject(e)
|
||||
return
|
||||
}
|
||||
|
||||
fs.writeFile(distroDest, body, 'utf-8', (err) => {
|
||||
if(!err){
|
||||
resolve(data)
|
||||
return
|
||||
} else {
|
||||
reject(err)
|
||||
return
|
||||
}
|
||||
})
|
||||
} else {
|
||||
reject(error)
|
||||
return
|
||||
}
|
||||
})
|
||||
})
|
||||
@ -576,8 +580,10 @@ exports.pullLocal = function(){
|
||||
if(!err){
|
||||
data = DistroIndex.fromJSON(JSON.parse(d))
|
||||
resolve(data)
|
||||
return
|
||||
} else {
|
||||
reject(err)
|
||||
return
|
||||
}
|
||||
})
|
||||
})
|
||||
|
@ -173,6 +173,11 @@ const refreshMojangStatuses = async function(){
|
||||
for(let i=0; i<statuses.length; i++){
|
||||
const service = statuses[i]
|
||||
|
||||
// Mojang API is broken for these two. https://bugs.mojang.com/browse/WEB-2303
|
||||
if(service.service === 'sessionserver.mojang.com' || service.service === 'minecraft.net') {
|
||||
service.status = 'green'
|
||||
}
|
||||
|
||||
if(service.essential){
|
||||
tooltipEssentialHTML += `<div class="mojangStatusContainer">
|
||||
<span class="mojangStatusIcon" style="color: ${Mojang.statusToHex(service.status)};">•</span>
|
||||
|
2
index.js
2
index.js
@ -104,7 +104,7 @@ function createWindow() {
|
||||
nodeIntegration: true,
|
||||
contextIsolation: false,
|
||||
enableRemoteModule: true,
|
||||
worldSafeExecuteJavaScript: false
|
||||
worldSafeExecuteJavaScript: true
|
||||
},
|
||||
backgroundColor: '#171614'
|
||||
})
|
||||
|
56
package-lock.json
generated
56
package-lock.json
generated
@ -186,9 +186,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"acorn-jsx": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
|
||||
"integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
|
||||
"version": "5.3.1",
|
||||
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
|
||||
"integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
|
||||
"dev": true
|
||||
},
|
||||
"adm-zip": {
|
||||
@ -329,11 +329,6 @@
|
||||
"integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==",
|
||||
"dev": true
|
||||
},
|
||||
"async-limiter": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
|
||||
"integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
|
||||
},
|
||||
"asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||
@ -915,12 +910,12 @@
|
||||
"optional": true
|
||||
},
|
||||
"discord-rpc": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/discord-rpc/-/discord-rpc-3.1.3.tgz",
|
||||
"integrity": "sha512-V081xCPFm8YDNLJYJv3Vo2BrCv/Knh0mdvq37RIN1keh7VGpf7s1kypaFDIYiuUmAlZXI5pupthF5hCrx/CzhA==",
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/discord-rpc/-/discord-rpc-3.1.4.tgz",
|
||||
"integrity": "sha512-QaBu+gHica2SzgRAmTpuJ4J8DX9+fDwAqhvaie3hcbkU9WPqewEPh21pWdd/7vTI/JNuapU7PFm2ZKg3BTkbGg==",
|
||||
"requires": {
|
||||
"node-fetch": "2.6.0",
|
||||
"ws": "7.1.2"
|
||||
"node-fetch": "^2.6.1",
|
||||
"ws": "^7.3.1"
|
||||
}
|
||||
},
|
||||
"dmg-builder": {
|
||||
@ -1000,9 +995,9 @@
|
||||
}
|
||||
},
|
||||
"electron": {
|
||||
"version": "9.3.0",
|
||||
"resolved": "https://registry.npmjs.org/electron/-/electron-9.3.0.tgz",
|
||||
"integrity": "sha512-7zPLEZ+kOjVJqfawMQ0vVuZZRqvZIeiID3tbjjbVybbxXIlFMpZ2jogoh7PV3rLrtm+dKRfu7Qc4E7ob1d0FqQ==",
|
||||
"version": "10.1.1",
|
||||
"resolved": "https://registry.npmjs.org/electron/-/electron-10.1.1.tgz",
|
||||
"integrity": "sha512-ZJtZHMr17AvvBosuA6XUmpehwAlGM4/n46Mw9BcyD8tpgdI6IQd0X5OU9meE3X3M8Y6Ja2Kr2udTMgtjvot2hA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@electron/get": "^1.0.1",
|
||||
@ -1221,9 +1216,9 @@
|
||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
|
||||
},
|
||||
"eslint": {
|
||||
"version": "7.8.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-7.8.1.tgz",
|
||||
"integrity": "sha512-/2rX2pfhyUG0y+A123d0ccXtMm7DV7sH1m3lk9nk2DZ2LReq39FXHueR9xZwshE5MdfSf0xunSaMWRqyIA6M1w==",
|
||||
"version": "7.9.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-7.9.0.tgz",
|
||||
"integrity": "sha512-V6QyhX21+uXp4T+3nrNfI3hQNBDa/P8ga7LoQOenwrlEFXrEnUEE+ok1dMtaS3b6rmLXhT1TkTIsG75HMLbknA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.0.0",
|
||||
@ -1339,12 +1334,12 @@
|
||||
}
|
||||
},
|
||||
"eslint-scope": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz",
|
||||
"integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==",
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
|
||||
"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"esrecurse": "^4.1.0",
|
||||
"esrecurse": "^4.3.0",
|
||||
"estraverse": "^4.1.1"
|
||||
}
|
||||
},
|
||||
@ -2188,9 +2183,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
|
||||
"integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
|
||||
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
|
||||
},
|
||||
"normalize-package-data": {
|
||||
"version": "2.5.0",
|
||||
@ -3279,12 +3274,9 @@
|
||||
}
|
||||
},
|
||||
"ws": {
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.1.2.tgz",
|
||||
"integrity": "sha512-gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg==",
|
||||
"requires": {
|
||||
"async-limiter": "^1.0.0"
|
||||
}
|
||||
"version": "7.3.1",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz",
|
||||
"integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA=="
|
||||
},
|
||||
"xdg-basedir": {
|
||||
"version": "4.0.0",
|
||||
|
@ -27,7 +27,7 @@
|
||||
"dependencies": {
|
||||
"adm-zip": "^0.4.16",
|
||||
"async": "^3.2.0",
|
||||
"discord-rpc": "^3.1.3",
|
||||
"discord-rpc": "^3.1.4",
|
||||
"ejs": "^3.1.5",
|
||||
"ejs-electron": "^2.1.1",
|
||||
"electron-updater": "^4.3.4",
|
||||
@ -41,9 +41,9 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"cross-env": "^7.0.2",
|
||||
"electron": "^9.3.0",
|
||||
"electron": "^10.1.1",
|
||||
"electron-builder": "^22.8.0",
|
||||
"eslint": "^7.8.1"
|
||||
"eslint": "^7.9.0"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
Loading…
Reference in New Issue
Block a user