diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..2bf4f29 --- /dev/null +++ b/TODO.md @@ -0,0 +1,9 @@ +[] auto install java on setup +[x] support install ask configs +[] DEVLOGS +[] improve package last task view (statusText) +[] show git clone status + +[] fix app update modal +[] fix update removes "options.txt" +[] improve child process on management \ No newline at end of file diff --git a/package.json b/package.json index 192ab92..c37873f 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "@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/hermes": "^0.1.1", "adm-zip": "^0.5.10", "antd": "^5.13.2", @@ -44,8 +45,10 @@ "progress-stream": "^2.0.0", "protocol-registry": "^1.4.1", "react-icons": "^4.11.0", - "react-router-dom": "^6.19.0", + "react-router-dom": "6.6.2", "react-spinners": "^0.13.8", + "react-spring": "^9.7.3", + "react-motion": "0.5.2", "request": "^2.88.2", "rimraf": "^5.0.5", "signal-exit": "^4.1.0", diff --git a/src/main/pkg_mng/commands/apply.js b/src/main/commands/apply.js similarity index 93% rename from src/main/pkg_mng/commands/apply.js rename to src/main/commands/apply.js index eeae96a..a948e1c 100644 --- a/src/main/pkg_mng/commands/apply.js +++ b/src/main/commands/apply.js @@ -1,14 +1,14 @@ import fs from "node:fs" -import sendToRender from "../../utils/sendToRender" -import initManifest from "../../utils/initManifest" -import parseStringVars from "../../utils/parseStringVars" -import processGenericSteps from "../installs_steps_methods" +import sendToRender from "../utils/sendToRender" +import initManifest from "../utils/initManifest" +import parseStringVars from "../utils/parseStringVars" +import processGenericSteps from "../generic_steps" import { updateInstalledPackage, getInstalledPackages, -} from "../../local_db" +} from "../local_db" export default async function apply(pkg_id, changes) { let pkg = await getInstalledPackages(pkg_id) diff --git a/src/main/pkg_mng/commands/execute.js b/src/main/commands/execute.js similarity index 93% rename from src/main/pkg_mng/commands/execute.js rename to src/main/commands/execute.js index 2c91108..5c8eb9a 100644 --- a/src/main/pkg_mng/commands/execute.js +++ b/src/main/commands/execute.js @@ -1,11 +1,11 @@ import { getInstalledPackages, -} from "../../local_db" +} from "../local_db" -import readManifest from "../../utils/readManifest" -import initManifest from "../../utils/initManifest" -import parseStringVars from "../../utils/parseStringVars" -import sendToRender from "../../utils/sendToRender" +import readManifest from "../utils/readManifest" +import initManifest from "../utils/initManifest" +import parseStringVars from "../utils/parseStringVars" +import sendToRender from "../utils/sendToRender" import UpdateCMD from "./update" diff --git a/src/main/pkg_mng/commands/install.js b/src/main/commands/install.js similarity index 91% rename from src/main/pkg_mng/commands/install.js rename to src/main/commands/install.js index aa5b66a..be0bb9e 100644 --- a/src/main/pkg_mng/commands/install.js +++ b/src/main/commands/install.js @@ -1,17 +1,17 @@ import fs from "node:fs" -import readManifest from "../../utils/readManifest" -import initManifest from "../../utils/initManifest" -import sendToRender from "../../utils/sendToRender" +import readManifest from "../utils/readManifest" +import initManifest from "../utils/initManifest" +import sendToRender from "../utils/sendToRender" -import defaultManifest from "../../defaults/pkg_manifest" -import processGenericSteps from "../installs_steps_methods" +import defaultManifest from "../defaults/pkg_manifest" +import processGenericSteps from "../generic_steps" import applyChanges from "./apply" import { updateInstalledPackage, -} from "../../local_db" +} from "../local_db" export default async function install(manifest) { manifest = await readManifest(manifest).catch((error) => { diff --git a/src/main/pkg_mng/commands/uninstall.js b/src/main/commands/uninstall.js similarity index 85% rename from src/main/pkg_mng/commands/uninstall.js rename to src/main/commands/uninstall.js index e092ce1..813f952 100644 --- a/src/main/pkg_mng/commands/uninstall.js +++ b/src/main/commands/uninstall.js @@ -1,11 +1,11 @@ import { getInstalledPackages, deleteInstalledPackage, -} from "../../local_db" +} from "../local_db" -import sendToRender from "../../utils/sendToRender" -import readManifest from "../../utils/readManifest" -import initManifest from "../../utils/initManifest" +import sendToRender from "../utils/sendToRender" +import readManifest from "../utils/readManifest" +import initManifest from "../utils/initManifest" import { rimraf } from "rimraf" diff --git a/src/main/pkg_mng/commands/update.js b/src/main/commands/update.js similarity index 92% rename from src/main/pkg_mng/commands/update.js rename to src/main/commands/update.js index 51f757e..1d12b36 100644 --- a/src/main/pkg_mng/commands/update.js +++ b/src/main/commands/update.js @@ -1,13 +1,13 @@ import { updateInstalledPackage, getInstalledPackages, -} from "../../local_db" +} from "../local_db" -import readManifest from "../../utils/readManifest" -import initManifest from "../../utils/initManifest" -import sendToRender from "../../utils/sendToRender" +import readManifest from "../utils/readManifest" +import initManifest from "../utils/initManifest" +import sendToRender from "../utils/sendToRender" -import processGenericSteps from "../installs_steps_methods" +import processGenericSteps from "../generic_steps" export default async function update(pkg_id) { // find package manifest diff --git a/src/main/pkg_mng/installs_steps_methods/drive.js b/src/main/generic_steps/drive.js similarity index 92% rename from src/main/pkg_mng/installs_steps_methods/drive.js rename to src/main/generic_steps/drive.js index 35e1ce5..9c355cf 100644 --- a/src/main/pkg_mng/installs_steps_methods/drive.js +++ b/src/main/generic_steps/drive.js @@ -3,12 +3,10 @@ import fs from "node:fs" import humanFormat from "human-format" -import got from "got" +import sendToRender from "../utils/sendToRender" +import extractFile from "../utils/extractFile" -import sendToRender from "../../utils/sendToRender" -import extractFile from "../../utils/extractFile" - -import GoogleDriveAPI from "../../lib/google_drive" +import GoogleDriveAPI from "../lib/google_drive" function convertSize(size) { return `${humanFormat(size, { diff --git a/src/main/pkg_mng/installs_steps_methods/git_clone.js b/src/main/generic_steps/git_clone.js similarity index 89% rename from src/main/pkg_mng/installs_steps_methods/git_clone.js rename to src/main/generic_steps/git_clone.js index 3d437e2..e93d3f7 100644 --- a/src/main/pkg_mng/installs_steps_methods/git_clone.js +++ b/src/main/generic_steps/git_clone.js @@ -1,10 +1,10 @@ import path from "node:path" import fs from "node:fs" import upath from "upath" -import { execa } from "../../lib/execa" +import { execa } from "../lib/execa" -import sendToRender from "../../utils/sendToRender" -import Vars from "../../vars" +import sendToRender from "../utils/sendToRender" +import Vars from "../vars" export default async (manifest, step) => { const gitCMD = fs.existsSync(Vars.git_path) ? `${Vars.git_path}` : "git" diff --git a/src/main/pkg_mng/installs_steps_methods/git_pull.js b/src/main/generic_steps/git_pull.js similarity index 83% rename from src/main/pkg_mng/installs_steps_methods/git_pull.js rename to src/main/generic_steps/git_pull.js index de5d2a5..9a1475e 100644 --- a/src/main/pkg_mng/installs_steps_methods/git_pull.js +++ b/src/main/generic_steps/git_pull.js @@ -1,10 +1,10 @@ import path from "node:path" import fs from "node:fs" -import { execa } from "../../lib/execa" +import { execa } from "../lib/execa" -import sendToRender from "../../utils/sendToRender" +import sendToRender from "../utils/sendToRender" -import Vars from "../../vars" +import Vars from "../vars" export default async (manifest, step) => { const gitCMD = fs.existsSync(Vars.git_path) ? `${Vars.git_path}` : "git" diff --git a/src/main/pkg_mng/installs_steps_methods/git_reset.js b/src/main/generic_steps/git_reset.js similarity index 93% rename from src/main/pkg_mng/installs_steps_methods/git_reset.js rename to src/main/generic_steps/git_reset.js index 12bfa1f..33edb66 100644 --- a/src/main/pkg_mng/installs_steps_methods/git_reset.js +++ b/src/main/generic_steps/git_reset.js @@ -1,11 +1,11 @@ import path from "node:path" import fs from "node:fs" -import { execa } from "../../lib/execa" +import { execa } from "../lib/execa" -import sendToRender from "../../utils/sendToRender" +import sendToRender from "../utils/sendToRender" import git_pull from "./git_pull" -import Vars from "../../vars" +import Vars from "../vars" export default async (manifest, step) => { const gitCMD = fs.existsSync(Vars.git_path) ? `${Vars.git_path}` : "git" diff --git a/src/main/pkg_mng/installs_steps_methods/http.js b/src/main/generic_steps/http.js similarity index 96% rename from src/main/pkg_mng/installs_steps_methods/http.js rename to src/main/generic_steps/http.js index 475be91..d25f611 100644 --- a/src/main/pkg_mng/installs_steps_methods/http.js +++ b/src/main/generic_steps/http.js @@ -8,8 +8,8 @@ import humanFormat from "human-format" import got from "got" -import sendToRender from "../../utils/sendToRender" -import extractFile from "../../utils/extractFile" +import sendToRender from "../utils/sendToRender" +import extractFile from "../utils/extractFile" function convertSize(size) { return `${humanFormat(size, { diff --git a/src/main/pkg_mng/installs_steps_methods/index.js b/src/main/generic_steps/index.js similarity index 100% rename from src/main/pkg_mng/installs_steps_methods/index.js rename to src/main/generic_steps/index.js diff --git a/src/main/index.js b/src/main/index.js index d5a8c6f..35a06bb 100644 --- a/src/main/index.js +++ b/src/main/index.js @@ -16,7 +16,7 @@ import pkg from "../../package.json" import setup from "./setup" -import PkgManager from "./pkg_mng" +import PkgManager from "./manager" import { readManifest } from "./utils/readManifest" import GoogleDriveAPI from "./lib/google_drive" diff --git a/src/main/public_libraries/mcl/index.js b/src/main/lib/mcl/index.js similarity index 91% rename from src/main/public_libraries/mcl/index.js rename to src/main/lib/mcl/index.js index 67b8c69..3a026c3 100644 --- a/src/main/public_libraries/mcl/index.js +++ b/src/main/lib/mcl/index.js @@ -1,5 +1,5 @@ -import Client from "../../lib/mcl/launcher" -import Authenticator from "../../lib/mcl/authenticator" +import Client from "./launcher" +import Authenticator from "./authenticator" export default class MCL { /** diff --git a/src/main/public_libraries/index.js b/src/main/lib/public_bind.js similarity index 100% rename from src/main/public_libraries/index.js rename to src/main/lib/public_bind.js diff --git a/src/main/public_libraries/renderer_ipc/index.js b/src/main/lib/renderer_ipc/index.js similarity index 100% rename from src/main/public_libraries/renderer_ipc/index.js rename to src/main/lib/renderer_ipc/index.js diff --git a/src/main/pkg_mng/index.js b/src/main/manager.js similarity index 97% rename from src/main/pkg_mng/index.js rename to src/main/manager.js index 3c8c9d7..1c0e979 100644 --- a/src/main/pkg_mng/index.js +++ b/src/main/manager.js @@ -1,8 +1,8 @@ import fs from "node:fs" import open from "open" -import Vars from "../vars" -import * as local_db from "../local_db" +import Vars from "./vars" +import * as local_db from "./local_db" import InstallCMD from "./commands/install" import UpdateCMD from "./commands/update" diff --git a/src/main/utils/initManifest.js b/src/main/utils/initManifest.js index 103e1ff..f87bf42 100644 --- a/src/main/utils/initManifest.js +++ b/src/main/utils/initManifest.js @@ -3,7 +3,7 @@ import os from "node:os" import lodash from "lodash" import Vars from "../vars" -import PublicLibs from "../public_libraries" +import PublicLibs from "../lib/public_bind" async function importLib(libs) { const libraries = {}