aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile53
1 files changed, 53 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..0107a07
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,53 @@
+WIKIDIR ?= ../../vendor/wiki
+default: wiki
+
+prepare:
+ @pnpm install
+ @cd $(WIKIDIR) && pnpm install
+
+# Code Quality
+
+test:
+ node --test
+
+coverage:
+ node --test --experimental-test-coverage
+
+lint: prepare
+ @pnpm exec eslint ./src --fix
+
+format: lint
+ @pnpm exec prettier ./src --write
+
+# Development
+
+build: prepare
+ @pnpx esbuild src/wmap.js --bundle --outfile=client/wmap.js
+
+watch:
+ @nodemon -e js,html,css -i client/wmap.js --exec make build
+
+wiki: build
+ @cd $(WIKIDIR) && node index.js --data ./data --security_legacy
+
+link:
+ @pnpm link
+ @cd $(WIKIDIR) && pnpm link wiki-plugin-wmap
+
+# Deployment
+
+release:
+ @pnpm publish
+
+# Auditing
+
+sbom:
+ @trivy fs -q --format cyclonedx --scanners vuln,license --output sbom.json .
+
+vulnerabilities: sbom
+ @sbom-utility vulnerability list -q --input-file sbom.json
+
+licenses: sbom
+ @sbom-utility license list -q --input-file sbom.json
+
+.PHONY: default prepare test coverage format lint release ci link wiki build watch