Configuración de SonarQube localmente para proyectos React Native y MERN

Configura SonarQube para mejorar la calidad de tu código en proyectos React Native y MERN de forma sencilla y efectiva. Aprende cómo implementar esta herramienta de análisis estático y detección de errores en tu desarrollo.

domingo, 16 de noviembre de 2025 • 4 min de lectura • Equip Q2BSTUDIO

Configuración de SonarQube para proyectos React Native y MERN

Introducción: Como desarrollador React Native y MERN puedes mejorar la calidad de tu código integrando SonarQube localmente con Docker. SonarQube detecta bugs, vulnerabilidades de seguridad, code smells, código duplicado y brechas de cobertura de tests para que tu proyecto sea más mantenible y seguro. En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad y servicios cloud, y recomendamos incorporar análisis estático en el flujo de trabajo para proyectos críticos.

Requisitos previos: Instala Docker Desktop en tu equipo. Ejecuta el instalador adecuado para macOS o Windows y asegúrate de que la aplicación Docker esté corriendo antes de continuar.

Paso 1 Crear docker-compose: En la raíz del proyecto crea un archivo llamado docker-compose.yml con un servicio básico para SonarQube. Ejemplo mínimo en el archivo: services: sonarqube: image: sonarqube:community container_name: sonarqube-local ports: - 9000:9000 environment: - SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true volumes: - sonarqube_data:/opt/sonarqube/data - sonarqube_extensions:/opt/sonarqube/extensions - sonarqube_logs:/opt/sonarqube/logs networks: - sonarqube-network volumes: sonarqube_data: sonarqube_extensions: sonarqube_logs: networks: sonarqube-network: driver: bridge

Paso 2 Añadir scripts al package.json: Agrega scripts útiles como sonar, sonar:start, sonar:stop, sonar:down y sonar:logs para controlar el contenedor con npm o yarn y facilitar análisis locales.

Paso 3 Crear configuración de SonarQube: Crea un archivo sonar-project.properties con la configuración del proyecto. Ejemplo clave: sonar.projectKey=my-app sonar.projectName=My App sonar.projectVersion=1.0.0 sonar.sources=src sonar.tests=__tests__ sonar.exclusions=**/node_modules/**,**/android/**,**/ios/**,**/coverage/**,**/*.spec.ts,**/*.test.ts sonar.language=ts sonar.sourceEncoding=UTF-8 sonar.javascript.lcov.reportPaths=coverage/lcov.info sonar.host.url=https://localhost:9000 Añade la línea sonar.login cuando generes el token.

Paso 4 Ignorar carpetas en git: Añade al .gitignore las carpetas generadas por el scanner como .scannerwork/ y .sonarqube/ para no subir datos temporales al repositorio.

Paso 5 Levantar SonarQube: Abre Docker Desktop y ejecuta el script para iniciar: yarn sonar:start o docker-compose up -d. Espera 1 a 2 minutos y consulta logs con yarn sonar:logs si necesitas ver el proceso de arranque.

Paso 6 Generar token de autenticación: Accede a la interfaz web en https://localhost:9000, inicia sesión con las credenciales por defecto admin admin, cambia la contraseña y genera un token en My Account Security. Copia el token y pégalo en sonar-project.properties como sonar.login=TOKEN_GENERADO.

Paso 7 Instalar Sonar Scanner: Añade la dependencia de desarrollo con npm install --save-dev sonar-scanner o yarn add -D sonar-scanner.

Paso 8 Ejecutar el primer análisis: Ejecuta tus tests con cobertura yarn test --coverage y luego lanza SonarQube con yarn sonar. Revisa resultados en la interfaz web de SonarQube en el puerto 9000.

Uso diario: Mantén SonarQube corriendo en background con yarn sonar:start. Tras cambios en el código ejecuta yarn test --coverage && yarn sonar para actualizar el tablero de calidad. Cuando termines, detén el servidor con yarn sonar:stop.

Configuraciones por tipo de proyecto: Para backend Node.js/Express ajusta sonar.sources=src sonar.tests=src sonar.test.inclusions=**/*.test.js,**/*.spec.js. Para React Native excluye carpetas nativas con sonar.exclusions=**/android/**,**/ios/**.

Problemas comunes y soluciones: Si Docker no corre asegúrate de abrir la aplicación y esperar unos segundos. Si el puerto 9000 ya está en uso identifica el proceso con herramientas del sistema y cámbialo en docker-compose. Si aparece error de autenticación revisa que el token esté correctamente escrito en sonar-project.properties.

Qué analiza SonarQube: calidad del código, bugs potenciales, vulnerabilidades de seguridad, cobertura de tests, duplicaciones y métricas de complejidad. Integrarlo en tu pipeline ayuda a atrapar errores antes de producción y a mantener estándares de desarrollo.

Sobre Q2BSTUDIO: Somos una empresa de desarrollo de software que ofrece aplicaciones a medida y software a medida para empresas de todos los sectores. Además somos especialistas en inteligencia artificial, ciberseguridad, servicios cloud aws y azure y servicios de inteligencia de negocio. Si buscas crear o optimizar una aplicación con enfoque en calidad, seguridad y escalabilidad visita nuestra página de y conoce cómo podemos ayudarte a integrar herramientas y buenas prácticas. Para soluciones avanzadas de automatización e IA empresarial consulta nuestros y descubre agentes IA, ia para empresas y cómo aplicamos power bi para reporting y análisis.

Beneficios clave: detectar bugs antes de producción, mejorar la mantenibilidad, medir y aumentar la cobertura de tests, cumplir estándares de seguridad y facilitar auditorías. Mantener SonarQube en tu flujo local aporta disciplina y visibilidad sobre la salud del código.

Comandos útiles resumidos: yarn sonar:start para iniciar, yarn sonar:stop para parar, yarn sonar:down para desmontar contenedores, yarn sonar:logs para ver logs y yarn sonar para lanzar análisis.

Conclusión: Integrar SonarQube localmente usando Docker es una forma sencilla y poderosa de elevar la calidad de proyectos React Native y MERN. En Q2BSTUDIO unimos experiencia en desarrollo a medida, inteligencia artificial, ciberseguridad y cloud para ofrecer soluciones completas que incluyen prácticas de control de calidad como SonarQube. Si necesitas ayuda con la integración o con arquitecturas seguras y escalables podemos acompañarte en todo el proceso.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.