git.delta.rocks / unique-network / refs/commits / 8f3cc61d5cfe

difftreelog

test registry.ts is no longer generated

Yaroslav Bolyukin2023-11-30parent: #0062945.patch.diff
in: master

1 file changed

modifiedjs-packages/scripts/generate_types/generate_types_package.shdiffbeforeafterboth
before · js-packages/scripts/generate_types/generate_types_package.sh
1#!/usr/bin/env bash23# 2001 - cat file | cmd is fancier than cmd < file in most cases4# 2002 - bash replacement patterns are awful5# shellcheck disable=SC2001,SC20026set -eux78DIR=$(realpath "$(dirname "$0")")9TEMPLATE=$DIR/types_template10GIT_REPO=git@github.com:UniqueNetwork/unique-types-js.git1112. "$DIR/functions.sh"1314usage() {15	echo "Usage: [RPC_URL=http://localhost:9944] $0 <--rc|--release> [--force] [--push] [--rpc-url=http://localhost:9944]" 1>&216	exit 117}1819rc=20release=21force=22push=2324for i in "$@"; do25case $i in26	--rc)27		rc=128		if test "$release"; then usage; fi29		;;30	--release)31		release=132		if test "$rc"; then usage; fi33		;;34	--force)35		force=136		;;37	--push)38		push=139		;;40	--rpc-url=*)41		RPC_URL=${i#*=}42		;;43	*)44		usage45		;;46esac47done4849if test \( ! \( "$rc" -o "$release" \) \) -o \( "${RPC_URL=}" = "" \); then50	usage51elif test "$rc"; then52	echo "Rc build"53else54	echo "Release build"55fi5657cd "$DIR/../../"58yarn polkadot-types5960version=$(do_rpc state_getRuntimeVersion "")61spec_version=$(echo "$version" | jq -r .result.specVersion)62spec_name=$(echo "$version" | jq -r .result.specName)63echo "Spec version: $spec_version, name: $spec_name"6465case $spec_name in66	opal)67		package_name=@unique-nft/opal-testnet-types68		repo_branch=opal-testnet69		repo_tag=$repo_branch70		;;71	sapphire)72		package_name=@unique-nft/sapphire-mainnet-types73		repo_branch=sapphire-mainnet74		repo_tag=$repo_branch75		;;76	quartz)77		package_name=@unique-nft/quartz-mainnet-types78		repo_branch=quartz-mainnet79		repo_tag=$repo_branch80		;;81	unique)82		package_name=@unique-nft/unique-mainnet-types83		repo_branch=master84		repo_tag=unique-mainnet85		;;86	*)87		echo "unknown spec name: $spec_name"88		exit 189		;;90esac9192if test "$rc" = 1; then93	if test "$spec_name" != "opal"; then94		echo "rc types can only be based on opal spec"95		exit 196	fi97	package_name=@unique-nft/rc-types98	repo_branch=rc99	repo_tag=$repo_branch100fi101102package_version=${spec_version:0:4}.$(echo "${spec_version:4:4}" | sed 's/^0*//').103last_patch=NEVER104for tag in $(git ls-remote -t --refs $GIT_REPO | cut -f 2 | sort -r); do105	tag_prefix=refs/tags/$repo_tag-v$package_version106	if [[ $tag == $tag_prefix* ]]; then107		last_patch=${tag#"$tag_prefix"}108		break;109	fi110done111echo "Package version: ${package_version}X, name: $package_name"112echo "Last published: $package_version$last_patch"113114if test "$last_patch" = "NEVER"; then115	new_package_version=${package_version}0116else117	new_package_version=${package_version}$((last_patch+1))118fi119package_version=${package_version}$last_patch120echo "New package version: $new_package_version"121122pjsapi_ver=^$(cat "$DIR/../package.json" | jq -r '.dependencies."@polkadot/api"' | sed -e "s/^\^//")123tsnode_ver=^$(cat "$DIR/../package.json" | jq -r '.devDependencies."ts-node"' | sed -e "s/^\^//")124ts_ver=^$(cat "$DIR/../package.json" | jq -r '.devDependencies."typescript"' | sed -e "s/^\^//")125126gen=$(mktemp -d)127pushd "$gen"128git clone $GIT_REPO -b $repo_branch --depth 1 .129if test "$last_patch" != "NEVER"; then130	git reset --hard "$repo_tag-v$package_version"131fi132git rm -r "*"133popd134135# Using old package_version here, becaue we first check if136# there is any difference between generated and already uplaoded types137cat "$TEMPLATE/package.json" \138| jq '.private = false' - \139| jq ".name = \"$package_name\"" - \140| jq ".version = \"$package_version\"" - \141| jq ".peerDependencies.\"@polkadot/api\" = \"$pjsapi_ver\"" - \142| jq ".peerDependencies.\"@polkadot/types\" = \"$pjsapi_ver\"" - \143| jq ".devDependencies.\"@polkadot/api\" = \"$pjsapi_ver\"" - \144| jq ".devDependencies.\"@polkadot/types\" = \"$pjsapi_ver\"" - \145| jq ".devDependencies.\"ts-node\" = \"$tsnode_ver\"" - \146| jq ".devDependencies.\"typescript\" = \"$ts_ver\"" - \147> "$gen/package.json"148for file in .gitignore .npmignore README.md tsconfig.json; do149	cp "$TEMPLATE/$file" "$gen/"150done151package_name_replacement=$(printf '%s\n' "$package_name" | sed -e 's/[\/&]/\\&/g')152sed -i "s/PKGNAME/$package_name_replacement/" "$gen/README.md"153154rsync -ar --exclude .gitignore types/ "$gen"155for file in "$gen"/augment-* "$gen"/**/types.ts "$gen/registry.ts"; do156	sed -i '1s;^;//@ts-nocheck\n;' "$file"157done158159pushd "$gen"160git add .161popd162163pushd "$gen"164if git diff --quiet HEAD && test ! "$force"; then165	echo "no changes detected"166	exit 0167fi168popd169170mv "$gen/package.json" "$gen/package.old.json"171cat "$gen/package.old.json" \172| jq ".version = \"$new_package_version\"" - \173> "$gen/package.json"174rm "$gen/package.old.json"175pushd "$gen"176git add package.json177popd178179echo "package.json contents:"180cat "$gen/package.json"181echo "overall diff:"182pushd "$gen"183git status184git diff HEAD || true185popd186187# This check is only active if running in interactive terminal188if [ -t 0 ]; then189	read -p "Is everything ok at $gen [y/n]? " -n 1 -r190	echo191	if [[ ! $REPLY =~ ^[Yy]$ ]]; then192		echo "Aborting!"193		exit 1194	fi195fi196197pushd "$gen"198yarn199yarn prepublish200git commit -m "chore: upgrade types to v$new_package_version"201git tag --force "$repo_tag-v$new_package_version"202if test "$push" = 1; then203	git push --tags --force -u origin HEAD204else205	echo "--push not given, origin repo left intact"206	echo "To publish manually, go to $gen, and run \"git push --tags --force -u origin HEAD\""207fi208popd