TARGET_HEADER=@echo -e '===== \e[34m' $@ '\e[0m' YARN=@docker-compose run --rm node yarn .PHONY: node_modules node_modules: package.json yarn.lock ## Installs dependencies $(TARGET_HEADER) $(YARN) install --silent @touch node_modules || true .PHONY: build build: node_modules ## Creates a dist catalogue with library build $(TARGET_HEADER) $(YARN) build .PHONY: husky husky: node_modules ## Adds husky git hooks with commit content checks @docker-compose run --rm node npx husky init .PHONY: eslint eslint: node_modules ## Runs eslint $(TARGET_HEADER) $(YARN) lint .PHONY: test test: node_modules ## Runs autotests $(TARGET_HEADER) $(YARN) test .PHONY: test-coverage test-coverage: node_modules ## Runs autotests with --coverage $(TARGET_HEADER) $(YARN) test:coverage .PHONY: release release: ## Bumps version and creates tag $(TARGET_HEADER) ifdef as $(YARN) release:$(as) else $(YARN) release endif .PHONY: help help: ## Calls recipes list @cat $(MAKEFILE_LIST) | grep -e "^[a-zA-Z_\-]*: *.*## *" | awk '\ BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' # Colors $(call computable,CC_BLACK,$(shell tput -Txterm setaf 0 2>/dev/null)) $(call computable,CC_RED,$(shell tput -Txterm setaf 1 2>/dev/null)) $(call computable,CC_GREEN,$(shell tput -Txterm setaf 2 2>/dev/null)) $(call computable,CC_YELLOW,$(shell tput -Txterm setaf 3 2>/dev/null)) $(call computable,CC_BLUE,$(shell tput -Txterm setaf 4 2>/dev/null)) $(call computable,CC_MAGENTA,$(shell tput -Txterm setaf 5 2>/dev/null)) $(call computable,CC_CYAN,$(shell tput -Txterm setaf 6 2>/dev/null)) $(call computable,CC_WHITE,$(shell tput -Txterm setaf 7 2>/dev/null)) $(call computable,CC_END,$(shell tput -Txterm sgr0 2>/dev/null))