mirror of
https://github.com/Balshgit/gpt_chat_bot.git
synced 2025-09-11 22:30:41 +03:00
71 lines
2.1 KiB
Makefile
71 lines
2.1 KiB
Makefile
# COLORS
|
|
GREEN := $(shell tput -Txterm setaf 2)
|
|
WHITE := $(shell tput -Txterm setaf 7)
|
|
YELLOW := $(shell tput -Txterm setaf 3)
|
|
RESET := $(shell tput -Txterm sgr0)
|
|
|
|
.DEFAULT_GOAL := help
|
|
.PHONY: help app format lint check-style check-import-sorting lint-typing lint-imports lint-complexity lint-deps
|
|
|
|
PY_TARGET_DIRS=bot_microservice
|
|
PORT=8000
|
|
|
|
## Запустить приложение
|
|
app:
|
|
poetry run uvicorn --host 0.0.0.0 --factory bot_microservice.main:create_app --port $(PORT) --reload --reload-dir=bot_microservice --reload-dir=settings
|
|
|
|
## Отформатировать код
|
|
format:
|
|
autoflake --recursive $(PY_TARGET_DIRS) --in-place --remove-unused-variables --remove-all-unused-imports --ignore-init-module-imports --remove-duplicate-keys --ignore-pass-statements
|
|
pyup_dirs --py311-plus $(PY_TARGET_DIRS) | true
|
|
isort --color --quiet $(PY_TARGET_DIRS)
|
|
black $(PY_TARGET_DIRS)
|
|
|
|
## Проверить стилистику кода
|
|
check-style:
|
|
black --check $(PY_TARGET_DIRS)
|
|
|
|
## Проверить сортировку импортов
|
|
check-import-sorting:
|
|
isort --check-only $(PY_TARGET_DIRS)
|
|
|
|
## Проверить типизацию
|
|
lint-typing:
|
|
mypy $(PY_TARGET_DIRS)
|
|
|
|
## Проверить код на сложность
|
|
lint-complexity:
|
|
flake8 $(PY_TARGET_DIRS)
|
|
|
|
## Запустить линтер ruff
|
|
lint-ruff:
|
|
ruff $(PY_TARGET_DIRS)
|
|
|
|
## Проверить зависимостей
|
|
lint-deps:
|
|
poetry run poetry check
|
|
poetry run pip check
|
|
poetry run safety check --full-report
|
|
poetry run pip-audit
|
|
|
|
## Запустить все линтеры
|
|
lint: lint-typing lint-complexity check-import-sorting lint-ruff lint-deps
|
|
|
|
## Show help
|
|
help:
|
|
@echo ''
|
|
@echo 'Usage:'
|
|
@echo ' ${YELLOW}make${RESET} ${GREEN}<target>${RESET}'
|
|
@echo ''
|
|
@echo 'Targets:'
|
|
@awk '/^[a-zA-Z\-_0-9]+:/ { \
|
|
helpMessage = match(lastLine, /^## (.*)/); \
|
|
if (helpMessage) { \
|
|
helpCommand = $$1; sub(/:$$/, "", helpCommand); \
|
|
helpMessage = substr(lastLine, RSTART + 3, RLENGTH); \
|
|
printf " ${YELLOW}%-$(TARGET_MAX_CHAR_NUM)25s${RESET} ${GREEN}%s${RESET}\n", helpCommand, helpMessage; \
|
|
} \
|
|
} \
|
|
{ lastLine = $$0 }' $(MAKEFILE_LIST)
|
|
@echo ''
|