swc/scripts/publish.sh
2024-08-20 14:54:07 +09:00

40 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -eu
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
git pull || true
yarn
version="$1"
swc_core_version="$(cargo tree -i -p swc_core --depth 0 | awk '{print $2}')"
echo "Publishing $version with swc_core $swc_core_version"
# Update swc_core
(cd ./bindings && ../scripts/update-all-swc-crates.sh || true)
# Update version
(cd ./packages/core && npm version "$version" --no-git-tag-version --allow-same-version || true)
(cd ./packages/html && npm version "$version" --no-git-tag-version --allow-same-version || true)
(cd ./packages/minifier && npm version "$version" --no-git-tag-version --allow-same-version || true)
(cd ./bindings && cargo set-version $version -p binding_core_wasm -p binding_minifier_wasm -p binding_typescript_wasm)
(cd ./bindings && cargo set-version --bump patch -p swc_cli)
# Commmit and tag
git add -A
git commit -am "chore: Publish \`$version\` with \`swc_core\` \`$swc_core_version\`"
git tag -a -m "swc_core $swc_core_version" "v$version"
# Update changelog
yarn changelog
git add -A || true
git commit -m 'chore: Update changelog' || true
# Publish packages
git push git@github.com:swc-project/swc.git --no-verify
git push git@github.com:swc-project/swc.git --no-verify --tags