feat: combine TUI UX from alexhancock/tui-goodness with publishing config from jackamadeo/package-tui (#7683)
Co-authored-by: Jack Amadeo <jamadeo@squareup.com>
This commit is contained in:
Executable
+63
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Publishes @block/goose-acp, @block/goose, and all native binary packages to npm.
|
||||
#
|
||||
# Usage:
|
||||
# ./ui/scripts/publish.sh # publish all (dry-run)
|
||||
# ./ui/scripts/publish.sh --real # publish for real
|
||||
#
|
||||
# Prerequisites:
|
||||
# - npm login to the @block scope
|
||||
# - Native binaries built via build-native-packages.sh
|
||||
|
||||
REPO_ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
||||
NPM_DIR="${REPO_ROOT}/npm"
|
||||
ACP_DIR="${REPO_ROOT}/ui/acp"
|
||||
TEXT_DIR="${REPO_ROOT}/ui/text"
|
||||
|
||||
DRY_RUN="--dry-run"
|
||||
if [[ "${1:-}" == "--real" ]]; then
|
||||
DRY_RUN=""
|
||||
echo "==> Publishing for real"
|
||||
else
|
||||
echo "==> Dry run (pass --real to publish)"
|
||||
fi
|
||||
|
||||
# Build and publish @block/goose-acp first (dependency of @block/goose)
|
||||
echo "==> Building @block/goose-acp"
|
||||
(cd "${ACP_DIR}" && npm run build)
|
||||
|
||||
echo "==> Publishing @block/goose-acp"
|
||||
(cd "${ACP_DIR}" && npm publish --access public ${DRY_RUN})
|
||||
|
||||
# Build @block/goose
|
||||
echo "==> Building @block/goose"
|
||||
(cd "${TEXT_DIR}" && npm run build)
|
||||
|
||||
NATIVE_PACKAGES=(
|
||||
"goose-acp-server-darwin-arm64"
|
||||
"goose-acp-server-darwin-x64"
|
||||
"goose-acp-server-linux-arm64"
|
||||
"goose-acp-server-linux-x64"
|
||||
"goose-acp-server-win32-x64"
|
||||
)
|
||||
|
||||
# Publish native binary packages
|
||||
for pkg in "${NATIVE_PACKAGES[@]}"; do
|
||||
pkg_dir="${NPM_DIR}/${pkg}"
|
||||
|
||||
if [ ! -f "${pkg_dir}/bin/goose-acp-server" ] && [ ! -f "${pkg_dir}/bin/goose-acp-server.exe" ]; then
|
||||
echo " SKIP ${pkg} (no binary found — run build-native-packages.sh first)"
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "==> Publishing @block/${pkg}"
|
||||
(cd "${pkg_dir}" && npm publish --access public ${DRY_RUN})
|
||||
done
|
||||
|
||||
# Publish the main package
|
||||
echo "==> Publishing @block/goose"
|
||||
(cd "${TEXT_DIR}" && npm publish --access public ${DRY_RUN})
|
||||
|
||||
echo "==> Done"
|
||||
Reference in New Issue
Block a user