aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorRuben Beltran del Rio <jj@r.bdr.sh>2025-12-23 22:14:44 +0100
committerRuben Beltran del Rio <jj@r.bdr.sh>2025-12-23 22:17:09 +0100
commitaeb9ecadf80fd50290571071311877b39c80e962 (patch)
treeb9a5cbe979fbd4fb14c97b00534b6918df6b0d85 /Makefile
Initial implementation1.0.0
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..041e705
--- /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/client.js --bundle --outfile=client/security.js
+
+watch:
+ @nodemon -e js,html,css -i client/security.js --exec make build
+
+wiki: build
+ @cd $(WIKIDIR) && node index.js --data ./data --config ./config.json
+
+link:
+ @pnpm link
+ @cd $(WIKIDIR) && pnpm link wiki-security-oidc
+
+# 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