lint spawns node --check for 49 files one after another (about 10 s on Windows)
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 82/100
- Issue-Typ
- Refactoring
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- javascript, node.js
- Bereich
- performance, tooling
Rechercherichtung
Beginne mit site/lint.mjs:69-80, insbesondere mit dem Aufruf execFileSync in Zeile 73, und lies nach, wie Skriptdateien gesammelt und Fehler gemeldet werden. Führe npm run -s lint aus, um die aktuelle Laufzeit zu messen, und verwende anschließend npm test, um das Verhalten zu prüfen. Fertig ist es, wenn Prüfungen parallel mit einem auf os.availableParallelism() begrenzten Pool laufen, Fehler in Dateireihenfolge bleiben und Lint auf einem Mehrkernsystem deutlich schneller ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- JavaScript
- Sterne
- 58
- Forks
- 15
- Ø Merge
- 1 T. 15 Std.
- Gemergte PRs (30 T.)
- 12
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus TMHSDigital/Free-Game-Dev-Assets
-
enhancement good first issue priority: medium
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
TMHSDigital/Free-Game-Dev-Assets#272 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation good first issue priority: low
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
TMHSDigital/Free-Game-Dev-Assets#270 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation priority: medium
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
TMHSDigital/Free-Game-Dev-Assets#269 ·
Maintainer antworten meist innerhalb von 1 Tag
-
good first issue priority: low tests
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
TMHSDigital/Free-Game-Dev-Assets#267 ·
Maintainer antworten meist innerhalb von 1 Tag
-
good first issue priority: low tests
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
TMHSDigital/Free-Game-Dev-Assets#266 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in TMHSDigital/Free-Game-Dev-Assets
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
microsoft/TypeScript#65370 ·
Maintainer antworten meist innerhalb von 1 Tag
-
metrics priority: medium
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 86/100
LearningCircuit/local-deep-research#8336 ·
Maintainer antworten meist innerhalb von 1 Tag
-
ace bug yaml
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag
-
svelte: whitespace-only edit leaves an empty todo, edits not trimmed, filter not restored on reloadOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
agentic-workflows
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
githubnext/gh-cao#20316 ·
Maintainer antworten meist innerhalb von 1 Tag