Compare commits

..

No commits in common. "main" and "v0.20.2" have entirely different histories.

149 changed files with 176 additions and 222 deletions

0
.github/workflows/release.yml vendored Executable file → Normal file
View File

0
.gitignore vendored Executable file → Normal file
View File

0
package.json Executable file → Normal file
View File

0
packages/cli/bin Executable file → Normal file
View File

0
packages/cli/package.json Executable file → Normal file
View File

0
packages/cli/src/index.js Executable file → Normal file
View File

0
packages/core/.swcrc Executable file → Normal file
View File

86
packages/core/package.json Executable file → Normal file
View File

@ -1,45 +1,45 @@
{
"name": "@ragestudio/relic-core",
"version": "0.20.3",
"license": "MIT",
"author": "RageStudio",
"description": "RageStudio Relic, yet another package manager.",
"main": "./dist/index.js",
"files": [
"dist",
"src"
],
"scripts": {
"build": "hermes build",
"build:swc": "npx swc ./src --out-dir ./dist --strip-leading-paths"
},
"dependencies": {
"@foxify/events": "^2.1.0",
"adm-zip": "^0.5.12",
"aria2": "^4.1.2",
"axios": "^1.6.8",
"checksum": "^1.0.0",
"cli-color": "^2.0.4",
"cli-progress": "^3.12.0",
"deep-object-diff": "^1.1.9",
"extends-classes": "^1.0.5",
"googleapis": "^134.0.0",
"human-format": "^1.2.0",
"merge-stream": "^2.0.0",
"module-alias": "^2.2.3",
"node-7z": "^3.0.0",
"open": "8.4.2",
"request": "^2.88.2",
"rimraf": "^5.0.5",
"signal-exit": "^4.1.0",
"unzipper": "^0.10.14",
"upath": "^2.0.1",
"uuid": "^9.0.1",
"webtorrent": "^2.4.1",
"winston": "^3.13.0"
},
"devDependencies": {
"@swc/cli": "^0.3.12",
"@swc/core": "^1.4.11"
}
"name": "@ragestudio/relic-core",
"version": "0.20.2",
"license": "MIT",
"author": "RageStudio",
"description": "RageStudio Relic, yet another package manager.",
"main": "./dist/index.js",
"files": [
"dist",
"src"
],
"scripts": {
"build": "hermes build",
"build:swc": "npx swc ./src --out-dir ./dist --strip-leading-paths"
},
"dependencies": {
"@foxify/events": "^2.1.0",
"adm-zip": "^0.5.12",
"aria2": "^4.1.2",
"axios": "^1.6.8",
"checksum": "^1.0.0",
"cli-color": "^2.0.4",
"cli-progress": "^3.12.0",
"deep-object-diff": "^1.1.9",
"extends-classes": "^1.0.5",
"googleapis": "^134.0.0",
"human-format": "^1.2.0",
"merge-stream": "^2.0.0",
"module-alias": "^2.2.3",
"node-7z": "^3.0.0",
"open": "8.4.2",
"request": "^2.88.2",
"rimraf": "^5.0.5",
"signal-exit": "^4.1.0",
"unzipper": "^0.10.14",
"upath": "^2.0.1",
"uuid": "^9.0.1",
"webtorrent": "^2.4.1",
"winston": "^3.13.0"
},
"devDependencies": {
"@swc/cli": "^0.3.12",
"@swc/core": "^1.4.11"
}
}

0
packages/core/src/classes/ManifestAuthDB.js Executable file → Normal file
View File

0
packages/core/src/classes/ManifestConfig.js Executable file → Normal file
View File

0
packages/core/src/classes/PatchManager.js Executable file → Normal file
View File

0
packages/core/src/classes/Settings.js Executable file → Normal file
View File

0
packages/core/src/db.js Executable file → Normal file
View File

0
packages/core/src/generic_steps/git_clone.js Executable file → Normal file
View File

0
packages/core/src/generic_steps/git_pull.js Executable file → Normal file
View File

0
packages/core/src/generic_steps/git_reset.js Executable file → Normal file
View File

0
packages/core/src/generic_steps/http.js Executable file → Normal file
View File

0
packages/core/src/generic_steps/index.js Executable file → Normal file
View File

0
packages/core/src/generic_steps/torrent.js Executable file → Normal file
View File

0
packages/core/src/handlers/apply.js Executable file → Normal file
View File

