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..7845101
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,53 @@
+default: build
+
+prepare:
+ pnpm install
+
+# Code Quality
+
+types:
+ @tsc
+
+test:
+ @node --test
+
+coverage:
+ @node --test --experimental-test-coverage
+
+lint: prepare
+ @pnpm exec eslint . --fix
+
+format: lint
+ @pnpm exec prettier . --write
+
+benchmark: prepare
+ @node benchmark/index.js
+
+ci: bundle test
+ @pnpm exec eslint .
+ @pnpm exec prettier . --check
+
+# Deployment
+
+release:
+ pnpm publish
+
+# Auditing
+
+sbom:
+ @trivy fs -q --format cyclonedx --scanners vuln,license --output extension-sbom.json extensions/lenislab
+ @trivy image -q --format cyclonedx --scanners vuln,license --output image-sbom.json --podman-host="$(podman_socket)" --image-src podman $(image_name):$(tag)
+
+vulnerabilities: sbom
+ @echo "** Extension **"
+ @sbom-utility vulnerability list -q --input-file extension-sbom.json
+ @echo "** Image **"
+ @sbom-utility vulnerability list -q --input-file image-sbom.json
+
+licenses: sbom
+ @echo "** Extension **"
+ @sbom-utility license list -q --input-file extension-sbom.json
+ @echo "** Image **"
+ @sbom-utility license list -q --input-file image-sbom.json
+
+.PHONY: default prepare test coverage format lint release ci types