Passer au contenu principal

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.

prudence

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 via tsc)
  • npm test (tests unitaires)

:::astuce AIO Exécutez toutes les vérifications serveur avec npm run check:all :::

Correction Automatique

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)
Correction Automatique

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.