0
packages/core/src/handlers/authorize.js Executable file → Normal file
View File

0
packages/core/src/handlers/cancelInstall.js Executable file → Normal file
View File

0
packages/core/src/handlers/checkUpdate.js Executable file → Normal file
View File

0
packages/core/src/handlers/deauthorize.js Executable file → Normal file
View File

0
packages/core/src/handlers/execute.js Executable file → Normal file
View File

0
packages/core/src/handlers/install.js Executable file → Normal file
View File

0
packages/core/src/handlers/lastOperationRetry.js Executable file → Normal file
View File

0
packages/core/src/handlers/list.js Executable file → Normal file
View File

0
packages/core/src/handlers/read.js Executable file → Normal file
View File

0
packages/core/src/handlers/reinstall.js Executable file → Normal file
View File

0
packages/core/src/handlers/uninstall.js Executable file → Normal file
View File

0
packages/core/src/handlers/update.js Executable file → Normal file
View File

0
packages/core/src/helpers/downloadHttpFile.js Executable file → Normal file
View File

0
packages/core/src/helpers/downloadTorrent.js Executable file → Normal file
View File

0
packages/core/src/helpers/sendToRender.js Executable file → Normal file
View File

0
packages/core/src/helpers/setup.js Executable file → Normal file
View File

132
packages/core/src/index.js Executable file → Normal file
View File

@ -26,91 +26,79 @@ import PackageCheckUpdate from "./handlers/checkUpdate"
import PackageLastOperationRetry from "./handlers/lastOperationRetry"
export default class RelicCore {
constructor(params) {
this.params = params
}
constructor(params) {
this.params = params
}
eventBus = (global._relic_eventBus = new EventEmitter())
eventBus = global._relic_eventBus = new EventEmitter()
logger = Logger
logger = Logger
db = DB
db = DB
async initialize() {
globalThis.relic_core = {
tasks: [],
vars: Vars,
}
async initialize() {
globalThis.relic_core = {
tasks: [],
vars: Vars,
}
console.log(`Checking runtime_path >`, Vars.runtime_path)
await DB.initialize()
if (!fs.existsSync(Vars.runtime_path)) {
fs.mkdirSync(Vars.runtime_path, { recursive: true })
}
await Settings.initialize()
await DB.initialize()
if (!await Settings.get("packages_path")) {
await Settings.set("packages_path", Vars.packages_path)
}
await Settings.initialize()
this.aria2c_instance = execa(
Vars.aria2_bin,
["--enable-rpc", "--rpc-listen-all=true", "--rpc-allow-origin-all", "--file-allocation=none"],
{
stdout: "inherit",
stderr: "inherit",
}
)
if (!(await Settings.get("packages_path"))) {
await Settings.set("packages_path", Vars.packages_path)
}
onExit(this.onExit)
}
this.aria2c_instance = execa(
Vars.aria2_bin,
[
"--enable-rpc",
"--rpc-listen-all=true",
"--rpc-allow-origin-all",
"--file-allocation=none",
],
{
stdout: "inherit",
stderr: "inherit",
},
)
onExit = () => {
if (fs.existsSync(Vars.cache_path)) {
fs.rmSync(Vars.cache_path, { recursive: true, force: true })
}
onExit(this.onExit)
}
if (this.aria2c_instance) {
this.aria2c_instance.kill("SIGINT")
}
}
onExit = () => {
if (fs.existsSync(Vars.cache_path)) {
fs.rmSync(Vars.cache_path, { recursive: true, force: true })
}
async setup() {
return await SetupHelper()
}
if (this.aria2c_instance) {
this.aria2c_instance.kill("SIGINT")
}
}
package = {
install: PackageInstall,
execute: PackageExecute,
uninstall: PackageUninstall,
reinstall: PackageReinstall,
cancelInstall: PackageCancelInstall,
update: PackageUpdate,
apply: PackageApply,
list: PackageList,
read: PackageRead,
authorize: PackageAuthorize,
deauthorize: PackageDeauthorize,
checkUpdate: PackageCheckUpdate,
lastOperationRetry: PackageLastOperationRetry,
}
async setup() {
return await SetupHelper()
}
async openPath(pkg_id) {
if (!pkg_id) {
return open(Vars.runtime_path)
}
package = {
install: PackageInstall,
execute: PackageExecute,
uninstall: PackageUninstall,
reinstall: PackageReinstall,
cancelInstall: PackageCancelInstall,
update: PackageUpdate,
apply: PackageApply,
list: PackageList,
read: PackageRead,
authorize: PackageAuthorize,
deauthorize: PackageDeauthorize,
checkUpdate: PackageCheckUpdate,
lastOperationRetry: PackageLastOperationRetry,
}
const packagesPath = await Settings.get("packages_path") ?? Vars.packages_path
async openPath(pkg_id) {
if (!pkg_id) {
return open(Vars.runtime_path)
}
const packagesPath =
(await Settings.get("packages_path")) ?? Vars.packages_path
return open(packagesPath + "/" + pkg_id)
}
}
return open(packagesPath + "/" + pkg_id)
}
}

