This repository has been archived on 2025-03-25. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
kernel-package-downloader/preload.js
2022-05-19 14:03:26 -04:00

38 lines
1.2 KiB
JavaScript

const { contextBridge } = require("electron")
const { resolve, join } = require("path")
const { promises, constants } = require("fs")
const exec = require("util").promisify(require("child_process").exec)
contextBridge.exposeInMainWorld("installPackage", async (link) => {
const packagesPath = resolve(__dirname, "..")
const packagePath = join(packagesPath, link[7])
try {
await exec(`git clone ${link[0]}`, {
cwd: packagesPath,
})
await exec(
`${
process.platform == "darwin"
? path.join(process.env.HOME, "Library", "pnpm", "pnpm")
: "pnpm"
} i --production`,
{
cwd: packagePath,
}
)
try {
await promises.access(join(packagePath, "main.js"), constants.F_OK)
return {
reloadMessage:
"Main.js file detected: Please quit Discord from the system tray",
}
} catch (error) {
return { reloadMessage: "Please reload discord with Ctrl+R" }
}
} catch (error) {
return { error }
}
})