cask "companion" do arch arm: "arm64", intel: "x64" livecheck_arch = on_arch_conditional arm: "arm", intel: "intel" version "4.0.2,8076,7bdc01f6d9" sha256 arm: "aa4a9886a707dbe4cb5ed39104814cec5d184acb77e6279770ba41ea054e16c8", intel: "e0bd7f824e76e85ae67d900e9fbc78d302b081a8b2c62c9c6e14e6e8460bea7d" url "https://s4.bitfocus.io/builds/companion/companion-mac-#{arch}-#{version.csv.first}+#{version.csv.second}-stable-#{version.csv.third}.dmg" name "Bitfocus Companion" desc "Streamdeck extension and emulation software" homepage "https://bitfocus.io/companion" livecheck do url "https://api.bitfocus.io/v1/product/companion/packages?branch=stable&limit=150" regex(/companion[._-]mac[._-]#{arch}[._-]v?(\d+(?:\.\d+)+)\+(\d+(?:\.\d+)*)[._-]stable[._-](\h+)\.dmg/i) strategy :json do |json, regex| json["packages"]&.map do |package| next if package["target"] != "mac-#{livecheck_arch}" match = package["uri"]&.match(regex) next if match.blank? "#{match[1]},#{match[2]},#{match[3]}" end end end depends_on macos: ">= :big_sur" app "Companion.app" zap trash: [ "~/Library/Application Support/@companion-app", "~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/test-companion.bitfocus.no.sfl*", "~/Library/Application Support/companion", "~/Library/Application Support/companion-launcher", "~/Library/Preferences/companion-nodejs", "~/Library/Preferences/companion.bitfocus.no.plist", ] end