aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 2ed83f855ab524c9b20af1669ee037b22db4baa5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
default: build

prepare:
	pnpm install

# Code Quality

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