mirror of
https://github.com/abusoww/tuxmate.git
synced 2026-04-23 22:35:32 +02:00
refactor: split CommandFooter, perf tweaks
- extracted drawer modal to CommandDrawer (~180 lines) - CommandFooter now under 270 lines - replaced transition-all with specific props (colors, transform, etc) - should reduce repaints on hover states
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
/**
|
||||
* Arch Linux script generator with AUR support
|
||||
*/
|
||||
// Arch script - handles both pacman and AUR packages
|
||||
|
||||
import { generateAsciiHeader, generateSharedUtils, escapeShellString, type PackageInfo } from './shared';
|
||||
import { isAurPackage } from '../aur';
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
/**
|
||||
* Debian script generator
|
||||
*/
|
||||
// Debian script - apt-get with dependency auto-fix
|
||||
|
||||
import { generateAsciiHeader, generateSharedUtils, escapeShellString, type PackageInfo } from './shared';
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
/**
|
||||
* Fedora script generator with RPM Fusion support
|
||||
*/
|
||||
// Fedora script - dnf with RPM Fusion auto-enable
|
||||
|
||||
import { generateAsciiHeader, generateSharedUtils, escapeShellString, type PackageInfo } from './shared';
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
/**
|
||||
* Flatpak script generator with parallel install
|
||||
*/
|
||||
// Flatpak script - parallel install when 3+ packages
|
||||
|
||||
import { generateAsciiHeader, generateSharedUtils, escapeShellString, type PackageInfo } from './shared';
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
/**
|
||||
* Script generator index - re-exports all distro generators
|
||||
*/
|
||||
// Re-exports all distro script generators
|
||||
|
||||
export { escapeShellString, getSelectedPackages, type PackageInfo } from './shared';
|
||||
export { generateUbuntuScript } from './ubuntu';
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
/**
|
||||
* Nix script generator
|
||||
*/
|
||||
// Nix script - nix-env
|
||||
|
||||
import { generateAsciiHeader, generateSharedUtils, escapeShellString, type PackageInfo } from './shared';
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
/**
|
||||
* openSUSE script generator
|
||||
*/
|
||||
// openSUSE script - zypper
|
||||
|
||||
import { generateAsciiHeader, generateSharedUtils, escapeShellString, type PackageInfo } from './shared';
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
/**
|
||||
* Shared utilities and types for script generation
|
||||
*/
|
||||
// Stuff shared across all distro script generators
|
||||
|
||||
import { apps, type DistroId, type AppData } from '../data';
|
||||
|
||||
@@ -9,10 +7,7 @@ export interface PackageInfo {
|
||||
pkg: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Escape special characters for safe use in shell scripts
|
||||
* Prevents injection attacks from malicious app/package names
|
||||
*/
|
||||
// Don't let anyone sneak shell commands through app names :)
|
||||
export function escapeShellString(str: string): string {
|
||||
return str
|
||||
.replace(/\\/g, '\\\\') // Escape backslashes first
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
/**
|
||||
* Snap script generator
|
||||
*/
|
||||
// Snap script
|
||||
|
||||
import { generateAsciiHeader, generateSharedUtils, escapeShellString, type PackageInfo } from './shared';
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
/**
|
||||
* Ubuntu script generator
|
||||
*/
|
||||
// Ubuntu script - apt-get with dependency auto-fix
|
||||
|
||||
import { generateAsciiHeader, generateSharedUtils, escapeShellString, type PackageInfo } from './shared';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user