2022-10-13 23:49:35 -06:00
.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
2023-05-12 15:34:27 -06:00
test : test -backend test -frontend
2022-10-13 23:49:35 -06:00
2023-05-10 20:34:57 -06:00
.PHONY : serve -frontend
2023-05-12 07:12:09 -06:00
serve-frontend :
cd frontend && yarn dist -- -c sandbox
2023-05-10 20:34:57 -06:00
.PHONY : serve -frontend -prod
2023-05-12 07:12:09 -06:00
serve-frontend-prod :
cd frontend && yarn dist -- -c prod
2023-05-10 20:34:57 -06:00
.PHONY : serve -backend
2023-05-12 07:12:09 -06:00
serve-backend :
2023-05-10 20:34:57 -06:00
go run backend/cmd/fasten/fasten.go start --config ./config.dev.yaml --debug
2022-10-13 23:49:35 -06:00
########################################################################################################################
# Backend
########################################################################################################################
2023-05-12 15:34:27 -06:00
.PHONY : clean -backend
clean-backend :
2022-10-13 23:49:35 -06:00
go clean
2023-05-12 15:34:27 -06:00
.PHONY : dep -backend
dep-backend :
2022-10-13 23:49:35 -06:00
go mod vendor
2023-05-12 15:34:27 -06:00
.PHONY : test -backend
test-backend : dep -backend
2022-10-13 23:49:35 -06:00
go vet ./...
go test -v ./...
2023-05-12 15:34:27 -06:00
.PHONY : test -backend -coverage
test-backend-coverage : dep -backend
2022-10-13 23:49:35 -06:00
go test -coverprofile= backend-coverage.txt -covermode= atomic -v ./...
########################################################################################################################
# Frontend
########################################################################################################################
2023-05-12 15:34:27 -06:00
.PHONY : dep -frontend
dep-frontend :
2022-10-13 23:49:35 -06:00
cd frontend
yarn install --frozen-lockfile
2023-05-12 15:34:27 -06:00
.PHONY : build -frontend -sandbox
build-frontend-sandbox : dep -frontend
2023-01-26 04:08:13 -07:00
cd frontend
yarn run build -- --configuration sandbox --output-path= ../dist
2023-05-12 15:34:27 -06:00
.PHONY : build -frontend -prod
build-frontend-prod : dep -frontend
2023-01-26 04:08:13 -07:00
cd frontend
yarn run build -- --configuration prod --output-path= ../dist
2023-05-12 15:34:27 -06:00
.PHONY : test -frontend
2022-10-13 23:49:35 -06:00
# reduce logging, disable angular-cli analytics for ci environment
2023-05-12 15:34:27 -06:00
test-frontend : dep -frontend
2022-10-14 10:04:24 -06:00
cd frontend && npx ng test --watch= false
2022-10-14 09:51:34 -06:00
2023-05-12 15:34:27 -06:00
.PHONY : test -frontend -coverage
2022-10-14 09:51:34 -06:00
# reduce logging, disable angular-cli analytics for ci environment
2023-05-12 15:34:27 -06:00
test-frontend-coverage : dep -frontend
2022-10-14 10:04:24 -06:00
cd frontend && npx ng test --watch= false --code-coverage
2022-10-14 10:09:16 -06:00
2023-05-12 15:34:27 -06:00
.PHONY : test -frontend -coverage -ci
2022-10-14 10:09:16 -06:00
# reduce logging, disable angular-cli analytics for ci environment
2023-05-12 15:34:27 -06:00
test-frontend-coverage-ci : dep -frontend
2022-10-14 10:19:51 -06:00
cd frontend && npx ng test --watch= false --code-coverage --browsers= ChromeHeadlessCI