GitHub Engineering
Por que o GitHub enviou mais CSS para acelerar o site
O GitHub explica a saída do CSS-in-JS e os compromissos de desempenho na migração do Primer.

A equipe do Primer no GitHub descreve a migração completa da antiga abordagem de CSS-in-JS. Com o crescimento do número de componentes, a inicialização de estilos no cliente e a coleta de estilos no servidor ficaram cada vez mais caras.
O relato técnico mostra por que enviar mais CSS estático pode melhorar a experiência geral. É um bom lembrete de que a menor folha de estilos nem sempre produz a página mais rápida quando o custo da estilização em tempo de execução entra na conta.
O que os números realmente mostram
No relato de engenharia, o GitHub diz que os componentes do Primer tinham migrado para CSS Modules até dezembro de 2024. Depois, um grupo rotativo de oito engenheiros migrou 6.419 propriedades ao longo de seis meses. Os ganhos informados no tempo de renderização no servidor variaram de cerca de 1% a 22% nas páginas medidas. São medições do próprio GitHub em sua carga de trabalho, não um benchmark universal de CSS Modules.
A abordagem anterior trabalhava em tempo de execução: os estilos precisavam ser inicializados no navegador e coletados durante a renderização no servidor. Com mais componentes por página, esse custo cresceu. O CSS estático transfere parte do trabalho para o build e para o mecanismo nativo de estilos do navegador. Em compensação, o arquivo CSS pode ficar maior; a métrica relevante é a experiência completa da página, não só o tamanho da folha de estilos.
A lição prática
Se sua aplicação React tem um gargalo parecido, meça o tempo de renderização no servidor e a inicialização no cliente antes de reescrever um design system. O código do Primer React e o guia de uso mostram a escala da migração. A decisão veio dos custos observados nessa escala. Enviar mais CSS parece contraditório até medir quanto JavaScript deixou de ser executado a cada requisição.
Fontes e leituras complementares
Conteúdos relacionados
- NotíciasGitHub Actions aposenta o Node 20 para actions em JavaScriptOs runners agora usam Node 24, e mantenedores de actions em JavaScript precisam atualizar seus metadados.
- NotíciasPor dentro do renderizador de pull requests com um milhão de linhasA equipe do aplicativo Copilot refez a visualização de diffs para manter revisões enormes responsivas, mesmo com centenas de comentários.
- NotíciasGitHub Copilot ganha novos modelos e mais controle sobre agentesA atualização traz mais opções de modelos, sandbox local e novidades no VS Code, JetBrains, Slack e Teams.
Comentários
Dúvidas, correções ou sua própria visão são todas bem-vindas. Entre com o GitHub para participar.