Liste de contrôle pour PR
Un conteneur de développement minimal est fourni avec ce dépôt. Toutes les commandes peuvent être exécutées directement à l'intérieur de ce conteneur pour éviter une installation fastidieuse de l'environnement.
Le conteneur de développement fourni n'est pas complet pour le moment. Au moins toutes les étapes dockerisées dans le Makefile ne fonctionneront pas (make dev
, ....). N'hésitez pas à contribuer !
Lors de la contribution de code via une pull request, veuillez vérifier les points suivants :
Vérifications Web
-
npm run lint
(analyse via ESLint) -
npm run format
(formatage via Prettier) -
npm run check:svelte
(vérification des types via SvelteKit) -
npm run check:typescript
(vérification de TypeScript) -
npm test
(tests unitaires)
Documentation
-
npm run format
(formatage via Prettier) - Mettez à jour le fichier
_redirects
si vous avez renommé une page ou l'avez supprimée de la documentation.
:::astuce AIO
Exécutez toutes les vérifications Web avec npm run check:all
:::
Vérifications Serveur
-
npm run lint
(analyse via ESLint) -
npm run format
(formatage via Prettier) -
npm run check
(vérification des types viatsc
) -
npm test
(tests unitaires)
:::astuce AIO
Exécutez toutes les vérifications serveur avec npm run check:all
:::
Vous pouvez utiliser npm run __:fix
pour corriger automatiquement certains problèmes potentiels pour npm run format
et lint
.
Vérifications Mobile
Les commandes suivantes doivent être exécutées dans le répertoire de l'application mobile de la base de code.
-
make build
(auto-génération des fichiers avec build_runner) -
make analyze
(analyse statique via Dart Analyzer et DCM) -
make format
(formatage via Dart Formatter) -
make test
(tests unitaires)
Vous pouvez utiliser dart fix --apply
et dcm fix lib
pour corriger automatiquement certains problèmes potentiels pour make analyze
.
OpenAPI
Les bibliothèques clients OpenAPI doivent être régénérées chaque fois qu'il y a des modifications dans le fichier immich-openapi-specs.json
. Notez que vous ne devez pas modifier ce fichier directement car il est auto-généré. Consultez OpenAPI pour plus de détails.
Migrations de Base de Données
Une migration de base de donn ées doit être générée chaque fois qu'il y a des modifications dans server/src/infra/src/entities
. Consultez Migration de Base de Données pour plus de détails.