import BaseBuilder from './BaseBuilder'; import { PakeAppOptions } from '@/types'; import tauriConfig from '@/helpers/tauriConfig'; export default class LinuxBuilder extends BaseBuilder { constructor(options: PakeAppOptions) { super(options); } getFileName(): string { const { name } = this.options; const arch = process.arch === 'x64' ? 'amd64' : process.arch; return `${name}_${tauriConfig.package.version}_${arch}`; } // Customize it, considering that there are all targets. async build(url: string) { const targetTypes = ['deb', 'appimage']; for (const target of targetTypes) { if (this.options.targets === target || this.options.targets === 'all') { await this.buildAndCopy(url, target); } } } protected getFileType(target: string): string { if (target === 'appimage') { return 'AppImage'; } return super.getFileType(target); } }