Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Serve hashed /_next/static/* as immutable in public/_headers

Abierto Apto para principiantes
#332 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
67/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
next.js, typescript
Área
devops

Línea de trabajo

Lee public/_headers e inspecciona las reglas de caché existentes. Comprueba las rutas generadas de out/ bajo /_next/static/ para confirmar que sus nombres incluyen hashes de contenido. Después, añade la regla propuesta y verifica con curl -sI, tras el despliegue, que Cloudflare Pages la aplica. El trabajo estará terminado cuando los recursos con hash reciban la política inmutable de un año y los archivos HTML y de metadatos indicados conserven su comportamiento actual sin caché.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

Current

Cloudflare Pages serves the content-hashed build assets with its default policy:

$ curl -sI https://decdn.org/_next/static/chunks/101w7am0t3tuy.css | grep -i cache-control
cache-control: public, max-age=14400, must-revalidate

The JS chunks are the same. On every reload the browser revalidates the stylesheet with a conditional request before it can apply it. That round-trip is the window in which Firefox has been seen painting the page unstyled (#331). It also adds a revalidation per asset on repeat visits after 4 h.

Proposal

Add a rule to public/_headers:

/_next/static/*
  Cache-Control: public, max-age=31536000, immutable

Next's /_next/static/ filenames change with their content, so a long-lived immutable cache is safe. A deploy that changes the CSS emits a new filename, and the HTML (still max-age=0, must-revalidate) points at it.

Checks

  • Confirm Cloudflare Pages lets a _headers Cache-Control override its default for these paths (Pages docs; verify with curl -sI after deploy).
  • Confirm nothing un-hashed lives under /_next/static/ in out/. next/font files under /_next/static/media/ are hashed too.
  • Keep the HTML, robots.txt, sitemap*.xml and llms*.txt uncached as they are.
Lenguaje dominante
TypeScript
Estrellas
3
Forks
0
Merge medio
6 h 29 min
PR fusionados (30 d)
59

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de decdn/website

Todos los issues de decdn/website

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.