From b506fe84cfb3e56f773f010f67ff15d1f9ba6645 Mon Sep 17 00:00:00 2001 From: fleet-release <80479975+fleet-release@users.noreply.github.com> Date: Mon, 8 Dec 2025 08:45:29 -0600 Subject: [PATCH] Update Fleet-maintained apps (#36861) Automated ingestion of latest Fleet-maintained app data. Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com> --- ee/maintained-apps/outputs/clion/darwin.json | 10 +++++----- ee/maintained-apps/outputs/goland/darwin.json | 10 +++++----- ee/maintained-apps/outputs/intellij-idea/darwin.json | 10 +++++----- ee/maintained-apps/outputs/postman/darwin.json | 6 +++--- ee/maintained-apps/outputs/webstorm/darwin.json | 10 +++++----- 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/ee/maintained-apps/outputs/clion/darwin.json b/ee/maintained-apps/outputs/clion/darwin.json index d8f4d8e9cb..a4cb9b5e88 100644 --- a/ee/maintained-apps/outputs/clion/darwin.json +++ b/ee/maintained-apps/outputs/clion/darwin.json @@ -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" } } diff --git a/ee/maintained-apps/outputs/goland/darwin.json b/ee/maintained-apps/outputs/goland/darwin.json index 0e41744008..d573898114 100644 --- a/ee/maintained-apps/outputs/goland/darwin.json +++ b/ee/maintained-apps/outputs/goland/darwin.json @@ -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" } } diff --git a/ee/maintained-apps/outputs/intellij-idea/darwin.json b/ee/maintained-apps/outputs/intellij-idea/darwin.json index 85d5a3d5f7..d262b962c6 100644 --- a/ee/maintained-apps/outputs/intellij-idea/darwin.json +++ b/ee/maintained-apps/outputs/intellij-idea/darwin.json @@ -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" } } diff --git a/ee/maintained-apps/outputs/postman/darwin.json b/ee/maintained-apps/outputs/postman/darwin.json index 94a09c84f3..acb758f5d5 100644 --- a/ee/maintained-apps/outputs/postman/darwin.json +++ b/ee/maintained-apps/outputs/postman/darwin.json @@ -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" ] diff --git a/ee/maintained-apps/outputs/webstorm/darwin.json b/ee/maintained-apps/outputs/webstorm/darwin.json index 1016f59a0f..d516980688 100644 --- a/ee/maintained-apps/outputs/webstorm/darwin.json +++ b/ee/maintained-apps/outputs/webstorm/darwin.json @@ -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" } }