lint spawns node --check for 49 files one after another (about 10 s on Windows)
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
- Refactorización
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript, node.js
- Área
- performance, tooling
Línea de trabajo
Empieza por site/lint.mjs:69-80, especialmente por la llamada execFileSync en la línea 73, y lee cómo se recopilan los archivos de script y cómo se notifican los errores. Ejecuta npm run -s lint para medir el tiempo actual y luego usa npm test para comprobar el comportamiento. Se considera terminado cuando las comprobaciones se ejecutan en paralelo con un grupo limitado por os.availableParallelism(), los errores mantienen el orden de los archivos y lint es considerablemente más rápido en una máquina multinúcleo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
lint.mjs runs a blocking node --check subprocess per script file in sequence, which makes it the slowest step of npm run check.
Where
site/lint.mjs:69-80(theexecFileSync(process.execPath, ["--check", file])call at:73)
Details
Measured on a Windows dev machine: npm run -s lint 10.8 s vs test 5.1 s, validate 4.8 s, check-added 4.5 s. A single node --check is about 400 ms there; on Linux CI it is about 40-60 ms per file. Cost grows linearly with the number of scripts.
Impact
About a third of every local npm run check, and a smaller share of each CI run.
Steps to reproduce
- Time
npm run -s lint. - Time
node --check site/build.mjsin the same shell and multiply by 49.
Suggested fix
Run the checks in parallel with promisified execFile and a pool capped at os.availableParallelism(), then report errors in file order. Behaviour stays identical.
Acceptance criteria
- Same errors in the same order
- Lint wall time drops substantially on a multi-core machine
Getting started
- Relevant files:
site/lint.mjs - Run the tests:
npm test; the full local gate isnpm run check(Node 22+, no install step) - Related docs:
CONTRIBUTING.md,site/README.md
Filed by repo-audit/full-audit at 4adb944. Severity: low. Effort: S. audit-key: performance|site/lint.mjs|scriptFiles-check
- Lenguaje dominante
- JavaScript
- Estrellas
- 58
- Forks
- 15
- Merge medio
- 1 d 15 h
- PR fusionados (30 d)
- 12
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de TMHSDigital/Free-Game-Dev-Assets
-
enhancement good first issue priority: medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
TMHSDigital/Free-Game-Dev-Assets#272 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
TMHSDigital/Free-Game-Dev-Assets#270 ·
Los mantenedores suelen responder en 1 día
-
documentation priority: medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
TMHSDigital/Free-Game-Dev-Assets#269 ·
Los mantenedores suelen responder en 1 día
-
good first issue priority: low tests
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
TMHSDigital/Free-Game-Dev-Assets#267 ·
Los mantenedores suelen responder en 1 día
-
good first issue priority: low tests
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
TMHSDigital/Free-Game-Dev-Assets#266 ·
Los mantenedores suelen responder en 1 día
Todos los issues de TMHSDigital/Free-Game-Dev-Assets
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
microsoft/TypeScript#65370 ·
Los mantenedores suelen responder en 1 día
-
metrics priority: medium
Dificultad 1/5 1-3 horas Aptitud para principiantes 86/100
LearningCircuit/local-deep-research#8336 ·
Los mantenedores suelen responder en 1 día
-
ace bug yaml
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
svelte: whitespace-only edit leaves an empty todo, edits not trimmed, filter not restored on reloadAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
agentic-workflows
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
githubnext/gh-cao#20316 ·
Los mantenedores suelen responder en 1 día