0
packages/core/src/libraries/execa/index.js Executable file → Normal file
View File

0
packages/core/src/libraries/execa/lib/command.js Executable file → Normal file
View File

0
packages/core/src/libraries/execa/lib/error.js Executable file → Normal file
View File

0
packages/core/src/libraries/execa/lib/kill.js Executable file → Normal file
View File

0
packages/core/src/libraries/execa/lib/pipe.js Executable file → Normal file
View File

0
packages/core/src/libraries/execa/lib/promise.js Executable file → Normal file
View File

0
packages/core/src/libraries/execa/lib/stdio.js Executable file → Normal file
View File

0
packages/core/src/libraries/execa/lib/stream.js Executable file → Normal file
View File

0
packages/core/src/libraries/execa/lib/verbose.js Executable file → Normal file
View File

0
packages/core/src/libraries/get-stream/array-buffer.js Executable file → Normal file
View File

0
packages/core/src/libraries/get-stream/array.js Executable file → Normal file
View File

0
packages/core/src/libraries/get-stream/buffer.js Executable file → Normal file
View File

0
packages/core/src/libraries/get-stream/contents.js Executable file → Normal file
View File

0
packages/core/src/libraries/get-stream/index.js Executable file → Normal file
View File

0
packages/core/src/libraries/get-stream/string.js Executable file → Normal file
View File

0
packages/core/src/libraries/get-stream/utils.js Executable file → Normal file
View File

0
packages/core/src/libraries/human-signals/core.js Executable file → Normal file
View File

0
packages/core/src/libraries/human-signals/index.js Executable file → Normal file
View File

0
packages/core/src/libraries/human-signals/realtime.js Executable file → Normal file
View File

0
packages/core/src/libraries/human-signals/signals.js Executable file → Normal file
View File

0
packages/core/src/libraries/is-stream/index.js Executable file → Normal file
View File

0
packages/core/src/libraries/lowdb/adapters/Memory.js Executable file → Normal file
View File

View File

View File

View File

0
packages/core/src/libraries/lowdb/core/Low.js Executable file → Normal file
View File

0
packages/core/src/libraries/lowdb/presets/node.js Executable file → Normal file
View File

0
packages/core/src/libraries/lowdb/steno/index.js Executable file → Normal file
View File

0
packages/core/src/libraries/mimic-function/index.js Executable file → Normal file
View File

0
packages/core/src/libraries/npm-run-path/index.js Executable file → Normal file
View File

0
packages/core/src/libraries/onetime/index.js Executable file → Normal file
View File

View File

0
packages/core/src/logger.js Executable file → Normal file
View File

0
packages/core/src/manifest/libraries.js Executable file → Normal file
View File

0
packages/core/src/manifest/libs/auth/index.js Executable file → Normal file
View File

0
packages/core/src/manifest/libs/extract/index.js Executable file → Normal file
View File

0
packages/core/src/manifest/libs/fs/index.js Executable file → Normal file
View File

0
packages/core/src/manifest/libs/index.js Executable file → Normal file
View File

0
packages/core/src/manifest/libs/mcl/authenticator.js Executable file → Normal file
View File

0
packages/core/src/manifest/libs/mcl/handler.js Executable file → Normal file
View File

0
packages/core/src/manifest/libs/mcl/index.js Executable file → Normal file
View File

0
packages/core/src/manifest/libs/mcl/launcher.js Executable file → Normal file
View File

0
packages/core/src/manifest/libs/open/index.js Executable file → Normal file
View File

0
packages/core/src/manifest/libs/path/index.js Executable file → Normal file
View File

0
packages/core/src/manifest/reader.js Executable file → Normal file
View File

0
packages/core/src/manifest/vm.js Executable file → Normal file
View File

4
packages/core/src/prerequisites.js Executable file → Normal file
View File

