# A Self-Documenting Makefile: http://marmelab.com/blog/2016/02/29/auto-documented-makefile.html .PHONY: generate generate: ## Generate JavaScript SDK $(call print-target) pnpm --frozen-lockfile install pnpm run generate pnpm build pnpm test .PHONY: publish-javascript-sdk publish-javascript-sdk: ## Publish JavaScript SDK $(call print-target) @if [ -z "$$JS_SDK_RELEASE_VERSION" ]; then \ echo "ERROR: JS_SDK_RELEASE_VERSION is required"; \ echo "Usage: JS_SDK_RELEASE_VERSION=1.2.3 make publish-javascript-sdk [JS_SDK_RELEASE_TAG=beta]"; \ exit 1; \ fi @if [ -z "$$JS_SDK_RELEASE_TAG" ]; then \ echo "ERROR: JS_SDK_RELEASE_TAG is required"; \ echo "Usage: JS_SDK_RELEASE_VERSION=1.2.3 make publish-javascript-sdk [JS_SDK_RELEASE_TAG=beta]"; \ exit 1; \ fi pnpm --frozen-lockfile install pnpm version "$${JS_SDK_RELEASE_VERSION}" --no-git-tag-version CACHE_BUSTER="$$(date --rfc-3339=seconds)" pnpm publish --no-git-checks --tag "$${JS_SDK_RELEASE_TAG}" @echo "✅ Published $${JS_SDK_RELEASE_TAG} JavaScript SDK version $${JS_SDK_RELEASE_VERSION} with tag $${JS_SDK_RELEASE_TAG}" .PHONY: help .DEFAULT_GOAL := help help: @grep -h -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' # Variable outputting/exporting rules var-%: ; @echo $($*) varexport-%: ; @echo $*=$($*) define print-target @printf "Executing target: \033[36m$@\033[0m\n" endef