Files
cunningham/Makefile
Nathan Vasse 90feb4ba4a 🌐(react) add i18n
We need to be able to use localized texts for various components, like for
accessible labels. We decided to setup a lightweight implementation of
localizable to avoid relying on an existing heavy library.
The Provider includes by default full translations for english, and it is
also made to be able to load easily any custom locale directly from the
Provider.
2023-03-28 12:00:27 +02:00

107 lines
3.2 KiB
Makefile

# Cunningham'ss Makefile
#
# /!\ /!\ /!\ /!\ /!\ /!\ /!\ DISCLAIMER /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
#
# This Makefile is only meant to be used for DEVELOPMENT purpose as we are
# changing the user id that will run in the container.
#
# PLEASE DO NOT USE IT FOR YOUR CI/PRODUCTION/WHATEVER...
#
# /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\ /!\
#
# Note to developpers:
#
# While editing this file, please respect the following statements:
#
# 1. Every variable should be defined in the ad hoc VARIABLES section with a
# relevant subsection
# 2. Every new rule should be defined in the ad hoc RULES section with a
# relevant subsection depending on the targeted service
# 3. Rules should be sorted alphabetically within their section
# 4. When a rule has multiple dependencies, you should:
# - duplicate the rule name to add the help string (if required)
# - write one dependency per line to increase readability and diffs
# 5. .PHONY rule statement should be written after the corresponding rule
# ==============================================================================
# VARIABLES
# -- Docker
# Get the current user ID to use for docker run and docker exec commands
DOCKER_UID = $(shell id -u)
DOCKER_GID = $(shell id -g)
DOCKER_USER = $(DOCKER_UID):$(DOCKER_GID)
COMPOSE = DOCKER_USER=$(DOCKER_USER) DB_HOST=$(DB_HOST) DB_PORT=$(DB_PORT) docker-compose
COMPOSE_RUN = $(COMPOSE) run --rm --service-ports
# -- Dev
# We must run frontend with a /home because yarn tries to write to ~/.yarnrc. If the
# ID of our host user (with which we run the container) does not exist in the
# container (e.g. 1000 exists but 1009 does not exist by default), then yarn
# will try to write to "/.yarnrc" at the root of the system and will fail with a
# permission error.
COMPOSE_RUN_NODE = $(COMPOSE_RUN) -e HOME="/tmp" node
YARN = $(COMPOSE_RUN_NODE) yarn
CROWDIN = $(COMPOSE_RUN) crowdin crowdin
# ==============================================================================
# RULES
default: help
install: ## install all repos dependencies.
@$(YARN) install
.PHONY: install
bootstrap: ## install all repos dependencies and build them too.
bootstrap: \
env.d/crowdin \
build
.PHONY: bootstrap
dev: ## watch changes in apps and packages.
dev: install
@$(YARN) dev
.PHONY: dev
lint: ## lint all repos.
lint: install
@$(YARN) lint
.PHONY: lint
test: ## test all repos.
test: install
@$(YARN) test
.PHONY: test
build: ## build apps and packages.
build: install
@$(YARN) build
.PHONY: build
deploy: ## run deploy ( lint, test, build ) on all repos.
deploy: install
@$(YARN) deploy
.PHONY: deploy
# -- Misc
env.d/crowdin:
cp env.d/crowdin.dist env.d/crowdin
# -- Internationalization
crowdin-upload:
@$(CROWDIN) upload sources -c crowdin/config.yml
.PHONY: crowdin-upload
crowdin-download:
@$(CROWDIN) download -c crowdin/config.yml
.PHONY: crowdin-download
clean: ## restore repository state as it was freshly cloned
git clean -idx
.PHONY: clean
help:
@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
.PHONY: help