diff --git a/Makefile b/Makefile index 350aebdb7c..0b77da3a7f 100644 --- a/Makefile +++ b/Makefile @@ -48,94 +48,18 @@ open-api-typescript: sql: pnpm --filter immich run sync:sql -attach-server: - docker exec -it docker_immich-server_1 sh - renovate: LOG_LEVEL=debug pnpm exec renovate --platform=local --repository-cache=reset -# Directories that need to be created for volumes or build output -VOLUME_DIRS = \ - ./.pnpm-store \ - ./web/.svelte-kit \ - ./web/node_modules \ - ./web/coverage \ - ./e2e/node_modules \ - ./docs/node_modules \ - ./server/node_modules \ - ./packages/sdk/node_modules \ - ./.github/node_modules \ - ./node_modules \ - ./packages/cli/node_modules - # Include .env file if it exists -include docker/.env MODULES = e2e server web cli sdk docs .github -# directory to package name mapping function -# cli = @immich/cli -# docs = documentation -# e2e = immich-e2e -# packages/sdk = @immich/sdk -# server = immich -# web = immich-web -map-package = $(subst sdk,@immich/sdk,$(subst cli,@immich/cli,$(subst docs,documentation,$(subst e2e,immich-e2e,$(subst server,immich,$(subst web,immich-web,$1)))))) - -audit-%: - pnpm --filter $(call map-package,$*) audit fix -install-%: - pnpm --filter $(call map-package,$*) install $(if $(FROZEN),--frozen-lockfile) $(if $(OFFLINE),--offline) -build-cli: build-sdk -build-web: build-sdk -build-%: install-% - pnpm --filter $(call map-package,$*) run build -format-%: - pnpm --filter $(call map-package,$*) run format:fix -lint-%: - pnpm --filter $(call map-package,$*) run lint:fix -check-%: - pnpm --filter $(call map-package,$*) run check -check-web: - pnpm --filter immich-web run check:typescript - pnpm --filter immich-web run check:svelte -test-%: - pnpm --filter $(call map-package,$*) run test test-e2e: docker compose -f ./e2e/docker-compose.yml build pnpm --filter immich-e2e run test pnpm --filter immich-e2e run test:web -test-medium: - docker run \ - --rm \ - -v ./server/src:/usr/src/app/src \ - -v ./server/test:/usr/src/app/test \ - -v ./server/vitest.config.medium.mjs:/usr/src/app/vitest.config.medium.mjs \ - -v ./server/tsconfig.json:/usr/src/app/tsconfig.json \ - -e NODE_ENV=development \ - immich-server:latest \ - -c "pnpm test:medium -- --run" -test-medium-dev: - docker exec -it immich_server /bin/sh -c "pnpm run test:medium" - -install-all: - pnpm -r --filter '!documentation' install - -build-all: $(foreach M,$(filter-out e2e docs .github,$(MODULES)),build-$M) ; - -check-all: - pnpm -r --filter '!documentation' run "/^(check|check\:svelte|check\:typescript)$/" -lint-all: - pnpm -r --filter '!documentation' run lint:fix -format-all: - pnpm -r --filter '!documentation' run format:fix -audit-all: - pnpm -r --filter '!documentation' audit fix -hygiene-all: audit-all - pnpm -r --filter '!documentation' run "/(format:fix|check|check:svelte|check:typescript|sql)/" - -test-all: - pnpm -r --filter '!documentation' run "/^test/" clean: find . -name "node_modules" -type d -prune -exec rm -rf {} + @@ -146,7 +70,3 @@ clean: find . -name ".pnpm-store" -type d -prune -exec rm -rf '{}' + command -v docker >/dev/null 2>&1 && docker compose -f ./docker/docker-compose.dev.yml down -v --remove-orphans || true command -v docker >/dev/null 2>&1 && docker compose -f ./e2e/docker-compose.yml down -v --remove-orphans || true - - -setup-server-dev: install-server -setup-web-dev: install-sdk build-sdk install-web diff --git a/docs/docs/developer/devcontainers.md b/docs/docs/developer/devcontainers.md index e6f1fbeecd..f912c78490 100644 --- a/docs/docs/developer/devcontainers.md +++ b/docs/docs/developer/devcontainers.md @@ -252,20 +252,11 @@ To connect the mobile app to your Dev Container: The Dev Container supports multiple ways to run tests: -#### Using Make Commands (Recommended) +#### Using Mise Commands (Recommended) ```bash # Run tests for specific components -make test-server # Server unit tests -make test-web # Web unit tests -make test-e2e # End-to-end tests -make test-cli # CLI tests - -# Run all tests -make test-all # Runs tests for all components - -# Medium tests (integration tests) -make test-medium-dev # End-to-end tests +mise run checklist # in `server/`, `web/`, `packages/cli` ``` #### Using PNPM Directly @@ -289,36 +280,9 @@ pnpm run test # Run API tests pnpm run test:web # Run web UI tests ``` -### Code Quality Commands - -```bash -# Linting -make lint-server # Lint server code -make lint-web # Lint web code -make lint-all # Lint all components - -# Formatting -make format-server # Format server code -make format-web # Format web code -make format-all # Format all code - -# Type checking -make check-server # Type check server -make check-web # Type check web -make check-all # Check all components - -# Complete hygiene check -make hygiene-all # Run lint, format, check, SQL sync, and audit -``` - ### Additional Make Commands ```bash -# Build commands -make build-server # Build server -make build-web # Build web app -make build-all # Build everything - # API generation make open-api # Generate OpenAPI specs make open-api-typescript # Generate TypeScript SDK @@ -326,11 +290,6 @@ make open-api-dart # Generate Dart SDK # Database make sql # Sync database schema - -# Dependencies -make install-server # Install server dependencies -make install-web # Install web dependencies -make install-all # Install all dependencies ``` ### Debugging