cask "companion" do arch arm: "arm64", intel: "x64" livecheck_arch = on_arch_conditional arm: "arm", intel: "intel" version "5.0.7,9763,cec2f88e6f" sha256 arm: "1ee2bc7ec33c4cdabfa05934f0c55aeb641063807da16feb76ea164ba4307820", intel: "c68aeaa9042107dd10dae6fe53e815f30d678c386e6ba5af8ee26005171d9ba2" url "https://cf-pub.bitfocus.io/companion/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: :monterey 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