aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 78451011102971442506d0ca2576d4e5a3b2f8d6 (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
51
52
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