2025-05-02 14:17:09 +00:00
|
|
|
import { getExtensionFromFileName } from "./file/fileUtils";
|
|
|
|
|
|
2024-09-05 18:11:14 +00:00
|
|
|
// @ts-ignore
|
|
|
|
|
import uninstallPkg from "../../pkg/file/scripts/uninstall_pkg.sh";
|
|
|
|
|
// @ts-ignore
|
2025-07-17 15:33:23 +00:00
|
|
|
import uninstallMsi from "../../pkg/file/scripts/uninstall_msi_with_upgrade_code.ps1";
|
2024-09-05 18:11:14 +00:00
|
|
|
// @ts-ignore
|
|
|
|
|
import uninstallDeb from "../../pkg/file/scripts/uninstall_deb.sh";
|
2024-10-01 16:02:13 +00:00
|
|
|
// @ts-ignore
|
|
|
|
|
import uninstallRPM from "../../pkg/file/scripts/uninstall_rpm.sh";
|
2024-09-05 18:11:14 +00:00
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* getUninstallScript returns a string with a script to uninstall the
|
|
|
|
|
* provided software.
|
|
|
|
|
* */
|
|
|
|
|
const getDefaultUninstallScript = (fileName: string): string => {
|
2025-05-02 14:17:09 +00:00
|
|
|
const extension = getExtensionFromFileName(fileName);
|
|
|
|
|
|
2024-09-05 18:11:14 +00:00
|
|
|
switch (extension) {
|
|
|
|
|
case "pkg":
|
|
|
|
|
return uninstallPkg;
|
|
|
|
|
case "msi":
|
|
|
|
|
return uninstallMsi;
|
|
|
|
|
case "deb":
|
|
|
|
|
return uninstallDeb;
|
2024-10-01 16:02:13 +00:00
|
|
|
case "rpm":
|
|
|
|
|
return uninstallRPM;
|
2024-09-05 18:11:14 +00:00
|
|
|
case "exe":
|
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-09-05 18:11:14 +00:00
|
|
|
default:
|
|
|
|
|
throw new Error(`unsupported file extension: ${extension}`);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default getDefaultUninstallScript;
|