Casks/s/safari-technology-preview.rb
cask "safari-technology-preview" do
# when adjusting the on_{os} scoping, also update the livecheck regex
on_sonoma :or_older do
version "202,062-72357-20240828-E33E17E6-7C37-4308-BD2C-175ED49A78FF"
sha256 "985c01b4b73e7581c51f7fe05b52265859be6d4fb2c126dd779aaf794a5dfcaa"
livecheck do
url :homepage
regex(%r{
href=.*?/([^/]+)/Safari(?:%20|\+)?Technology(?:%20|\+)?Preview\.dmg
.*?macOS(?:\s| )*14[\s.<]
}ix)
strategy :page_match do |page, regex|
release = page[%r{>\s*Release\s*</p>\s*<p[^>]*>\s*(\d+)[^<]*<}i, 1]
id = page[regex, 1]
"#{release},#{id}"
end
end
end
on_sequoia :or_newer do
version "202,062-72354-20240828-DC0FA32E-47D0-42F1-87EA-590365357565"
sha256 "647e773b4d4a5f0ab30c11fcbdb20d1674640f39b52f0eb881acac0fb2bea922"
livecheck do
url :homepage
regex(%r{
href=.*?/([^/]+)/Safari(?:%20|\+)?Technology(?:%20|\+)?Preview\.dmg
.*?macOS(?:\s| )*15[\s.<]
}ix)
strategy :page_match do |page, regex|
release = page[%r{>\s*Release\s*</p>\s*<p[^>]*>\s*(\d+)[^<]*<}i, 1]
id = page[regex, 1]
"#{release},#{id}"
end
end
end
url "https://secure-appldnld.apple.com/STP/#{version.csv.second}/Safari+Technology+Preview.dmg"
name "Safari Technology Preview"
desc "Web browser"
homepage "https://developer.apple.com/safari/resources/"
auto_updates true
depends_on macos: ">= :sonoma"
pkg "Safari Technology Preview.pkg"
uninstall launchctl: "com.apple.SafariTechnologyPreview.History",
quit: "com.apple.SafariTechnologyPreview",
delete: "/Applications/Safari Technology Preview.app"
zap trash: [
"~/Library/Application Scripts/com.apple.SafariTechnologyPreview*",
"~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.apple.safaritechnologypreview.sfl*",
"~/Library/Caches/com.apple.SafariTechnologyPreview",
"~/Library/Containers/com.apple.SafariTechnologyPreview*",
"~/Library/Preferences/com.apple.SafariTechnologyPreview*",
"~/Library/SafariTechnologyPreview",
"~/Library/Saved Application State/com.apple.SafariTechnologyPreview.savedState",
"~/Library/SyncedPreferences/com.apple.SafariTechnologyPreview*",
"~/Library/WebKit/com.apple.SafariTechnologyPreview",
]
end