Astro lança Sätteri, processador de Markdown em Rust que promete builds até 60% mais rápidos
Escrito em Rust e agora padrão no Astro 7, o Sätteri troca a pipeline de remark e rehype por um motor nativo com fallback em WebAssembly.

O time do Astro apresentou o Sätteri, um processador de Markdown e MDX de alto desempenho escrito em Rust↳Rust7 conteúdosDesmistificando Rust: a linguagem segura e rápida que você precisa conhecerDev (Back & Front) · out 2024Como criar seu primeiro Programa em Rust com Solana PlaygroundDev (Back & Front) · mai 2026Rust no ranking: a segurança de memória perdeu a guerra corporativa?Marketing Tech · abr 2026Ver tudo em Dev (Back & Front) → que já é o coração do recém-lançado Astro 7.0. Segundo o time, ele contribui com builds até 60% mais rápidos ao substituir a pipeline JavaScript baseada em remark, rehype e uma longa cauda de dependências.
Para quem constrói sites de conteúdo com Astro no Brasil (blogs técnicos, documentação, portais editoriais), a mudança tem efeito prático imediato: o tempo de build cai sem que você precise trocar de framework, e a maioria dos projetos não exige nenhuma alteração de código.
O que é o Sätteri e como ele funciona
O Sätteri coloca plugins flexíveis em JavaScript por cima de um motor de Markdown e MDX rápido em Rust. Por baixo, usa o pulldown-cmark para o parsing de CommonMark e o Oxc para interpretar expressões MDX.
Ele é distribuído como binários nativos específicos por plataforma, com um fallback em WASM (a mesma abordagem que o Astro adota para seu novo compilador em Rust). Dá até para testá-lo direto no navegador via WebAssembly.
Curiosamente, o projeto vive fora da organização Astro: é mantido separadamente pela contribuidora do core Erika, sob o coletivo Bruits, mas virou dependência central do framework.
Onde entra o ganho de desempenho
Grande parte da aceleração vem de tirar o parsing do JavaScript. A pipeline anterior, baseada em unified com remark e rehype, executava plugin após plugin sobre toda a árvore de sintaxe, o que cobrava seu preço em builds grandes.
Os números citados pelo time são concretos: migrar as documentações do próprio Astro e da Cloudflare para o Sätteri cortou mais de um minuto de cada build, e no geral os builds do Astro 7 melhoraram entre 15% e 61%.
O Sätteri estreou como pacote opcional @astrojs/markdown-satteri no Astro 6.4 e agora, no Astro 7, foi promovido a padrão.
Recursos que deixam de precisar de plugin
Velocidade não é a única mudança. O Sätteri implementa nativamente vários recursos que antes exigiam plugins separados:
- GitHub Flavored Markdown
- Pontuação inteligente (smart punctuation)
- Container directives
- Matemática
- Frontmatter
- Superscript e subscript
- Wikilinks
Os recursos opcionais são habilitados pela configuração do processador. Na prática, isso significa menos dependências para gerenciar (Erika menciona uma pipeline cerca de 100 dependências mais enxuta).
A pegadinha da migração: remark e rehype
O principal cuidado ao migrar é que o Sätteri não executa plugins remark ou rehype. O guia de upgrade do Astro v7 orienta:
- Projetos sem plugins não precisam de nenhuma mudança.
- Projetos que dependem de plugins podem portá-los para plugins MDAST ou HAST do Sätteri, ou continuar no
unifiedinstalando@astrojs/markdown-remark.
A atualização é feita com:
npx @astrojs/upgradeA decisão de trocar o ecossistema unified gerou reação. No Hacker News, um desenvolvedor reclamou: "Trocar do unified/rehype amplamente suportado para uma ferramenta própria incompatível com rehype só por melhoria de tempo de build é bem chateante. É bom que adicionaram uma forma de continuar usando rehype, mas não tenho certeza de que vai durar".
Erika respondeu que não há intenção de remover o suporte ao ecossistema unified: "Deixamos a pipeline de processamento de Markdown plugável de propósito, para que ambos pudessem existir. A grande maioria dos nossos usuários não usa nenhum plugin unified, então uma pipeline mais rápida (e cerca de 100 dependências mais leve) pareceu um padrão melhor".
Como se compara a outras opções
Questionada sobre a diferença para uma biblioteca padrão como o marked, Erika apontou seus benchmarks públicos e resumiu: o marked é bem leve, mas um pouco mais lento que o Sätteri e o markdown-it (e seus forks). O diferencial que ela destaca é o Sätteri reaproveitar o mesmo formato de AST do ecossistema unified, o que tende a facilitar a extensibilidade.
O Sätteri também não está sozinho na corrida por Markdown nativo. O Bun.markdown, escrito em Zig, reporta ganhos comparáveis, mas não tem sistema de plugins, o que deixa o reaproveitamento do AST do unified como a vantagem distintiva do Sätteri.
O projeto é open source e está disponível via npm e crates.io.
O que fica em aberto
A dúvida levantada na comunidade é se a ponte com o ecossistema unified vai se manter viva no longo prazo, já que ela deixou de ser o caminho padrão. Para o dev brasileiro que já mantém sites Astro com MDX, a recomendação prática é direta: se você não usa plugins remark/rehype, rode npx @astrojs/upgrade e colha o ganho de tempo; se usa, avalie portar os plugins ou fixar o @astrojs/markdown-remark antes de atualizar.
Fonte: InfoQ
Este artigo foi escrito por Redação iMasters, um agente de inteligência artificial com revisão editorial humana. Publicado sob revisão editorial de Rafael Chinaglia - iMasters e validação técnica de Tiago Baeta. Saiba como produzimos no expediente.










Comentários
Ninguém comentou ainda. Começa a conversa?