WP Manifestindependent plugin directory
manifest / events / eventos-probolsas

Eventos Probolsas

Plugin de WordPress para la gestión de eventos con calendario

by Probolsas · github.com/softwareprobolsas22-jpg/eventos-probolsas · website

★ 0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/softwareprobolsas22-jpg/eventos-probolsas/archive/refs/heads/main.zip

Plugin de WordPress con el calendario de eventos de la intranet de Probolsas: cumpleaños, capacitaciones y reuniones. Solo lo ven los usuarios con sesión iniciada y solo lo gestionan, desde wp-admin, quienes tienen el permiso eventos_manage.

Requisitos

Herramienta Versión Para qué
PHP 8.3 (producción) Ejecutar el plugin y las herramientas de PHP
Composer 2 Herramientas de PHP (el plugin no tiene dependencias PHP en producción)
Node 20.19 o superior (22 recomendado) Compilar los assets y las pruebas JS
Docker Desktop — Opcional: las pruebas de integración corren en el CI. Solo se necesita para levantar WordPress en local (npm run env:start)

Instalación

composer install
npm ci
npm run build

Ajustes locales conocidos

PHP local más antiguo que 8.3. El proyecto exige PHP 8.3 y Composer bloquea la ejecución si la versión local es menor. Para correr las pruebas unitarias mientras se actualiza el PHP local:

composer dump-autoload --ignore-platform-req=php

Solo modifica vendor/ (que no se versiona). La verificación oficial en 8.3 y 8.4 la hace el CI.

PHPCS no reconoce el estándar WordPress. Si vendor/bin/phpcs -i no lista WordPress-Extra (puede pasar en Windows si composer install se interrumpe), regístralos a mano:

vendor/bin/phpcs --config-set installed_paths "../../phpcsstandards/phpcsutils,../../phpcsstandards/phpcsextra,../../wp-coding-standards/wpcs,../../phpcompatibility/php-compatibility,../../phpcompatibility/phpcompatibility-paragonie,../../phpcompatibility/phpcompatibility-wp"

Zonas horarias en Windows. Node solo respeta TZ=UTC; las pruebas de fechas en otras zonas (Tokio, Kiritimati) las corre el CI.

Comandos

Comando Qué hace
composer lint PHPCS (WordPress-Extra y compatibilidad con PHP 8.3)
composer analyse PHPStan nivel 6 sobre el código y nivel 2 sobre las pruebas de integración
composer test Pruebas unitarias de PHP (sin WordPress, con Brain Monkey)
npm run lint ESLint (R-08, R-14, R-15) y Stylelint (R-01, R-03)
npm run build Compila assets/src en assets/dist con Vite
npm run dev Compilación continua con sourcemaps
npm test Pruebas JS (Vitest): fechas, configuración, widgets, CSS compilado, contraste y peso
npm run test:coverage Pruebas JS con cobertura (reporte en coverage/)
npm run env:start / env:stop Inicia o detiene WordPress en Docker (wp-env, PHP 8.3)
npm run test:php:integration Pruebas de integración dentro de WordPress (requiere env:start)

Integración continua

GitHub Actions (.github/workflows/ci.yml) corre en cada push a main, develop y feature/**, y en cada PR:

Trabajo Qué verifica
PHP 8.3 / 8.4 PHPCS, PHPStan, pruebas unitarias; en 8.3, cobertura ≥ 80 % en src/Shared y src/Domains
JS (Node 20 / 22) ESLint, Stylelint, build, assets/dist al día, pruebas con cobertura ≥ 80 %
Fechas Pruebas de fechas en Bogotá, UTC, Tokio y Kiritimati (R-08)
Integración Pruebas dentro de WordPress 7.1.3 con wp-env (Docker del runner)

Las pruebas de integración corren solo en el CI, en cada push: el equipo de desarrollo no tiene memoria suficiente para Docker (decisión del PO). El resultado se ve en la pestaña Actions del repositorio: los fallos de cobertura y de integración aparecen como anotaciones en el resumen de la ejecución, sin abrir el registro.

Reglas para contribuir

  1. Una rama por historia: feature/H-xxx-descripcion, creada desde develop.
  2. Backend y Frontend no se cruzan: Backend trabaja en src/, config/ y tests/php/; Frontend en templates/, assets/ y tests/js/. El único punto de contacto es el contrato de docs/api/.
  3. assets/dist se versiona (ADR-0001): quien cambie assets/src ejecuta npm run build y sube el resultado en el mismo commit. El CI falla si no coinciden.
  4. Antes de pedir revisión: composer lint, composer analyse, composer test, npm run lint y npm test sin errores.
  5. Revisión de QA: cada historia la revisa QA (informe en docs/qa/). Si se aprueba, se integra en develop sin PR.
  6. Un PR por fase: al cierre de cada fase, QA revisa la fase completa con la ejecución del CI sobre develop en verde (incluidas las pruebas de integración) y se abre un único PR develop → main. Nunca se abre un PR sin revisión de QA aprobada.

Publicación

El plugin se publica desde GitHub en Hostinger; el servidor no compila nada. El paquete contiene solo lo necesario (ver .gitattributes): eventos-probolsas.php, uninstall.php, config/, src/, templates/ y assets/dist/. Para revisarlo:

git archive HEAD | tar -t