You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.1 KiB
43 lines
1.1 KiB
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd -P)"
|
|
BACKEND_DIR="$ROOT_DIR/backend"
|
|
PC_ADMIN_DIR="$ROOT_DIR/pc-admin"
|
|
RELEASE_DIR="$ROOT_DIR/release"
|
|
SERVER_PACKAGE="$RELEASE_DIR/server"
|
|
PC_STATIC="$SERVER_PACKAGE/public/pc-admin"
|
|
NPM_BIN="${NPM_BIN:-npm}"
|
|
|
|
mkdir -p "$RELEASE_DIR"
|
|
RELEASE_FULL="$(cd "$RELEASE_DIR" && pwd -P)"
|
|
SERVER_PACKAGE_FULL="$RELEASE_FULL/server"
|
|
|
|
case "$SERVER_PACKAGE_FULL" in
|
|
"$RELEASE_FULL"/*) ;;
|
|
*)
|
|
echo "Refusing to clean package path outside release directory: $SERVER_PACKAGE_FULL" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
rm -rf "$SERVER_PACKAGE_FULL"
|
|
mkdir -p "$PC_STATIC"
|
|
|
|
(
|
|
cd "$PC_ADMIN_DIR"
|
|
"$NPM_BIN" run build
|
|
)
|
|
|
|
cp -R "$BACKEND_DIR/src" "$SERVER_PACKAGE/src"
|
|
cp -R "$BACKEND_DIR/sql" "$SERVER_PACKAGE/sql"
|
|
cp "$BACKEND_DIR/package.json" "$SERVER_PACKAGE/"
|
|
cp "$BACKEND_DIR/package-lock.json" "$SERVER_PACKAGE/"
|
|
cp "$BACKEND_DIR/.env.example" "$SERVER_PACKAGE/"
|
|
cp -R "$PC_ADMIN_DIR/dist/." "$PC_STATIC/"
|
|
|
|
mkdir -p "$SERVER_PACKAGE/uploads"
|
|
|
|
echo "Server package ready: $SERVER_PACKAGE"
|
|
echo "Upload this directory, then run npm ci --omit=dev and npm start on the server."
|