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