color() { if [ -t 1 ]; then tput setaf "${1:-7}" fi } say() { color 5 # magenta printf '( ^-^) < %s\n' "$1" color } sadsay() { color 5 # magenta printf '( T-T) < %s\n' "$1" color } run() { color 3 # yellow printf '[running] $ %s\n' "$1" color /bin/sh -c "$1" } br() { printf '\n' } contains() { target="$1" shift for item in "$@"; do if [ "${item}" = "${target}" ]; then return 0 # found fi done return 1 # not found } version() { UPSTREAM_VERSION=$(pnpm pkg get version | sed -e 's/"//g') COMMIT_DATE=$(git show --no-patch --pretty='%cs' FETCH_HEAD | sed -e 's/-//g' | cut -c 3-) COMMIT_HASH_INITIAL=$(printf '%s' "$(git rev-parse FETCH_HEAD)" | cut -c 1-2) printf '%s+neko:%s.%s' "${UPSTREAM_VERSION}" "${COMMIT_DATE}" "${COMMIT_HASH_INITIAL}" } version_ci() { UPSTREAM_VERSION=$(grep '"version":' package.json | cut -d '"' -f 4) COMMIT_DATE=$(git show --no-patch --pretty='%cs' HEAD | sed -e 's/-//g' | cut -c 3-) COMMIT_HASH_INITIAL=$(printf '%s' "$(git rev-parse HEAD)" | cut -c 1-2) printf '%s+neko:%s.%s' "${UPSTREAM_VERSION}" "${COMMIT_DATE}" "${COMMIT_HASH_INITIAL}" }