@ -44,7 +44,7 @@ export default [
params: {
arch: arch,
java_version: "22",
os: os === "win32" ? "windows" : os,
os: os,
archive_type: "zip",
javafx_bundled: "false",
java_package_type: "jre",
@ -78,7 +78,7 @@ export default [
params: {
arch: arch,
java_version: "17",
os: os === "win32" ? "windows" : os,
os: os,
archive_type: "zip",
javafx_bundled: "false",
java_package_type: "jre",

0
packages/core/src/utils/chmodRecursive.js Executable file → Normal file
View File

0
packages/core/src/utils/extractFile.js Executable file → Normal file
View File

0
packages/core/src/utils/parseStringVars.js Executable file → Normal file
View File

0
packages/core/src/utils/readDirRecurse.js Executable file → Normal file
View File

0
packages/core/src/utils/resolveOs.js Executable file → Normal file
View File

0
packages/core/src/utils/resolveRemoteBinPath.js Executable file → Normal file
View File

0
packages/core/src/utils/resolveUserDataPath.js Executable file → Normal file
View File

63
packages/core/src/vars.js Executable file → Normal file
View File

@ -11,57 +11,24 @@ const userdata_path = resolveUserDataPath()
const runtime_path = upath.normalizeSafe(path.join(userdata_path, runtimeName))
const cache_path = upath.normalizeSafe(path.join(runtime_path, "cache"))
const packages_path = upath.normalizeSafe(path.join(runtime_path, "packages"))
const binaries_path = upath.normalizeSafe(
path.resolve(runtime_path, "binaries"),
)
const binaries_path = upath.normalizeSafe(path.resolve(runtime_path, "binaries"))
const db_path = upath.normalizeSafe(path.resolve(runtime_path, "db.json"))
const binaries = {
sevenzip_bin: upath.normalizeSafe(
path.resolve(binaries_path, "7z-bin", isWin ? "7za.exe" : "7z"),
),
git_bin: upath.normalizeSafe(
path.resolve(
binaries_path,
"git-bin",
"bin",
isWin ? "git.exe" : "git",
),
),
aria2_bin: upath.normalizeSafe(
path.resolve(binaries_path, "aria2", isWin ? "aria2c.exe" : "aria2c"),
),
java22_jre_bin: upath.normalizeSafe(
path.resolve(
binaries_path,
"java22_jre_bin",
isMac
? "Contents/Home/bin/java"
: isWin
? "bin/java.exe"
: "bin/java",
),
),
java17_jre_bin: upath.normalizeSafe(
path.resolve(
binaries_path,
"java17_jre_bin",
isMac
? "Contents/Home/bin/java"
: isWin
? "bin/java.exe"
: "bin/java",
),
),
sevenzip_bin: upath.normalizeSafe(path.resolve(binaries_path, "7z-bin", isWin ? "7za.exe" : "7zz")),
git_bin: upath.normalizeSafe(path.resolve(binaries_path, "git-bin", "bin", isWin ? "git.exe" : "git")),
aria2_bin: upath.normalizeSafe(path.resolve(binaries_path, "aria2", isWin ? "aria2c.exe" : "aria2c")),
java22_jre_bin: upath.normalizeSafe(path.resolve(binaries_path, "java22_jre_bin", (isMac ? "Contents/Home/bin/java" : (isWin ? "bin/java.exe" : "bin/java")))),
java17_jre_bin: upath.normalizeSafe(path.resolve(binaries_path, "java17_jre_bin", (isMac ? "Contents/Home/bin/java" : (isWin ? "bin/java.exe" : "bin/java")))),
}
export default {
runtimeName,
db_path,
userdata_path,
runtime_path,
cache_path,
packages_path,
binaries_path,
...binaries,
}
runtimeName,
db_path,
userdata_path,
runtime_path,
cache_path,
packages_path,
binaries_path,
...binaries,
}

4
packages/gui/electron-builder.yml Executable file → Normal file
View File

@ -26,10 +26,10 @@ dmg:
linux:
target:
- AppImage
- snap
- deb
maintainer: ragestudio.net
maintainer: electronjs.org
category: Utility
icon: resources/icon.png
appImage:
artifactName: ${productName}-${version}.${ext}
npmRebuild: false

0
packages/gui/electron.vite.config.js Executable file → Normal file
View File

109
packages/gui/package.json Executable file → Normal file
View File

@ -1,56 +1,55 @@
{
"name": "relic-gui",
"version": "0.20.3",
"description": "RageStudio Relic, yet another package manager.",
"homepage": "https://relic.ragestudio.net",
"main": "./out/main/index.js",
"author": "RageStudio",
"license": "MIT",
"scripts": {
"start": "electron-vite preview",
"dev": "npm run build:core && electron-vite dev",
"build": "npm run build:core && electron-vite build",
"postinstall": "electron-builder install-app-deps",
"pack:win": "electron-builder --win --config",
"pack:mac": "electron-builder --mac --config",
"pack:linux": "electron-builder --linux --config",
"build:win": "npm run build && npm run pack:win",
"build:mac": "npm run build && npm run pack:mac",
"build:linux": "npm run build && npm run pack:linux",
"build:core": "cd ../core && npm run build:swc"
},
"dependencies": {
"@electron-toolkit/preload": "^2.0.0",
"@electron-toolkit/utils": "^2.0.0",
"@getstation/electron-google-oauth2": "^14.0.0",
"@imjs/electron-differential-updater": "^5.1.7",
"@loadable/component": "^5.16.3",
"@ragestudio/relic-core": "^0.20.3",
"antd": "^5.13.2",
"classnames": "^2.3.2",
"electron-differential-updater": "^4.3.2",
"electron-is-dev": "^2.0.0",
"electron-store": "^8.1.0",
"electron-updater": "^6.1.1",
"got": "11.8.3",
"human-format": "^1.2.0",
"protocol-registry": "^1.4.1",
"less": "^4.2.0",
"lodash": "^4.17.21",
"react-icons": "^4.11.0",
"react-motion": "0.5.2",
"react-router-dom": "6.6.2",
"react-spinners": "^0.13.8",
"react-spring": "^9.7.3"
},
"devDependencies": {
"@ragestudio/hermes": "^0.1.1",
"@vitejs/plugin-react": "^4.0.4",
"electron": "25.6.0",
"electron-builder": "24.6.3",
"electron-vite": "^2.1.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"vite": "^4.4.9"
}
}
"name": "@ragestudio/relic-gui",
"version": "0.20.2",
"description": "RageStudio Relic, yet another package manager.",
"main": "./out/main/index.js",
"author": "RageStudio",
"license": "MIT",
"scripts": {
"start": "electron-vite preview",
"dev": "npm run build:core && electron-vite dev",
"build": "npm run build:core && electron-vite build",
"postinstall": "electron-builder install-app-deps",
"pack:win": "electron-builder --win --config",
"pack:mac": "electron-builder --mac --config",
"pack:linux": "electron-builder --linux --config",
"build:win": "npm run build && npm run pack:win",
"build:mac": "npm run build && npm run pack:mac",
"build:linux": "npm run build && npm run pack:linux",
"build:core": "cd ../core && npm run build:swc"
},
"dependencies": {
"@electron-toolkit/preload": "^2.0.0",
"@electron-toolkit/utils": "^2.0.0",
"@getstation/electron-google-oauth2": "^14.0.0",
"@imjs/electron-differential-updater": "^5.1.7",
"@loadable/component": "^5.16.3",
"@ragestudio/relic-core": "^0.20.2",
"antd": "^5.13.2",
"classnames": "^2.3.2",
"electron-differential-updater": "^4.3.2",
"electron-is-dev": "^2.0.0",
"electron-store": "^8.1.0",
"electron-updater": "^6.1.1",
"got": "11.8.3",
"human-format": "^1.2.0",
"protocol-registry": "^1.4.1",
"less": "^4.2.0",
"lodash": "^4.17.21",
"react-icons": "^4.11.0",
"react-motion": "0.5.2",
"react-router-dom": "6.6.2",
"react-spinners": "^0.13.8",
"react-spring": "^9.7.3"
},
"devDependencies": {
"@ragestudio/hermes": "^0.1.1",
"@vitejs/plugin-react": "^4.0.4",
"electron": "25.6.0",
"electron-builder": "24.6.3",
"electron-vite": "^2.1.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"vite": "^4.4.9"
}
}

0
packages/gui/resources/icon.ico Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 28 KiB

0
packages/gui/resources/icon.svg Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

0
packages/gui/src/main/classes/CoreAdapter.js Executable file → Normal file
View File

0
packages/gui/src/main/index.js Executable file → Normal file
View File

Some files were not shown because too many files have changed in this diff Show More