Перейти к основному содержимому

Список проверки PR

Минимальная конфигурация devcontainer предоставлена в этом репозитории. Все команды можно выполнить непосредственно внутри этого контейнера, чтобы избежать утомительной установки окружения.

предупреждение

Предоставленный devcontainer в данный момент не является полным. По крайней мере шаги из Makefile, использующие докер, не будут работать (make dev, ....). Не стесняйтесь внести свой вклад!

При внесении кода через pull request, пожалуйста, проверьте следующее:

Проверки для веба

  • npm run lint (проверка с помощью ESLint)
  • npm run format (форматирование с помощью Prettier)
  • npm run check:svelte (проверка типов с помощью SvelteKit)
  • npm run check:typescript (проверка типов TypeScript)
  • npm test (юнит-тесты)

Документация

  • npm run format (форматирование с помощью Prettier)
  • Обновите файл _redirects, если вы переименовали страницу или удалили её из документации.
AIO

Запустите все проверки веба командой npm run check:all

Проверки сервера

  • npm run lint (проверка с помощью ESLint)
  • npm run format (форматирование с помощью Prettier)
  • npm run check (проверка типов с помощью tsc)
  • npm test (юнит-тесты)
AIO

Запустите все проверки сервера командой npm run check:all

Автовыправление

Вы можете использовать npm run __:fix для автоматического исправления некоторых проблем для npm run format и lint.

Проверки для мобильных

Следующие команды должны быть выполнены из каталога мобильного приложения в базовом коде.

  • make build (автогенерация файлов с помощью build_runner)
  • make analyze (статический анализ с помощью Dart Analyzer и DCM)
  • make format (форматирование с помощью Dart Formatter)
  • make test (юнит-тесты)
Автовыправление

Вы можете использовать dart fix --apply и dcm fix lib для автоматического исправления некоторых проблем для make analyze.

OpenAPI

Клиентские библиотеки OpenAPI нужно перегенерировать при внесении изменений в файл immich-openapi-specs.json. Обратите внимание, что не следует изменять этот файл напрямую, так как он генерируется автоматически. Более подробную информацию смотрите в OpenAPI.

Миграции базы данных

Миграция базы данных должна быть создана всякий раз, когда происходят изменения в server/src/infra/src/entities. Более подробную информацию смотрите в Миграции базы данных.