-
Notifications
You must be signed in to change notification settings - Fork 7
/
Makefile
113 lines (86 loc) · 2.97 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
104
105
106
107
108
109
110
111
112
113
.PHONY: help
.DEFAULT_GOAL := help
help:
@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
# -------------------------------------
# Install
# -------------------------------------
install: .install-app .install-backend .install-e2e ## Installe toutes les dépendances (front, back et tests)
-cp -n .env.sample .env
-cp -n .env.test.sample .env.test
pre-commit install
.install-app:
cd app && \
npm ci
.install-backend:
cd backend; \
poetry install
.install-e2e:
cd e2e; \
npm ci
# -------------------------------------
# Start
# -------------------------------------
start-app: ## Démarre l'app frontend
cd app; \
npm run dev
start-backend: ## Démarre le backend
cd backend; \
poetry run uvicorn --reload --host '' cdb.api.main:app
start-storybook: ## Démarre storybook
cd app && npm run dev:storybook
start: ## Démarre l'application dans tmux avec 4 panneaux
./scripts/start.sh
# --------------------------------------
# Test
# --------------------------------------
test-backend: ## Lance les tests du backend
./scripts/launch_tests.sh python
test-backend-watch: ## Lance les tests du backend en mode watch
./scripts/launch_tests.sh
cd backend && \
ENV_FILE=../.env.test poetry run ptw --runner "pytest --testmon"
test-app: ## Lance les tests de l'app frontend
cd app && \
npm run test
test-approve-all: ## Approve tous les fichiers approvaltests
./scripts/approve-all.sh
# -------------------------------------
# End to end tests
# -------------------------------------
e2e-extract-vocabulary: ## E2E: Generates all the supported vocabulary in a file
./scripts/extract-e2e-vocabulary.sh
e2e-run: ## E2E: Launches the end to end tests
./scripts/launch_tests.sh e2e
# -------------------------------------
# Other
# -------------------------------------
hasura-console: ## Lance la console hasura
hasura --project ./hasura/ console
seed-database: ## Ajoute les données de test dans la base de donnée
hasura --project ./hasura seed apply --database-name carnet_de_bord
update-schema: ## Met à jour le fichier de schéma graphql
./scripts/update-schema.sh
codegen: update-schema
# Nothing to do, code gen is automatically run on build
# -------------------------------------
# Elm
# -------------------------------------
elm-check: elm-compiles elm-test elm-review-fix ## Elm: Vérifie que le code Elm est prêt à être poussé sur le repository
elm-test: ## Elm: Lance les tests
cd app && \
npm run test:elm
elm-test-watch: ## Elm: Lance les tests en continu
cd app && \
npm run test:elm -- --watch
elm-compiles: ## Elm: Vérifie que toutes les apps Elm compilent
bash ./scripts/all-elm-compiles.sh
elm-review: ## Elm: Lance un diagnostic
cd app && \
npm run lint:elm-review
elm-review-fix: ## Elm: Propose des corrections une par une
cd app && \
npx elm-review --fix
elm-review-suppress: ## Elm: Ignore les erreurs elm-review
cd app && \
npx elm-review suppress