File vendor_web-assets.sh of Package owncast
#!/bin/bash
set -eux
PKG_NAME=owncast
PKG_VERSION="$1"
PKG_TARBALL="${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DIR="$PWD"
PKG_TMPDIR=$(mktemp -p /var/tmp -dt "${PKG_NAME}-XXXXXXXX")
PKG_PATH="$PKG_TMPDIR/${PKG_NAME}-${PKG_VERSION}/web"
echo "TARBALL: $PKG_TARBALL"
echo "NAME: $PKG_NAME"
echo "VERSION: $PKG_VERSION"
echo "PATH: $PKG_PATH"
if ! which pigz npm; then
echo "This script requires node and pigz to run"
exit 1
fi
cleanup_tmpdir() {
rm -rf "$PKG_TMPDIR"
rm -rf /tmp/yarn--*
}
trap cleanup_tmpdir SIGINT
cleanup_and_exit() {
cleanup_tmpdir
if test "$1" = 0 -o -z "$1" ; then
exit 0
else
exit "$1"
fi
}
mkdir -p "$PKG_TMPDIR"
tar -xf "$PKG_TARBALL" -C "$PKG_TMPDIR"
cd "$PKG_PATH"
echo ">>>>>> Install npm modules"
NEXT_TELEMETRY_DISABLED=1
if ! npm --silent install || ! node_modules/.bin/next build
then
echo "ERROR: npm install failed"
cleanup_and_exit 1
fi
echo ">>>>>> Copying web project to dist directory..."
rm -rf ../static/web
mv ./out ../static/web
rm -f "$PKG_DIR/${PKG_NAME}-${PKG_VERSION}-vendor.tar.gz"
if ! tar -I pigz -cf "$PKG_DIR/${PKG_NAME}-${PKG_VERSION}-web.tar.gz" ../static/web/
then
cleanup_and_exit 1
fi
cd -
cleanup_and_exit 0