fair-plugin/bin/update-browsers.sh

27 lines
868 B
Bash
Raw Normal View History

#!/bin/bash
#
# Update the browser regex in the version check script.
#
# Uses a browserslist query to generate this data.
set -eo pipefail
BROWSER_QUERY="defaults, unreleased versions"
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
VERSION_CHECK_FOO="$SCRIPT_DIR/../inc/version-check/foo.txt"
VERSION_CHECK_FILE="$SCRIPT_DIR/../inc/version-check/namespace.php"
LINE_START="const BROWSER_REGEX = ";
echo "Fetching regex for query: '$BROWSER_QUERY'" >&2
REGEX=$(npx browserslist-useragent-regexp "$BROWSER_QUERY")
echo " $REGEX" >&2
# Double-escape backslashes.
ESCAPED="$(printf '%s\n' "$REGEX" | sed 's/\\/\\\\/g')"
# Replace the line in the file.
echo "Updating $VERSION_CHECK_FILE" >&2
sed -i.bak "s#$LINE_START.*#$LINE_START'$ESCAPED';#g" "$VERSION_CHECK_FILE"
echo "Updated! (Backup saved to $VERSION_CHECK_FILE.bak)" >&2