GitHub Action Gratis Inactivo

Size Limit Action

Para vigilar el tamaño del bundle JavaScript en cada pull request y comentar el resultado automáticamente

GitHub Action que comenta en cada pull request el tamaño y coste de tu JavaScript con Size Limit

Notas y contexto

Qué es

Size Limit Action es una GitHub Action creada por Andrés Zorro que integra la herramienta Size Limit en los flujos de integración continua. En cada pull request ejecuta Size Limit sobre la rama base y la rama de cambios, calcula la diferencia de tamaño y coste del JavaScript y deja un comentario con la comparación. Está escrita en TypeScript y se distribuye bajo licencia ISC.

Para qué sirve

  • Comentar de forma automática en cada pull request el tamaño del bundle y su variación respecto a la rama base.
  • Bloquear un pull request cuando el coste del JavaScript supera los límites definidos en la configuración de Size Limit.
  • Detectar regresiones de tamaño antes de que lleguen a producción.
  • Adaptarse a monorepos y distintos gestores de paquetes (npm, yarn, pnpm) mediante sus parámetros.

Cuándo usarlo

  • Cuando ya usas Size Limit en tu proyecto y quieres que sus métricas aparezcan directamente en la revisión del pull request.
  • Cuando el rendimiento de carga es un requisito y necesitas un control de presupuesto de bundle en CI.
  • Si trabajas con GitHub Actions; para otros sistemas de CI tendrás que invocar Size Limit por tu cuenta o buscar otra integración.

Ejemplo

Workflow básico en .github/workflows/size.yml:

name: size
on:
  pull_request:
    branches:
      - master
permissions:
  pull-requests: write
jobs:
  size:
    runs-on: ubuntu-latest
    env:
      CI_JOB_NUMBER: 1
    steps:
      - uses: actions/checkout@v4
      - uses: andresz1/size-limit-action@v1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}

Requiere tener Size Limit configurado previamente en el package.json del proyecto.

Puntos clave

  • Comenta automáticamente la diferencia de tamaño entre la rama base y la del pull request.
  • Parámetros como build_script, script, directory, skip_step y package_manager permiten ajustar instalación, build y ejecución.
  • Mide el coste real del JavaScript para el usuario final, no solo el peso bruto del archivo.

Ten en cuenta

  • Depende de que Size Limit esté ya instalado y configurado en el package.json; la action no lo configura por ti.
  • Necesita el permiso pull-requests: write para poder publicar el comentario.
  • En monorepos o builds complejas puede requerir ajustar varios parámetros para apuntar al directorio y script correctos.
Volver al directorio
Volver al directorio