PR Checklist
A minimal devcontainer is supplied with this repository. All commands can be executed directly inside this container to avoid tedious installation of the environment.
The provided devcontainer isn't complete at the moment. At least all dockerized steps in the Makefile won't work (make dev
, ....). Feel free to contribute!
When contributing code through a pull request, please check the following:
Web Checks
-
npm run lint
(linting via ESLint) -
npm run format
(formatting via Prettier) -
npm run check:svelte
(Type checking via SvelteKit) -
npm run check:typescript
(check typescript) -
npm test
(unit tests)
Documentation
-
npm run format
(formatting via Prettier) - Update the
_redirects
file if you have renamed a page or removed it from the documentation.
Run all web checks with npm run check:all
Server Checks
-
npm run lint
(linting via ESLint) -
npm run format
(formatting via Prettier) -
npm run check
(Type checking viatsc
) -
npm test
(unit tests)
Run all server checks with npm run check:all
You can use npm run __:fix
to potentially correct some issues automatically for npm run format
and lint
.
OpenAPI
The OpenAPI client libraries need to be regenerated whenever there are changes to the immich-openapi-specs.json
file. Note that you should not modify this file directly as it is auto-generated. See OpenAPI for more details.
Database Migrations
A database migration needs to be generated whenever there are changes to server/src/infra/src/entities
. See Database Migration for more details.