Pular para o conteúdo
Development

Destacando os pacotes compartilhados dos quais este site depende silenciosamente

Por Victor Da Luz•
astromarketingdev-logsite

O widget do GitHub na homepage deste site sempre mostrou cards de repositórios fixados, puxados ao vivo de uma API de estatísticas: trello-extractor, programming-problems, homelab-tools, astro-blog. Isso é ótimo para projetos pessoais, mas esconde a história mais interessante. Três dos pacotes que eu construí, astro-blog, astro-affiliate, astro-opt-in-analytics, não são side projects. São infraestrutura. Todo site da família vdaluz.com roda sobre eles em produção agora.

Por que uma subseção nova em vez de só adicionar à lista de fixados

Os cards gerados automaticamente puxam qualquer estatística que um serviço terceirizado devolver: estrelas, linguagem, uma descrição de uma linha do GitHub. Esse é o discurso errado para esses três. Ninguém liga que astro-affiliate tem zero estrelas. O que importa é que ele é o resolvedor de links de afiliado que todo post deste site e do vdaluz.com passa por. Então adicionei uma subseção “Shared packages” acima do bloco existente, com textos escritos à mão direto da própria descrição do package.json de cada pacote, em vez de parafraseados de memória, e deixei o bloco automático intacto abaixo dela.

export const sharedPackages: SharedPackage[] = [
  {
    name: 'astro-blog',
    pitch: 'Shared Astro blog components, related-posts scoring, schema factory...',
    href: 'https://github.com/vdaluz/astro-blog',
  },
  // ...
];

A pegadinha: verificando mudanças de UI para um check que não existe

As próprias convenções deste repositório pedem para rodar npm run a11y em qualquer mudança de UI. Fui rodar e descobri que não existe esse script aqui: ele existe no vdaluz.com, não neste site. Eu tinha assumido que as ferramentas eram compartilhadas pela família do mesmo jeito que os pacotes são. Não são.

Em vez de pular o check, rodei npx @axe-core/cli direto contra um servidor local astro preview:

npx @axe-core/cli http://localhost:4322/ --tags wcag2a,wcag2aa
0 violations found!

Isso funciona bem como algo pontual, mas não é algo que a próxima pessoa (ou o próximo eu) vai lembrar de rodar. Abri um chamado de acompanhamento para de fato adicionar o script aqui, em vez de deixar isso como um workaround manual que só existe no histórico de shell desta sessão.

Resultados

astro check, prettier --check e astro build passam limpos. Tirei um screenshot do preview renderizado para confirmar que a nova subseção está no lugar certo, estilizada de forma consistente com o resto do tratamento de card .glass da página. Zero violações de a11y na homepage.

Lição

“Este repositório segue as mesmas convenções dos irmãos dele” é uma suposição que vale a pena checar, não confiar de olhos fechados. Os quatro sites Astro dessa família compartilham uma stack, mas nem toda ferramenta chegou a todo repositório, e a lacuna só aparece quando você de fato tenta rodar o check.

Leitura relacionada

Você também pode achar útil

Proton

Proton Mail

E-mail criptografado de ponta a ponta, com arquitetura de acesso zero.

Como parceiro da Proton, ganho com compras qualificadas dos serviços de privacidade e segurança da Proton (Pass, Mail, VPN, Drive).

Saiba mais
NordPass

NordPass

Gerenciador de senhas da equipe por trás da NordVPN, com um plano gratuito.

Como afiliado da NordPass, ganho com compras qualificadas.

Saiba mais
Proton

Proton VPN

VPN comercial com filtragem NetShield e interruptor de desligamento automático.

Como parceiro da Proton, ganho com compras qualificadas dos serviços de privacidade e segurança da Proton (Pass, Mail, VPN, Drive).

Saiba mais