Saltar al contenido principal

Cómo contribuir con código

Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

¡Gracias por tu interés en contribuir a React Native! Desde comentar y clasificar incidencias, hasta revisar y enviar PRs, todas las contribuciones son bienvenidas. En este documento, cubriremos los pasos para contribuir con código a React Native.

Si estás ansioso por comenzar a contribuir con código de inmediato, tenemos una lista de Good first issues que contienen errores con un alcance relativamente limitado. Las incidencias etiquetadas como Help wanted son buenas candidatas para enviar una PR.

Prerrequisitos

información

Consulta la guía de Configuración del entorno para configurar las herramientas necesarias y el entorno de desarrollo según la plataforma que utilices y para la que quieras desarrollar.

Flujo de trabajo de desarrollo

Después de clonar React Native, abre el directorio y ejecuta yarn para instalar sus dependencias.

Ahora estás listo para ejecutar varios comandos:

  • yarn start inicia el servidor de paquetización Metro.

  • yarn lint verifica el estilo del código.

  • yarn format formatea automáticamente tu código.

  • yarn test ejecuta la suite de pruebas de JavaScript basada en Jest.

    • yarn test --watch ejecuta un observador interactivo de pruebas de JavaScript.
    • yarn test <pattern> ejecuta pruebas de JavaScript con nombres de archivo coincidentes.
  • yarn flow ejecuta las comprobaciones de tipos de Flow.

    • yarn flow-check-android realiza una comprobación completa de Flow en archivos *.android.js.
    • yarn flow-check-ios realiza una comprobación completa de Flow en archivos *.ios.js.
  • yarn test-typescript ejecuta las comprobaciones de tipos de TypeScript.

  • yarn test-ios ejecuta la suite de pruebas de iOS (requiere macOS).

  • yarn build compila todos los paquetes configurados — en general, este comando solo necesita ser ejecutado por CI antes de publicar.

  • yarn build-types genera tipos TypeScript para la API pública y actualiza la instantánea.

Probando tus cambios

Las pruebas nos ayudan a prevenir que se introduzcan regresiones en la base de código. Recomendamos ejecutar yarn test o los scripts específicos de plataforma mencionados arriba para asegurarte de no introducir regresiones mientras trabajas en tu cambio.

El repositorio de GitHub se prueba continuamente usando CircleCI, cuyos resultados están disponibles mediante la funcionalidad de Checks en los commits y pull requests.

Puedes aprender más sobre cómo ejecutar y escribir pruebas en la página Cómo ejecutar y escribir pruebas.

Estilo de código

Usamos Prettier para formatear nuestro código JavaScript. Esto te ahorra tiempo y energía ya que puedes dejar que Prettier corrija automáticamente cualquier problema de formato mediante sus integraciones en editores, o ejecutando manualmente yarn run prettier. También usamos un linter para detectar problemas de estilo que puedan existir en tu código. Puedes verificar el estado del estilo de tu código ejecutando yarn run lint.

Sin embargo, aún hay algunos estilos que el linter no puede detectar, notablemente en código Java u Objective-C.

Objective-C

  • Espacio después de las declaraciones @property

  • Llaves en cada if, en la misma línea

  • Los corchetes de - method, @interface y @implementation van en la línea siguiente

  • Intenta mantener alrededor de 80 caracteres por línea (a veces no es posible...)

  • El operador * va con el nombre de la variable (ej. NSObject *variableName;)

Java

  • Si una llamada a método abarca varias líneas, el corchete de cierre va en la misma línea que el último argumento.

  • Si una cabecera de método no cabe en una línea, cada argumento va en una línea separada.

  • Longitud de línea de 100 caracteres

Enviar una solicitud de extracción (Pull Request)

Las contribuciones de código a React Native generalmente se realizan mediante solicitudes de extracción (pull requests). El proceso para proponer un cambio a React Native se resume así:

  1. Haz un fork del repositorio de React Native y crea tu rama desde main.

  2. Si agregaste código que debe probarse, añade pruebas.

  3. Si cambiaste APIs, actualiza la documentación.

  4. Asegúrate de que la suite de pruebas pase, ya sea localmente o en CI una vez abierta la solicitud.

  5. Verifica que tu código cumpla con el linter (por ejemplo con yarn lint --fix).

  6. Comprueba si tu código modifica la API pública de JS con yarn build-types --validate. Si es así, regenera el snapshot usando yarn build-types.

  7. Sube los cambios a tu fork.

  8. Crea una solicitud de extracción al repositorio de React Native.

  9. Revisa y atiende los comentarios en tu solicitud.

  10. Un bot podría comentar con sugerencias. Generalmente pedimos resolver estos primero antes de que un mantenedor revise tu código.

  11. Si aún no lo has hecho, envía el Acuerdo de Licencia del Contribuyente (CLA).

Si todo va bien, tu solicitud será fusionada. Si no se fusiona, los mantenedores explicarán su razonamiento.

Si es tu primera vez enviando una solicitud, creamos una guía paso a paso para ayudarte. Para más detalles sobre cómo se manejan las solicitudes, consulta la página Gestión de solicitudes de extracción.

Acuerdo de Licencia del Contribuyente (CLA)

Para aceptar tu solicitud, necesitamos que envíes un Acuerdo de Licencia del Contribuyente (CLA). Solo necesitas hacerlo una vez para trabajar en cualquier proyecto open source de Meta. Solo toma un minuto, así que puedes hacerlo mientras esperas que se instalen las dependencias.

Licencia

Al contribuir a React Native, aceptas que tus contribuciones se licenciarán bajo el archivo LICENCIA en el directorio raíz del repositorio de React Native.