Saltar al contenido principal

Lista de verificación de PR

Se proporciona un contenedor de desarrollo mínimo con este repositorio. Todos los comandos se pueden ejecutar directamente dentro de este contenedor para evitar tediosas instalaciones del entorno.

advertencia

El contenedor de desarrollo proporcionado no está completo en este momento. Al menos todos los pasos dockerizados en el Makefile no funcionarán (make dev, ...). ¡Siéntete libre de contribuir!

Al contribuir con código mediante una solicitud de extracción, verifica lo siguiente:

Verificaciones Web

  • npm run lint (revisión con ESLint)
  • npm run format (formateo con Prettier)
  • npm run check:svelte (verificación de tipos con SvelteKit)
  • npm run check:typescript (verificación de TypeScript)
  • npm test (pruebas unitarias)

Documentación

  • npm run format (formateo con Prettier)
  • Actualiza el archivo _redirects si renombraste una página o la eliminaste de la documentación.
AIO

Ejecuta todas las verificaciones web con npm run check:all

Verificaciones del Servidor

  • npm run lint (revisión con ESLint)
  • npm run format (formateo con Prettier)
  • npm run check (verificación de tipos con tsc)
  • npm test (pruebas unitarias)
AIO

Ejecuta todas las verificaciones del servidor con npm run check:all

Corrección Automática

Puedes usar npm run __:fix para corregir automáticamente algunos problemas en npm run format y lint.

Verificaciones Móviles

Los siguientes comandos deben ejecutarse desde el directorio de la aplicación móvil de la base de código.

  • make build (generar automáticamente archivos usando build_runner)
  • make analyze (análisis estático con Dart Analyzer y DCM)
  • make format (formateo con Dart Formatter)
  • make test (pruebas unitarias)
Corrección Automática

Puedes usar dart fix --apply y dcm fix lib para corregir automáticamente algunos problemas en make analyze.

OpenAPI

Las bibliotecas cliente de OpenAPI necesitan regenerarse cada vez que hay cambios en el archivo immich-openapi-specs.json. Ten en cuenta que no debes modificar este archivo directamente, ya que se genera automáticamente. Consulta OpenAPI para más detalles.

Migraciones de Base de Datos

Es necesario generar una migración de base de datos cada vez que hay cambios en server/src/infra/src/entities. Consulta Migraciones de Base de Datos para más detalles.