.DEFAULT_GOAL := help

.PHONY: asdf_install
asdf_install:
	@asdf_install

.PHONY: yarn_setup
yarn_setup:
	@yarn set version 4.0.1
	@yarn init -2
	@yarn add typescript jest @types/jest ts-node ts-jest

.PHONY: typescript_init
typescript_init:
	@yarn run tsc --init
	@yarn run ts-jest config:init

.PHONY: setup
setup: asdf_install yarn_setup typescript_init ## initial setup to start the project

.PHONY: install
install:  ## install project dependencies
	@yarn install

.PHONY: test
test: ## execute tests
	@yarn run jest

.PHONY: help
help: ## show this help message
	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'