generated from PackagrIO/goweb-template
-
-
Notifications
You must be signed in to change notification settings - Fork 84
/
Makefile
103 lines (79 loc) · 3.34 KB
/
Makefile
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
.ONESHELL: # Applies to every targets in the file! .ONESHELL instructs make to invoke a single instance of the shell and provide it with the entire recipe, regardless of how many lines it contains.
.SHELLFLAGS = -ec
########################################################################################################################
# General
########################################################################################################################
.PHONY: test
test: test-backend test-frontend
.PHONY: build-storybook
build-storybook: dep-frontend
cd frontend && npx ng run fastenhealth:build-storybook
.PHONY: serve-storybook
serve-storybook: dep-frontend
cd frontend && npx ng run fastenhealth:storybook
.PHONY: serve-frontend
serve-frontend: dep-frontend
cd frontend && ng serve --hmr --live-reload -c dev
.PHONY: serve-frontend-prod
serve-frontend-prod: dep-frontend
cd frontend && yarn dist -- -c prod
.PHONY: serve-backend
serve-backend: dep-backend
go run backend/cmd/fasten/fasten.go start --config ./config.dev.yaml --debug
.PHONY: migrate
migrate: dep-backend
go run backend/cmd/fasten/fasten.go migrate --config ./config.dev.yaml --debug
########################################################################################################################
# Backend
########################################################################################################################
.PHONY: clean-backend
clean-backend:
go clean
.PHONY: dep-backend
dep-backend:
go mod tidy && go mod vendor
cd scripts && go generate ./...
.PHONY: test-backend
test-backend: dep-backend
go vet ./...
go test -v ./...
.PHONY: test-backend-coverage
test-backend-coverage: dep-backend
go test -coverprofile=backend-coverage.txt -covermode=atomic -v ./...
.PHONY: generate-backend
generate-backend:
go generate ./...
tygo generate
########################################################################################################################
# Frontend
########################################################################################################################
.PHONY: dep-frontend
dep-frontend:
cd frontend && yarn install --frozen-lockfile --network-timeout 1000000
.PHONY: build-frontend-sandbox
build-frontend-sandbox: dep-frontend
cd frontend && yarn build -- -c sandbox
.PHONY: build-frontend-prod
build-frontend-prod: dep-frontend
cd frontend && yarn build -- -c prod
.PHONY: build-frontend-desktop-sandbox
build-frontend-desktop-sandbox: dep-frontend
cd frontend && yarn build -- -c desktop_sandbox
.PHONY: build-frontend-desktop-prod
build-frontend-desktop-prod: dep-frontend
cd frontend && yarn build -- -c desktop_prod
.PHONY: build-frontend-offline-sandbox
build-frontend-offline-sandbox: dep-frontend
cd frontend && yarn build -- -c offline_sandbox
.PHONY: test-frontend
# reduce logging, disable angular-cli analytics for ci environment
test-frontend: dep-frontend
cd frontend && npx ng test --watch=false
.PHONY: test-frontend-coverage
# reduce logging, disable angular-cli analytics for ci environment
test-frontend-coverage: dep-frontend
cd frontend && npx ng test --watch=false --code-coverage
.PHONY: test-frontend-coverage-ci
# reduce logging, disable angular-cli analytics for ci environment
test-frontend-coverage-ci: dep-frontend
cd frontend && npx ng test --watch=false --code-coverage --browsers=ChromeHeadlessCI