lint spawns node --check for 49 files one after another (about 10 s on Windows)
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 82/100
- Tipo de issue
- Refatoração
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- javascript, node.js
- Domínio
- performance, tooling
Direção de pesquisa
Comece por site/lint.mjs:69-80, especialmente pela chamada execFileSync na linha 73, e leia como os arquivos de script são coletados e como os erros são relatados. Execute npm run -s lint para medir o tempo atual e depois use npm test para verificar o comportamento. O trabalho estará concluído quando as verificações forem executadas em paralelo com um pool limitado por os.availableParallelism(), os erros permanecerem na ordem dos arquivos e lint ficar substancialmente mais rápido em uma máquina com vários núcleos.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- JavaScript
- Estrelas
- 58
- Forks
- 15
- Merge médio
- 1d 15h
- PRs com merge (30d)
- 12
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de TMHSDigital/Free-Game-Dev-Assets
-
enhancement good first issue priority: medium
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
TMHSDigital/Free-Game-Dev-Assets#272 ·
Mantenedores costumam responder em até 1 dia
-
documentation good first issue priority: low
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
TMHSDigital/Free-Game-Dev-Assets#270 ·
Mantenedores costumam responder em até 1 dia
-
documentation priority: medium
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
TMHSDigital/Free-Game-Dev-Assets#269 ·
Mantenedores costumam responder em até 1 dia
-
good first issue priority: low tests
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
TMHSDigital/Free-Game-Dev-Assets#267 ·
Mantenedores costumam responder em até 1 dia
-
good first issue priority: low tests
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
TMHSDigital/Free-Game-Dev-Assets#266 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de TMHSDigital/Free-Game-Dev-Assets
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
microsoft/TypeScript#65370 ·
Mantenedores costumam responder em até 1 dia
-
metrics priority: medium
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 86/100
LearningCircuit/local-deep-research#8336 ·
Mantenedores costumam responder em até 1 dia
-
ace bug yaml
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
svelte: whitespace-only edit leaves an empty todo, edits not trimmed, filter not restored on reloadAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
agentic-workflows
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
githubnext/gh-cao#20316 ·
Mantenedores costumam responder em até 1 dia