29 lines
885 B
Bash
Executable File
29 lines
885 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
REQUESTED_VERSION="${1:-}"
|
|
PACKAGE_VERSION="$(node -p "require('$ROOT/package.json').version")"
|
|
|
|
if [[ -z "$REQUESTED_VERSION" ]]; then
|
|
echo "usage: $0 <version>" >&2
|
|
echo "example: $0 v0.1.0" >&2
|
|
exit 2
|
|
fi
|
|
if [[ "${REQUESTED_VERSION#v}" != "$PACKAGE_VERSION" ]]; then
|
|
echo "requested version $REQUESTED_VERSION does not match package.json $PACKAGE_VERSION" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "=== verstak sdk release $PACKAGE_VERSION ==="
|
|
(cd "$ROOT" && npm ci --no-audit --no-fund && npm run lint && npm test && npm run build)
|
|
|
|
RELEASE_ROOT="$ROOT/release"
|
|
rm -rf "$RELEASE_ROOT"
|
|
mkdir -p "$RELEASE_ROOT"
|
|
(cd "$ROOT" && npm pack --pack-destination "$RELEASE_ROOT")
|
|
(cd "$RELEASE_ROOT" && sha256sum ./*.tgz > SHA256SUMS)
|
|
|
|
echo "release package: $RELEASE_ROOT"
|
|
echo "checksums: $RELEASE_ROOT/SHA256SUMS"
|