Список проверки 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, если вы переименовали страницу или удалили её из документации.
Запустите все проверки веба командой npm run check:all
Проверки сервера
-
npm run lint(проверка с помощью ESLint) -
npm run format(форматирование с помощью Prettier) -
npm run check(проверка типов с помощьюtsc) -
npm test(юнит-тесты)
Запустите все проверки сервера командой 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. Более подробную информацию смотрите в Миграции базы данных.