"Incremental build equals clean build" is claimed but never tested

Abierto Apto para principiantes
#265 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
82/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
javascript, node.js

Línea de trabajo

Empieza en site/build.mjs, alrededor de writeOut y pruneDist; después, lee site/lib/lib.test.mjs y el comando de prueba de la sección de inicio. El cambio propuesto consiste en mover las funciones a site/lib/dist-writer.mjs, parametrizar el directorio dist y probarlas en un directorio temporal. Se considera terminado cuando las pruebas cubran las comparaciones de bytes, las reescrituras, la eliminación de archivos obsoletos y la depuración de directorios indicadas.

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

Descripción

priority: low tests

Summary

build.mjs says the incremental result is byte-identical to a clean build, but writeOut, pruneDist and the produced-file set are not tested, and CI always builds from a fresh checkout, so the incremental path never runs there.

Where

  • site/build.mjs:272-275 (claim)
  • site/build.mjs:288-299 (writeOut)
  • site/build.mjs:323-335 (pruneDist)
  • site/build.mjs:526-531, :638, :745

Impact

A stale file left in local dist, or a needed file pruned, would only show locally.

Suggested fix

Move writeOut and pruneDist into site/lib/dist-writer.mjs with the dist directory as a parameter and test them in a temp directory.

Acceptance criteria

  • Same bytes written twice: 0 writes the second time
  • Same-size file with different bytes is rewritten
  • Stale old/x.html removed and its empty directory pruned
  • Directory holding a produced file is kept
  • Optional: hashes of build and build --clean match in a temp copy

Getting started

  • Relevant files: site/build.mjs, site/lib/lib.test.mjs
  • Run the tests: npm test; the full local gate is npm run check (Node 22+, no install step)
  • Related docs: CONTRIBUTING.md, site/README.md

Related: #85


Filed by repo-audit/full-audit at 4adb944. Severity: low. Effort: S. audit-key: testing|site/build.mjs|writeOut

Lenguaje dominante
JavaScript
Estrellas
58
Forks
15
Merge medio
1 d 15 h
PR fusionados (30 d)
12

Preparar el entorno

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 TMHSDigital/Free-Game-Dev-Assets

Todos los issues de TMHSDigital/Free-Game-Dev-Assets

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.