Update Fleet-maintained apps (#36861)

Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
This commit is contained in:
fleet-release 2025-12-08 08:45:29 -06:00 committed by GitHub
parent dee10b9991
commit b506fe84cf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 23 additions and 23 deletions

View file

@ -1,14 +1,14 @@
{
"versions": [
{
"version": "2025.2.5",
"version": "2025.3",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.CLion';"
},
"installer_url": "https://download.jetbrains.com/cpp/CLion-2025.2.5-aarch64.dmg",
"installer_url": "https://download.jetbrains.com/cpp/CLion-2025.3-aarch64.dmg",
"install_script_ref": "2017e650",
"uninstall_script_ref": "4c45cafb",
"sha256": "b0496540a133c82c64ac959f1d4542fe331bd63403fd230e23adf4bc957c84af",
"uninstall_script_ref": "64694458",
"sha256": "3400aa49c6ded593d66ef9e6af1d543c0450ea482f6ffa0a7dd9a7306d9f0920",
"default_categories": [
"Developer tools"
]
@ -16,6 +16,6 @@
],
"refs": {
"2017e650": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath $INSTALLER_PATH)\")\n# functions\n\nquit_application() {\n local bundle_id=\"$1\"\n local timeout_duration=10\n\n # check if the application is running\n if ! osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ $EUID -eq 0 && \"$console_user\" == \"root\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\n# extract contents\nMOUNT_POINT=$(mktemp -d /tmp/dmg_mount_XXXXXX)\nhdiutil attach -plist -nobrowse -readonly -mountpoint \"$MOUNT_POINT\" \"$INSTALLER_PATH\"\nsudo cp -R \"$MOUNT_POINT\"/* \"$TMPDIR\"\nhdiutil detach \"$MOUNT_POINT\"\n# copy to the applications folder\nquit_application 'com.jetbrains.CLion'\nif [ -d \"$APPDIR/CLion.app\" ]; then\n\tsudo mv \"$APPDIR/CLion.app\" \"$TMPDIR/CLion.app.bkp\"\nfi\nsudo cp -R \"$TMPDIR/CLion.app\" \"$APPDIR\"\n",
"4c45cafb": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nsudo rm -rf \"$APPDIR/CLion.app\"\nsudo rm -rf 'clion'\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/CLion2025.2'\ntrash $LOGGED_IN_USER '~/Library/Caches/JetBrains/CLion2025.2'\ntrash $LOGGED_IN_USER '~/Library/Logs/JetBrains/CLion2025.2'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.CLion.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.CLion.savedState'\n"
"64694458": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nsudo rm -rf \"$APPDIR/CLion.app\"\nsudo rm -rf 'clion'\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/CLion2025.3'\ntrash $LOGGED_IN_USER '~/Library/Caches/JetBrains/CLion2025.3'\ntrash $LOGGED_IN_USER '~/Library/Logs/JetBrains/CLion2025.3'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.CLion.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.CLion.savedState'\n"
}
}

View file

@ -1,21 +1,21 @@
{
"versions": [
{
"version": "2025.2.5",
"version": "2025.3",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.goland';"
},
"installer_url": "https://download.jetbrains.com/go/goland-2025.2.5-aarch64.dmg",
"installer_url": "https://download.jetbrains.com/go/goland-2025.3-aarch64.dmg",
"install_script_ref": "783b364b",
"uninstall_script_ref": "40e4e827",
"sha256": "91faea3e0aff80e16a27cacaec1c39ef13eac2b3da1b0f0aa1af667be96f4c78",
"uninstall_script_ref": "483ece2b",
"sha256": "d4ee20b5c3df6151d366d6cc9b06b915499ff0c1eb1184aab53a01078908ec89",
"default_categories": [
"Developer tools"
]
}
],
"refs": {
"40e4e827": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nsudo rm -rf \"$APPDIR/GoLand.app\"\nsudo rm -rf 'goland'\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/GoLand'\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/GoLand2025.2'\ntrash $LOGGED_IN_USER '~/Library/Caches/JetBrains/GoLand2025.2'\ntrash $LOGGED_IN_USER '~/Library/Logs/JetBrains/GoLand2025.2'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.goland.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/GoLand2025.2'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.goland.SavedState'\n",
"483ece2b": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nsudo rm -rf \"$APPDIR/GoLand.app\"\nsudo rm -rf 'goland'\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/GoLand'\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/GoLand2025.3'\ntrash $LOGGED_IN_USER '~/Library/Caches/JetBrains/GoLand2025.3'\ntrash $LOGGED_IN_USER '~/Library/Logs/JetBrains/GoLand2025.3'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.goland.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/GoLand2025.3'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.goland.SavedState'\n",
"783b364b": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath $INSTALLER_PATH)\")\n# functions\n\nquit_application() {\n local bundle_id=\"$1\"\n local timeout_duration=10\n\n # check if the application is running\n if ! osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ $EUID -eq 0 && \"$console_user\" == \"root\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\n# extract contents\nMOUNT_POINT=$(mktemp -d /tmp/dmg_mount_XXXXXX)\nhdiutil attach -plist -nobrowse -readonly -mountpoint \"$MOUNT_POINT\" \"$INSTALLER_PATH\"\nsudo cp -R \"$MOUNT_POINT\"/* \"$TMPDIR\"\nhdiutil detach \"$MOUNT_POINT\"\n# copy to the applications folder\nquit_application 'com.jetbrains.goland'\nif [ -d \"$APPDIR/GoLand.app\" ]; then\n\tsudo mv \"$APPDIR/GoLand.app\" \"$TMPDIR/GoLand.app.bkp\"\nfi\nsudo cp -R \"$TMPDIR/GoLand.app\" \"$APPDIR\"\n"
}
}

