- Medir baseline de build y bundle (
npm run build). - Detectar deuda técnica en scripts de lint/build.
- Identificar puntos críticos de a11y (foco, labels, feedback de copiado).
- Agregar benchmark repetible de tamaño por release (script y umbrales).
- Corregir scripts de lint para entorno npm + ESLint 9 legacy (
ESLINT_USE_FLAT_CONFIG=false). - Simplificar
vite.config.tsremoviendorollup-plugin-typescript2yrollup-plugin-terser. - Mover React a
peerDependenciesy limpiar deps runtime innecesarias para consumidores. - Agregar
sideEffectspara preservar CSS/SCSS y mejorar tree-shaking. - Corregir configuración de generación de tipos (
vite-plugin-dts+tsconfig). - Migrar de
.eslintrcaeslint.config.js(flat config) para eliminar modo legacy. - Ejecutar
bun installpara regenerar lockfile tras limpieza de dependencias.- Nota: confirmado por el usuario que ejecuta
bun ilocalmente.
- Nota: confirmado por el usuario que ejecuta
- Introducir utilitario
encodeShareParampara codificar parámetros de URL en todos los botones de share. - Aplicar encoding a
url,title,message,description,mediaUrl,subject,content,to. - Reemplazar concatenación manual por
URLSearchParamspara mayor mantenibilidad. - Añadir validación opcional para URLs inválidas y fallback seguro.
- Añadir
aria-labelen botones de ícono y enlaces de share. - Mejorar botón de copiado con
aria-live+role="status". - Agregar fallback de clipboard cuando
navigator.clipboardfalla. - Añadir estilos
:focus-visibleen botones e íconos. - Añadir soporte
prefers-reduced-motionpara reducir transiciones. - Estandarizar
aria-hiddenen todos los SVG decorativos con helper único. - Verificar contraste WCAG AA por variante de color (
is-bordered/is-whited).
- Normalizar
list-style/paddingdel grupo de botones. - Mejorar estilos base de interacción (
cursor,font,line-height). - Migrar SCSS de
@importa@use/@forward(evitar deprecaciones Dart Sass). - Extraer tokens de foco/espaciado para evitar duplicación entre botones e íconos.
- Agregar tests de comportamiento para generación de URLs por red social.
- Agregar tests de a11y (ej.
@testing-library/react+jest-axe). - Integrar chequeo de bundle size en CI.
- Documentar en README los nuevos props de copiado (
url,copiedLabel).