update build and postinstall for mac

This commit is contained in:
Zamitto 2024-05-30 11:47:00 -03:00
parent 8705efc9b6
commit eaa5b46b1f
2 changed files with 25 additions and 3 deletions

View file

@ -6,7 +6,7 @@ jobs:
build:
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-11]
os: [macos-11]
runs-on: ${{ matrix.os }}
@ -19,6 +19,10 @@ jobs:
with:
node-version: 20.11.1
- name: Install aria2 on Mac
if: matrix.os == 'macos-11'
run: brew install aria2
- name: Install dependencies
run: yarn

View file

@ -1,10 +1,11 @@
const { default: axios } = require("axios");
const util = require("node:util");
const fs = require("node:fs");
const { spawnSync } = require("node:child_process");
const exec = util.promisify(require("node:child_process").exec);
const downloadAria2 = async () => {
const downloadAria2WindowsAndLinux = async () => {
if (fs.existsSync("aria2")) {
console.log("Aria2 already exists, skipping download...");
return;
@ -47,6 +48,19 @@ const downloadAria2 = async () => {
});
};
const copyAria2Macos = async () => {
const isAria2Installed = spawnSync("which", ["aria2c"]).status;
if (isAria2Installed != 0) {
console.log("Please install aria2");
console.log("brew install aria2");
return;
}
fs.mkdirSync("aria2");
await exec(`cp $(which aria2c) aria2/aria2c`);
};
if (process.platform === "win32") {
fs.copyFileSync(
"node_modules/ps-list/vendor/fastlist-0.3.0-x64.exe",
@ -54,4 +68,8 @@ if (process.platform === "win32") {
);
}
downloadAria2();
if (process.platform == "darwin") {
copyAria2Macos();
} else {
downloadAria2WindowsAndLinux();
}