View file

@ -1,21 +1,21 @@
{
"versions": [
{
"version": "2025.2.5",
"version": "2025.3",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.intellij';"
},
"installer_url": "https://download.jetbrains.com/idea/ideaIU-2025.2.5-aarch64.dmg",
"installer_url": "https://download.jetbrains.com/idea/ideaIU-2025.3-aarch64.dmg",
"install_script_ref": "f3bbbc1e",
"uninstall_script_ref": "582cd6de",
"sha256": "6ec8cf520556c75e91a3cae1c54f464dee3609c4d7efef3bb307b129c7d9cb63",
"uninstall_script_ref": "73c2195b",
"sha256": "2146b7f5e33d8eab68d9147a15b6df11b3c07b3e6130f351c0b16069c2e6faed",
"default_categories": [
"Developer tools"
]
}
],
"refs": {
"582cd6de": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nsudo rm -rf \"$APPDIR/IntelliJ IDEA.app\"\nsudo rm -rf 'idea'\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/IntelliJIdea2025.2'\ntrash $LOGGED_IN_USER '~/Library/Caches/JetBrains/IntelliJIdea2025.2'\ntrash $LOGGED_IN_USER '~/Library/Logs/JetBrains/IntelliJIdea2025.2'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.intellij.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/IntelliJIdea2025.2'\ntrash $LOGGED_IN_USER '~/Library/Preferences/jetbrains.idea.*.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.intellij.savedState'\n",
"73c2195b": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nsudo rm -rf \"$APPDIR/IntelliJ IDEA.app\"\nsudo rm -rf 'idea'\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/IntelliJIdea2025.3'\ntrash $LOGGED_IN_USER '~/Library/Caches/JetBrains/IntelliJIdea2025.3'\ntrash $LOGGED_IN_USER '~/Library/Logs/JetBrains/IntelliJIdea2025.3'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.intellij.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/IntelliJIdea2025.3'\ntrash $LOGGED_IN_USER '~/Library/Preferences/jetbrains.idea.*.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.intellij.savedState'\n",
"f3bbbc1e": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath $INSTALLER_PATH)\")\n# functions\n\nquit_application() {\n local bundle_id=\"$1\"\n local timeout_duration=10\n\n # check if the application is running\n if ! osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ $EUID -eq 0 && \"$console_user\" == \"root\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\n# extract contents\nMOUNT_POINT=$(mktemp -d /tmp/dmg_mount_XXXXXX)\nhdiutil attach -plist -nobrowse -readonly -mountpoint \"$MOUNT_POINT\" \"$INSTALLER_PATH\"\nsudo cp -R \"$MOUNT_POINT\"/* \"$TMPDIR\"\nhdiutil detach \"$MOUNT_POINT\"\n# copy to the applications folder\nquit_application 'com.jetbrains.intellij'\nif [ -d \"$APPDIR/IntelliJ IDEA.app\" ]; then\n\tsudo mv \"$APPDIR/IntelliJ IDEA.app\" \"$TMPDIR/IntelliJ IDEA.app.bkp\"\nfi\nsudo cp -R \"$TMPDIR/IntelliJ IDEA.app\" \"$APPDIR\"\n"
}
}

View file

