Files
tuxmate-abusoww/src/lib/aur.ts
dogination 0dc0ef830c merge #45: fix app package targets and messages
* Add cura & vagrant, remove bun-bin

* arch bun change from bun-bin to bun

* Debian fix steam, lutris, torbrowser, chrome, telegram, openjdk and notes

* Update google chrome notes

* Update openjdk debian

* Ubuntu apps fix + minor debian app fixes

* fixed godot to use --cask on brew

* updated godot unavreason

* updated bun unavreason

* tor-browser fixed pkg name on nix

* removed from fedora and updated unav reason

* telegram removed from fedora and updated message

* corrected openjdk

* updated helix message

* fixed lazygit

* removed fedora virtualbox

* fixed fastfetch

* removed tldr from ubuntu

* added back shortwave

* removed message freecad

* removed veracrypt from message and updated message

* fsearch removed from fedora and updated messaage

---------

Co-authored-by: N1C4T <nicat@abusov.com>
2026-01-25 02:07:07 +04:00

87 lines
1.7 KiB
TypeScript

/**
* AUR package detection for Arch users.
* Figures out if a package comes from AUR or official repos.
* Necessary because yay/paru handle AUR packages differently.
*/
/** Suffixes that scream "I'm from the AUR" */
export const AUR_PATTERNS = ['-bin', '-git', '-appimage'];
/**
* Known AUR packages that don't follow the suffix naming convention.
* These are packages that exist only in AUR, not in official Arch repos.
*/
export const KNOWN_AUR_PACKAGES = new Set([
// Browsers
'google-chrome',
'zen-browser-bin',
'helium-browser-bin',
// Communication
'slack-desktop',
'zoom',
'vesktop-bin',
// Dev Editors
'sublime-text-4',
'vscodium-bin',
'cursor-bin',
// Dev Tools
'vagrant',
'postman-bin',
'bruno-bin',
'hoppscotch-bin',
// Dev Languages
// Media
'spotify',
'stremio',
// Gaming
'heroic-games-launcher-bin',
'protonup-qt-bin',
// Office
'onlyoffice-bin',
'logseq-desktop-bin',
'joplin-appimage',
// VPN
'proton-vpn-gtk-app',
'mullvad-vpn-bin',
// File Sharing
'localsend-bin',
'dropbox',
'ab-download-manager-bin',
// Security
'bitwarden',
// Creative
'cura',
'orcaslicer-bin',
'davinci-resolve',
// System
'fsearch',
// Browsers (additional)
'brave-bin',
'librewolf-bin',
]);
/**
* Check if a package name is an AUR package
* @param packageName - The Arch package name to check
* @returns true if the package is from AUR
*/
export function isAurPackage(packageName: string): boolean {
if (KNOWN_AUR_PACKAGES.has(packageName)) {
return true;
}
return AUR_PATTERNS.some(pattern => packageName.endsWith(pattern));
}