From 6e52d9bbce79ad71888359c25d594faff98c5a28 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 19 Feb 2024 11:40:53 -0500 Subject: [PATCH] Add a few convenience targets to Makefile - "test" to run pytests - "frontend-install" to reinstall pnpm's node modeuls --- Makefile | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index 10d7a257c5..c3eec094f7 100644 --- a/Makefile +++ b/Makefile @@ -6,33 +6,44 @@ default: help help: @echo Developer commands: @echo - @echo "ruff Run ruff, fixing any safely-fixable errors and formatting" - @echo "ruff-unsafe Run ruff, fixing all fixable errors and formatting" - @echo "mypy Run mypy using the config in pyproject.toml to identify type mismatches and other coding errors" - @echo "mypy-all Run mypy ignoring the config in pyproject.tom but still ignoring missing imports" - @echo "frontend-build Build the frontend in order to run on localhost:9090" - @echo "frontend-dev Run the frontend in developer mode on localhost:5173" - @echo "installer-zip Build the installer .zip file for the current version" - @echo "tag-release Tag the GitHub repository with the current version (use at release time only!)" + @echo "ruff Run ruff, fixing any safely-fixable errors and formatting" + @echo "ruff-unsafe Run ruff, fixing all fixable errors and formatting" + @echo "mypy Run mypy using the config in pyproject.toml to identify type mismatches and other coding errors" + @echo "mypy-all Run mypy ignoring the config in pyproject.tom but still ignoring missing imports" + @echo "test" Run the unit tests. + @echo "frontend-install" Install the pnpm modules needed for the front end + @echo "frontend-build Build the frontend in order to run on localhost:9090" + @echo "frontend-dev Run the frontend in developer mode on localhost:5173" + @echo "installer-zip Build the installer .zip file for the current version" + @echo "tag-release Tag the GitHub repository with the current version (use at release time only!)" # Runs ruff, fixing any safely-fixable errors and formatting ruff: - ruff check . --fix - ruff format . + ruff check . --fix + ruff format . # Runs ruff, fixing all errors it can fix and formatting ruff-unsafe: - ruff check . --fix --unsafe-fixes - ruff format . + ruff check . --fix --unsafe-fixes + ruff format . # Runs mypy, using the config in pyproject.toml mypy: - mypy scripts/invokeai-web.py + mypy scripts/invokeai-web.py # Runs mypy, ignoring the config in pyproject.toml but still ignoring missing (untyped) imports # (many files are ignored by the config, so this is useful for checking all files) mypy-all: - mypy scripts/invokeai-web.py --config-file= --ignore-missing-imports + mypy scripts/invokeai-web.py --config-file= --ignore-missing-imports + +# Run the unit tests +test: + pytest ./tests + +# Install the pnpm modules needed for the front end +frontend-install: + rm -rf invokeai/frontend/web/node_modules + cd invokeai/frontend/web && pnpm install # Build the frontend frontend-build: