From 6f3ac012459478f187d24e5ce61e5e6a53007b2d Mon Sep 17 00:00:00 2001 From: klemek Date: Sat, 20 Dec 2025 16:09:15 +0100 Subject: [PATCH] chore: makefile utilities --- .editorconfig | 6 +++++- Makefile | 40 ++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 Makefile diff --git a/.editorconfig b/.editorconfig index 5d47c21..f48867c 100644 --- a/.editorconfig +++ b/.editorconfig @@ -5,8 +5,12 @@ root = true [*] indent_style = space -indent_size = 2 +indent_size = 4 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true + +[Makefile] +indent_style = tab +indent_size = 2 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..dd71fdc --- /dev/null +++ b/Makefile @@ -0,0 +1,40 @@ +ifeq ($(shell which bun &>/dev/null && echo 1 || echo 0), 1) + NPM ?= bun +endif + +NPM ?= npm + +.PHONY: help +help: ## show this message + @echo "Usage: make [target1] (target2) ..." + @echo "" + @echo "Commands/Targets:" + @grep -E '(^[a-zA-Z0-9_%-]+:.*?##.*$$)|(^##)' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}{printf "\033[32m%-20s\033[0m %s\n", $$1, $$2}' | sed -e 's/\[32m##/[33m/' + @echo "" + @echo "Environment:" + @grep -E '^[a-zA-Z0-9_-]+\s*[?:]?=.*$$' $(MAKEFILE_LIST) | grep -Eo '^[a-zA-Z0-9_-]+' | xargs -I {} make -s print-{} + +.PHONY: print-% +print-%: + @echo -e '\033[32m$*\033[0m = $($*)' + +build: ## build static site in "dist" + @$(NPM) run build + +.PHONY: run +def: ## run dev version of static site + @$(NPM) run dev + +lint: ## lint code + @$(NPM) run lint + +fix: ## fix and reformat code + @$(NPM) run format + @$(NPM) run lint-fix + +rebase-template: ## update code from template + @(git remote | grep template &>/dev/null) || git remote add template https://github.com/klemek/vue-boilerplate.git + git fetch template + git rebase template/master + + diff --git a/package.json b/package.json index 6f8c938..ba07e14 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "build-only": "vite build", "type-check": "vue-tsc --build", "lint": "eslint . --cache", - "fix": "eslint . --fix --cache", + "lint-fix": "eslint . --fix --cache", "format": "prettier --write --experimental-cli src/" }, "dependencies": {