langflow/Makefile
Gabriel Almeida d5f2d83511 🚀 feat(githooks, Makefile): add pre-commit hook to run 'make format' before committing
🔧 chore(Makefile): add 'init' target to install pre-commit hooks
The pre-commit hook is added to run 'make format' before committing. This ensures that the code is formatted correctly before it is committed. The Makefile is updated to include an 'init' target that installs the pre-commit hooks.
2023-05-27 12:59:44 -03:00

94 lines
2.6 KiB
Makefile

.PHONY: all init format lint build build_frontend install_frontend run_frontend run_backend dev help tests coverage
all: help
init:
@echo 'Installing pre-commit hooks'
git config core.hooksPath .githooks
pre-commit install
pre-commit install --hook-type pre-push
coverage:
poetry run pytest --cov \
--cov-config=.coveragerc \
--cov-report xml \
--cov-report term-missing:skip-covered
tests:
poetry run pytest tests
format:
poetry run black .
poetry run ruff --select I --fix .
cd src/frontend && npm run format
lint:
poetry run mypy .
poetry run black . --check
poetry run ruff . --fix
install_frontend:
cd src/frontend && npm install
run_frontend:
cd src/frontend && npm start
frontend:
make install_frontend
make run_frontend
install_backend:
poetry install
backend:
poetry run uvicorn langflow.main:app --port 7860 --reload --log-level debug
build_frontend:
cd src/frontend && CI='' npm run build
cp -r src/frontend/build src/backend/langflow/frontend
build:
make install_frontend
make build_frontend
poetry build --format sdist
rm -rf src/backend/langflow/frontend
lcserve_push:
make build_frontend
@version=$$(poetry version --short); \
lc-serve push --app langflow.lcserve:app --app-dir . \
--image-name langflow --image-tag $${version} --verbose
lcserve_deploy:
@:$(if $(uses),,$(error `uses` is not set. Please run `make uses=... lcserve_deploy`))
lc-serve deploy jcloud --app langflow.lcserve:app --app-dir . \
--uses $(uses) --config src/backend/langflow/jcloud.yml --verbose
dev:
make install_frontend
ifeq ($(build),1)
@echo 'Running docker compose up with build'
docker compose $(if $(debug),-f docker-compose.debug.yml) up --build
else
@echo 'Running docker compose up without build'
docker compose $(if $(debug),-f docker-compose.debug.yml) up
endif
publish:
make build
poetry publish
help:
@echo '----'
@echo 'format - run code formatters'
@echo 'lint - run linters'
@echo 'install_frontend - install the frontend dependencies'
@echo 'build_frontend - build the frontend static files'
@echo 'run_frontend - run the frontend in development mode'
@echo 'run_backend - run the backend in development mode'
@echo 'build - build the frontend static files and package the project'
@echo 'publish - build the frontend static files and package the project and publish it to PyPI'
@echo 'dev - run the project in development mode with docker compose'
@echo 'tests - run the tests'
@echo 'coverage - run the tests and generate a coverage report'
@echo '----'