Files
legume/Makefile
T
klemek 5337a3265c
Deploy / Build (push) Has been cancelled
Deploy / Deploy to Stapler (push) Has been cancelled
Lint / ESLint (push) Has been cancelled
Lint / TypeScript (push) Has been cancelled
refactor: refresh from template
2026-05-02 21:45:14 +02:00

79 lines
1.9 KiB
Makefile

# ENV
ifeq (,$(shell which bun))
NPM ?= npm
endif
NPM ?= bun
GIT ?= git
TEMPLATE_REPOSITORY ?= ssh://git@git.klemek.fr:42617/klemek/vue-template.git
TEMPLATE_REMOTE ?= template
.PHONY: help
help: ## show this message
@echo "Usage: $(MAKE) [target1] [target2] ..."
@echo ""
@echo "Commands/Targets:"
@cat $(MAKEFILE_LIST) | grep -E '(^[a-zA-Z0-9_%-]+:.*?##.*$$)|(^##)' | awk 'BEGIN {FS = ":.*?## "}{printf "\033[32m%-20s\033[0m %s\n", $$1, $$2}' | sed -e 's/\[32m##/[33m/'
@echo ""
@echo "Environment:"
@cat $(MAKEFILE_LIST) | grep -E '^[a-zA-Z0-9_-]+\s*\??=.*$$' | grep -Eo '^[a-zA-Z0-9_-]+' | xargs -I {} $(MAKE) -s print-{} 2> /dev/null
.PHONY: print-%
print-%:
@echo -e '\033[32m$*\033[0m = $($*)'
# FILES
node_modules: bun.lock
@$(MAKE) -s npm-install
# ACTIONS
.PHONY: install
install: npm-install ## install project
.PHONY: update
update: npm-update ## update project
.PHONY: build
build: npm-run-build ## build static site in "dist"
.PHONY: dev
dev: npm-run-dev ## run dev server
.PHONY: lint
lint: npm-run-lint npm-run-type-check ## lint code
.PHONY: format
format: npm-run-lint-fix ## fix and reformat code
.PHONY: update-template
update-template: git-remote-template git-fetch-template git-merge-template ## fetch and merge core changes from template
# TOOLS
.PHONY: npm-install
npm-install: ## npm install
$(NPM) install
.PHONY: npm-update
npm-update: ## npm update
$(NPM) update
.PHONY: npm-run-%
npm-run-%: node_modules ## npm run (script)
$(NPM) run $*
.PHONY: git-remote-template
git-remote-template: ## git remote add template
@(git remote | grep $(TEMPLATE_REMOTE) &>/dev/null) || git remote add $(TEMPLATE_REMOTE) $(TEMPLATE_REPOSITORY)
.PHONY: git-fetch-template
git-fetch-template: ## git fetch template
$(GIT) fetch $(TEMPLATE_REMOTE)
.PHONY: git-merge-template
git-merge-template: ## git merge template/main
$(GIT) merge $(TEMPLATE_REMOTE)/main --allow-unrelated-histories