#!/usr/bin/env bash
pushd() {
builtin pushd "$@" > /dev/null
}
popd() {
builtin popd > /dev/null
pkg_json_version() {
jq -r .version package.json
os() {
local os
os=$(uname | tr '[:upper:]' '[:lower:]')
if [[ $os == "linux" ]]; then
# Alpine's ldd doesn't have a version flag but if you use an invalid flag
# (like --version) it outputs the version to stderr and exits with 1.
local ldd_output
ldd_output=$(ldd --version 2>&1 || true)
if echo "$ldd_output" | grep -iq musl; then
os="alpine"
fi
echo "$os"
arch() {
case "$(uname -m)" in
aarch64)
echo arm64
;;
x86_64)
echo amd64
*)
echo "unknown architecture $(uname -a)"
exit 1
esac