diff --git a/lib/java/JavaGuard.ts b/lib/java/JavaGuard.ts index dd47b4c..70a61f7 100644 --- a/lib/java/JavaGuard.ts +++ b/lib/java/JavaGuard.ts @@ -7,7 +7,6 @@ import { dirname, join } from 'path' import { promisify } from 'util' import { LauncherJson } from '../model/mojang/LauncherJson' import { LoggerUtil } from '../util/LoggerUtil' -import { getDiskInfo } from 'node-disk-info' import Registry from 'winreg' import semver from 'semver' import { Asset, HashAlgo } from '../dl' @@ -1019,7 +1018,7 @@ export async function getWin32Discoverers(dataDir: string): Promise { - const driveMounts = (await getDiskInfo()).map(({ mounted }) => mounted) +export async function win32DriveMounts(): Promise { + + const execAsync = promisify(exec) + + let stdout + try { + stdout = (await execAsync('gdr -psp FileSystem | select -eXp root | ConvertTo-Json', {shell: 'powershell.exe'})).stdout + } catch(error) { + log.error('Failed to resolve drive mounts!') + log.error(error) + // Default to C:\\ + return ['C:\\'] + } + + return JSON.parse(stdout) +} + +export async function getPathsOnAllDrivesWin32(paths: string[]): Promise { + const driveMounts = await win32DriveMounts() const res: string[] = [] for(const path of paths) { for(const mount of driveMounts) { diff --git a/package-lock.json b/package-lock.json index 62cd3cb..a832ff9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,21 +1,20 @@ { "name": "rgblauncher-core", - "version": "1.0.1", + "version": "1.0.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rgblauncher-core", - "version": "1.0.1", + "version": "1.0.5", "license": " LGPL-3.0-only", "dependencies": { "fastq": "^1.15.0", "fs-extra": "^11.1.1", "got": "^11.8.6", "luxon": "^3.3.0", - "node-disk-info": "^1.3.0", "node-stream-zip": "^1.15.0", - "rgblauncher-distribution-types": "^1.0.0", + "rgblauncher-distribution-types": "^1.0.2", "semver": "^7.4.0", "tar-fs": "^2.1.1", "triple-beam": "^1.3.0", @@ -1770,17 +1769,6 @@ "node": ">=10.19.0" } }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -2314,17 +2302,6 @@ "node": ">= 10.13" } }, - "node_modules/node-disk-info": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/node-disk-info/-/node-disk-info-1.3.0.tgz", - "integrity": "sha512-NEx858vJZ0AoBtmD/ChBIHLjFTF28xCsDIgmFl4jtGKsvlUx9DU/OrMDjvj3qp/E4hzLN0HvTg7eJx5XFQvbeg==", - "dependencies": { - "iconv-lite": "^0.6.2" - }, - "engines": { - "node": ">= 12" - } - }, "node_modules/node-stream-zip": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", @@ -2667,9 +2644,9 @@ } }, "node_modules/rgblauncher-distribution-types": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgblauncher-distribution-types/-/rgblauncher-distribution-types-1.0.0.tgz", - "integrity": "sha512-fQy2OcaWDtla52oJjLYAEud1YoXRU6DSSBo3DKAnt3HnIzNOZDEZhmfDlyqmiq2OqB2KBDrdR/na+hPMj2Q5TQ==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/rgblauncher-distribution-types/-/rgblauncher-distribution-types-1.0.2.tgz", + "integrity": "sha512-B5yaN+Cm+pFWWFjOgI2+jldil30P0NeMDGfXuh+77qLJ9FSuYLBlVh6KpnaJZcsaI1QvJyI6EJGeM74D7pr52Q==" }, "node_modules/rimraf": { "version": "5.0.0", @@ -2781,11 +2758,6 @@ "node": ">=10" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, "node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", diff --git a/package.json b/package.json index 09fd6c2..143cda7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rgblauncher-core", - "version": "1.0.1", + "version": "1.0.5", "description": "A library containing core mechanisms for RGB Launcher", "main": "dist/index.js", "scripts": { @@ -44,19 +44,19 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/Enn3Developer/rgblauncher-core.git" + "url": "git+https://github.com/rgbcraft/rgblauncher-core.git" }, "keywords": [ "rgb-launcher", "rgblauncher-core", "minecraft-launcher" ], - "author": "Enn3Developer", + "author": "lego11", "license": " LGPL-3.0-only", "bugs": { - "url": "https://github.com/Enn3Developer/rgblauncher-core/issues" + "url": "https://github.com/rgbcraft/rgblauncher-core/issues" }, - "homepage": "https://github.com/Enn3Developer/rgblauncher-core#readme", + "homepage": "https://github.com/rgbcraft/rgblauncher-core#readme", "devDependencies": { "@types/chai": "^4.3.4", "@types/chai-as-promised": "^7.1.5", @@ -84,9 +84,8 @@ "fs-extra": "^11.1.1", "got": "^11.8.6", "luxon": "^3.3.0", - "node-disk-info": "^1.3.0", "node-stream-zip": "^1.15.0", - "rgblauncher-distribution-types": "^1.0.0", + "rgblauncher-distribution-types": "^1.0.2", "semver": "^7.4.0", "tar-fs": "^2.1.1", "triple-beam": "^1.3.0", diff --git a/test/mojang/net/ServerStatusAPITest.ts b/test/mojang/net/ServerStatusAPITest.ts index 0758e04..d093761 100644 --- a/test/mojang/net/ServerStatusAPITest.ts +++ b/test/mojang/net/ServerStatusAPITest.ts @@ -34,9 +34,8 @@ function verifyResult(res: ServerStatus): void { } const serversToCheck = [ - 'play.hypixel.net', + 'mc.hypixel.net', 'mc.westeroscraft.com', - 'us.mineplex.com', // 'stoneblock.colaian.tech' // SRV - commented out b/c may be shut down. ]