Sobre o projeto

Happy DOM é uma biblioteca JavaScript publicada no npm que implementa o modelo de objeto de documento (DOM) do navegador sem qualquer interface gráfica. Seu objetivo é fornecer ao código JavaScript um ambiente DOM semelhante ao do navegador, para que scripts e componentes que dependem de document, window e APIs web relacionadas possam ser executados fora de um navegador real. O que ele abrange O README do projeto destaca as capacidades focadas em DOM que ele implementa: - Custom Elements, ou seja, Web Components - Declarative Shadow DOM - Mutation Observer - Tree Walker - Fetch API - e, nas palavras dos mantenedores, muito mais Como esses são recursos da camada de DOM e não de renderização, a biblioteca visa o uso programático de uma página web em vez da exibição visual. Isso a torna candidata para ambientes onde um navegador completo ou um navegador headless seria mais pesado do que o necessário. Com o que funciona A documentação lista um amplo conjunto de ferramentas e frameworks com os quais o projeto afirma ser compatível: - Executores de teste e utilitários de teste: Vitest, Jest, Bun, Testing Library - Frameworks e bibliotecas de componentes: Google LitElement, Vue, React, Svelte, Angular Essa gama sugere que a biblioteca está posicionada menos como um aplicativo independente e mais como um substrato de DOM compartilhado sob outras ferramentas, particularmente configurações de teste de front-end. O README vincula diretamente a uma página de wiki sobre como configurá-lo como um ambiente de teste. Documentação e comunidade O projeto mantém uma wiki no GitHub com um ponto de entrada de documentação, uma página de início rápido e um guia dedicado de configuração como ambiente de teste. Um guia de contribuição está disponível no repositório para pessoas que desejam enviar alterações. O README também reconhece patrocinadores, cujos logotipos são exibidos na página do projeto. Detalhes do projeto - Linguagem e ecossistema: JavaScript, distribuído via npm como happy-dom - Licença: Licença MIT, copyright de 2019 até o presente, detido por David Ortner - Repositório: capricorn86/happy-dom Para quem pode ser indicado Desenvolvedores que desejam executar testes ou executar código dependente de DOM em fluxos de trabalho baseados em Node.js ou Bun, sem iniciar um navegador gráfico, são o público natural. Equipes que utilizam um dos executores de teste ou frameworks listados podem achar válido avaliá-lo como um ambiente de DOM. Como acontece com qualquer dependência deste tipo, o teste prático é se os recursos específicos de DOM nos quais seu código confia são cobertos e se comportam como esperado nesta implementação. O próprio README não faz afirmações sobre desempenho, benchmarks ou completude além dos recursos listados, portanto, estes devem ser verificados diretamente na documentação atual e na suíte de testes do projeto.