2025-05-02 14:17:09 +00:00
|
|
|
import { getExtensionFromFileName } from "./file/fileUtils";
|
|
|
|
|
|
2024-05-01 17:15:59 +00:00
|
|
|
// @ts-ignore
|
|
|
|
|
import installPkg from "../../pkg/file/scripts/install_pkg.sh";
|
|
|
|
|
// @ts-ignore
|
|
|
|
|
import installMsi from "../../pkg/file/scripts/install_msi.ps1";
|
|
|
|
|
// @ts-ignore
|
|
|
|
|
import installDeb from "../../pkg/file/scripts/install_deb.sh";
|
2024-10-01 16:02:13 +00:00
|
|
|
// @ts-ignore
|
|
|
|
|
import installRPM from "../../pkg/file/scripts/install_rpm.sh";
|
2024-05-01 17:15:59 +00:00
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* getInstallScript returns a string with a script to install the
|
|
|
|
|
* provided software.
|
|
|
|
|
* */
|
2024-09-05 18:11:14 +00:00
|
|
|
const getDefaultInstallScript = (fileName: string): string => {
|
2025-05-02 14:17:09 +00:00
|
|
|
const extension = getExtensionFromFileName(fileName);
|
|
|
|
|
|
2024-05-06 14:41:31 +00:00
|
|
|
switch (extension) {
|
2024-05-01 17:15:59 +00:00
|
|
|
case "pkg":
|
2024-05-06 14:41:31 +00:00
|
|
|
return installPkg;
|
2024-05-01 17:15:59 +00:00
|
|
|
case "msi":
|
2024-05-06 14:41:31 +00:00
|
|
|
return installMsi;
|
2024-05-01 17:15:59 +00:00
|
|
|
case "deb":
|
2024-05-06 14:41:31 +00:00
|
|
|
return installDeb;
|
2024-10-01 16:02:13 +00:00
|
|
|
case "rpm":
|
|
|
|
|
return installRPM;
|
2024-05-01 17:15:59 +00:00
|
|
|
case "exe":
|
2025-12-15 17:03:43 +00:00
|
|
|
case "zip":
|
2025-05-02 14:17:09 +00:00
|
|
|
case "tar.gz":
|
2025-10-17 14:54:00 +00:00
|
|
|
case "sh":
|
|
|
|
|
case "ps1":
|
2025-10-28 21:48:10 +00:00
|
|
|
case "ipa":
|
2025-05-02 14:17:09 +00:00
|
|
|
return "";
|
2024-05-01 17:15:59 +00:00
|
|
|
default:
|
2024-05-06 14:41:31 +00:00
|
|
|
throw new Error(`unsupported file extension: ${extension}`);
|
2024-05-01 17:15:59 +00:00
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
2024-09-05 18:11:14 +00:00
|
|
|
export default getDefaultInstallScript;
|