about summary refs log tree commit diff
path: root/Makefile
diff options
context:
space:
mode:
authorbnewbold <bnewbold@robocracy.org>2023-05-11 13:22:56 -0700
committerGitHub <noreply@github.com>2023-05-11 13:22:56 -0700
commit34d8fa59916d87922c83a6cf93e3e288d43dadcc (patch)
tree25c5081d7999a1ee1dd70d96271a80262b4b84fa /Makefile
parentd624b7cf58d1a594dc8e375ebe106d344ed03ccc (diff)
downloadvoidsky-34d8fa59916d87922c83a6cf93e3e288d43dadcc.tar.zst
top-level Makefile (#597)
* top-level Makefile

The primary motivation here is the `build-web` command, which calls the
yarn build and then also copies over JS files. The Dockerfile does this
and I always forget when doing it manually.

* build-web: cp bundles in yarn command, not Makefile+Dockerfile
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile35
1 files changed, 35 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 000000000..e93b6357a
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,35 @@
+
+SHELL = /bin/bash
+.SHELLFLAGS = -o pipefail -c
+
+.PHONY: help
+help: ## Print info about all commands
+	@echo "Commands:"
+	@echo
+	@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "    \033[01;32m%-20s\033[0m %s\n", $$1, $$2}'
+
+.PHONY: build-web
+build-web: ## Compile web bundle, copy to bskyweb directory
+	yarn build-web
+
+.PHONY: test
+test: ## Run all tests
+	yarn test
+
+.PHONY: lint
+lint: ## Run style checks and verify syntax
+	yarn run lint
+
+#.PHONY: fmt
+#fmt: ## Run syntax re-formatting
+#	yarn prettier
+
+.PHONY: deps
+deps: ## Installs dependent libs using 'yarn install'
+	yarn install --frozen-lockfile
+
+.PHONY: nvm-setup
+nvm-setup: ## Use NVM to install and activate node+yarn
+	nvm install 18
+	nvm use 18
+	npm install --global yarn