@ -1,14 +1,14 @@
{
"versions": [
{
"version": "11.74.5",
"version": "11.75.1",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.postmanlabs.mac';"
},
"installer_url": "https://dl.pstmn.io/download/version/11.74.5/osx_arm64",
"installer_url": "https://dl.pstmn.io/download/version/11.75.1/osx_arm64",
"install_script_ref": "a937991a",
"uninstall_script_ref": "15e9f11c",
"sha256": "f5133a02787ce5f938c189ff12139a0968e9eae1584bfbf59e42e2f64277d191",
"sha256": "26092afe060245462bf400c27c7aa68078b5d7c2fc88e30311aacbee5b715e78",
"default_categories": [
"Developer tools"
]

View file

@ -1,21 +1,21 @@
{
"versions": [
{
"version": "2025.2.5",
"version": "2025.3",
"queries": {
"exists": "SELECT 1 FROM apps WHERE bundle_identifier = 'com.jetbrains.WebStorm';"
},
"installer_url": "https://download.jetbrains.com/webstorm/WebStorm-2025.2.5-aarch64.dmg",
"installer_url": "https://download.jetbrains.com/webstorm/WebStorm-2025.3-aarch64.dmg",
"install_script_ref": "c4bf0a63",
"uninstall_script_ref": "af3939c8",
"sha256": "729d519244a4be15add4b0963ebf84fb9c3f3f2f7d1eab3ad925ef79fe359773",
"uninstall_script_ref": "5532054b",
"sha256": "a9e5f96f2697ff40f1dcbe98de6bc6b26156b66ae308bd46dcb7c2bd83f0675e",
"default_categories": [
"Developer tools"
]
}
],
"refs": {
"af3939c8": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nsudo rm -rf \"$APPDIR/WebStorm.app\"\nsudo rm -rf 'webstorm'\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/WebStorm2025.2'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.apple.nsurlsessiond/Downloads/com.jetbrains.WebStorm'\ntrash $LOGGED_IN_USER '~/Library/Caches/JetBrains/WebStorm2025.2'\ntrash $LOGGED_IN_USER '~/Library/Logs/JetBrains/WebStorm2025.2'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.WebStorm.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/jetbrains.webstorm.*.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/WebStorm2025.2'\ntrash $LOGGED_IN_USER '~/Library/Preferences/webstorm.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.WebStorm.savedState'\n",
"5532054b": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nsudo rm -rf \"$APPDIR/WebStorm.app\"\nsudo rm -rf 'webstorm'\ntrash $LOGGED_IN_USER '~/Library/Application Support/JetBrains/WebStorm2025.3'\ntrash $LOGGED_IN_USER '~/Library/Caches/com.apple.nsurlsessiond/Downloads/com.jetbrains.WebStorm'\ntrash $LOGGED_IN_USER '~/Library/Caches/JetBrains/WebStorm2025.3'\ntrash $LOGGED_IN_USER '~/Library/Logs/JetBrains/WebStorm2025.3'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.jetbrains.WebStorm.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/jetbrains.webstorm.*.plist'\ntrash $LOGGED_IN_USER '~/Library/Preferences/WebStorm2025.3'\ntrash $LOGGED_IN_USER '~/Library/Preferences/webstorm.plist'\ntrash $LOGGED_IN_USER '~/Library/Saved Application State/com.jetbrains.WebStorm.savedState'\n",
"c4bf0a63": "#!/bin/sh\n\n# variables\nAPPDIR=\"/Applications/\"\nTMPDIR=$(dirname \"$(realpath $INSTALLER_PATH)\")\n# functions\n\nquit_application() {\n local bundle_id=\"$1\"\n local timeout_duration=10\n\n # check if the application is running\n if ! osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ $EUID -eq 0 && \"$console_user\" == \"root\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\n# extract contents\nMOUNT_POINT=$(mktemp -d /tmp/dmg_mount_XXXXXX)\nhdiutil attach -plist -nobrowse -readonly -mountpoint \"$MOUNT_POINT\" \"$INSTALLER_PATH\"\nsudo cp -R \"$MOUNT_POINT\"/* \"$TMPDIR\"\nhdiutil detach \"$MOUNT_POINT\"\n# copy to the applications folder\nquit_application 'com.jetbrains.WebStorm'\nif [ -d \"$APPDIR/WebStorm.app\" ]; then\n\tsudo mv \"$APPDIR/WebStorm.app\" \"$TMPDIR/WebStorm.app.bkp\"\nfi\nsudo cp -R \"$TMPDIR/WebStorm.app\" \"$APPDIR\"\n"
}
}