
npm
por npm
As npm Ferramentas para Desenvolvedores oferecem o maior registro de pacotes JavaScript do mundo, com mais de 2,5 milhões de opções. Gerencie dependências, hospede pacotes privados e automatize a verificação de vulnerabilidades de segurança para acelerar seus ciclos de desenvolvimento de software. Ideal para equipes que buscam controle, segurança e eficiência na construção de aplicações modernas com Node.js.
Distribuição de Avaliações
npm é bom para automação? Review real
Depois de anos gerenciando dependências na Nodewave entre frameworks modernos e automação pesada, posso dizer com segurança que o npm vale a pena na maior parte do tempo, mas não é uma relação perfeita. Uso o npm para absolutamente tudo aqui: Next.js, React, Puppeteer, scripts de build. A consistência que ele entrega é real, mas algumas dores de crescimento me fazem questionar se é sempre a melhor escolha. É um daqueles casos onde o que ganhamos em maturidade, perdemos em agilidade em certos cenários. Os pontos fortes que me mantêm no npm A previsibilidade do npm é inegável. Quando estamos lidando com um ecossistema que mistura componentes de front-end com automações de navegador como o Puppeteer, a última coisa que quero é um gerenciador que resolva dependências de forma imprevisível. O npm mantém a árvore de pacotes organizada de forma consistente, garantindo que as versões definidas no package.json sejam exatamente as que rodam em produção. Na Nodewave, essa confiabilidade é o que nos permite dormir tranquilos. Além disso, a padronização que o npm impõe é um trunfo enorme: qualquer novo desenvolvedor que entra já conhece os comandos básicos, reduzindo o tempo de integração. Usamos scripts personalizados para pipelines de exportação, testes e builds, tudo centralizado. Essa uniformidade evita conflitos de lock file e discussões intermináveis sobre ferramentas. Para times que priorizam consistência, o npm é um porto seguro. Onde o npm ainda deixa a desejar Mas nem tudo são flores. O tamanho do node_modules em projetos grandes é assustador, já vi repositórios incharem mais de 500 MB com dependências aninhadas. E o tempo de instalação em ambientes de CI/CD, especialmente sem cache, é significativamente maior que alternativas como pnpm ou Yarn PnP. Outro ponto: a resolução de conflitos de dependências às vezes é silenciosa demais, instalando versões duplicadas que inflam o bundle final. Em uma ocasião, uma atualização de biblioteca quebrou nosso pipeline de exportação porque o npm não sinalizou uma breaking change em subdependência. Tive que caçar o problema manualmente. Para quem busca máxima performance e minimalismo, o npm pode parecer pesado. Ainda assim, para o dia a dia da Nodewave, ele cumpre o papel, desde que a gente entenda suas limitações e monitor e ativamente a saúde do projeto. No balanço final, o npm vale a pena como ferramenta consolidada, mas não é a solução mágica para todos os cenários. Se você trabalha com equipes grandes, projetos legados ou precisa de instalações ultrarrápidas em CI, vale considerar alternativas. Mas para quem busca um gerenciador previsível, bem documentado e com suporte massivo da comunidade, o npm continua sendo uma aposta sólida. Uso ele todos os dias e, mesmo com as ressalvas, não planejo trocar tão cedo.
npm é bom? Análise sincera
Quando comecei a trabalhar com distribuição de ferramentas de linha de comando, a primeira opção que me veio à mente foi o npm. Afinal, é o ecossistema mais consolidado para JavaScript e Node.js. Mas, depois de meses usando essa ferramenta para publicar e gerenciar pacotes CLI, desenvolvi uma visão mista sobre o assunto. Minha intenção aqui é compartilhar essa experiência de forma sincera, mostrando os pontos que funcionaram bem e aqueles que me fizeram questionar se realmente vale a pena seguir por esse caminho. Por que escolhi npm para distribuir CLI A decisão de usar o npm surgiu naturalmente, já que a maior parte do meu código era escrito em Node.js. A integração com o registro público é simples: um `npm init` e `npm publish` resolvem a publicação. Além disso, a familiaridade com o `package.json` e o gerenciamento de dependências fez com que a curva de aprendizado fosse quase zero. Para um desenvolvedor que já está imerso no ecossistema JavaScript, o npm parece a escolha óbvia. A comunidade ativa e a disponibilidade de scripts de instalação globais tornam a distribuição rápida. No entanto, com o tempo, percebi que essa facilidade vinha acompanhada de armadilhas. Os desafios que enfrentei Um dos maiores incômodos foi a gestão de permissões. Muitos usuários precisam instalar pacotes globalmente com `sudo`, o que gera problemas de segurança e conflitos de dependências. Além disso, o npm não foi originalmente projetado para distribuir binários de CLI. Embora a configuração `bin` no `package.json` funcione, a execução de dependências nativas ou binários compilados pode ser complicada. Tive dificuldades com a portabilidade entre sistemas operacionais e a instalação de módulos que exigiam compilação. Outro ponto é o tamanho final do pacote: como o npm inclui todas as dependências, o pacote pode ficar pesado, o que impacta a performance da instalação. Esses desafios me fizeram repensar se o npm é realmente a melhor ferramenta para todos os cenários. Vale a pena? Considerações finais Depois de pesar prós e contras, minha conclusão é que o npm vale a pena para projetos onde a equipe já está familiarizada com Node.js e a CLI não depende de binários nativos complexos. Para scripts simples e ferramentas de automação, a facilidade de deploy e a ampla adoção justificam o uso. Porém, para distribuir ferramentas que exigem alto desempenho ou compatibilidade multiplataforma, alternativas como Homebrew, Snap ou até mesmo pacotes standalone podem ser mais adequadas. No fim, a decisão depende do público-alvo e da complexidade técnica. Se o seu foco é rapidez e comunidade, npm é uma escolha sólida. Mas, se a robustez e a simplicidade para o usuário final são prioridade, vale explorar outras opções. Minha experiência me ensinou que não existe bala de prata, e cada projeto exige uma análise cuidadosa.
npm é bom para segurança? Review real
Não diria que o npm é perfeito, mas ele resolve um problema real no meu dia a dia. Para decidir se o npm vale a pena, precisei pesar a praticidade de instalar bibliotecas com um comando contra as dores de cabeça que aparecem de vez em quando. Como desenvolvedor que publica pacotes e mantém projetos legados, aprendi que a ferramenta é indispensável, mas não sem suas frustrações. A instalação via `npm i -g codebuff` é rápida, sim, mas já enfrentei conflitos de dependências que me fizeram perder horas. É uma relação de amor e ódio, e é por isso que minha nota é mista. Quando o npm facilita e quando ele atrapalha A parte boa do npm aparece na hora de integrar bibliotecas de terceiros ao meu ambiente. A simplicidade de rodar `npm i -g codebuff` e ter a ferramenta pronta globalmente em segundos é um dos maiores atrativos. Não preciso gastar tempo configurando caminhos ou variáveis de ambiente, o que acelera meu fluxo de trabalho. Para equipes, o arquivo `package.json` realmente elimina aquele problema clássico de na minha máquina funciona, desde que todos estejam usando a mesma versão do Node. Porém, quando você lida com projetos grandes, o `npm install` pode demorar uma eternidade. Sem contar que, em atualizações recentes, a questão de segurança virou uma preocupação constante, um pacote desatualizado pode contaminar toda a cadeia. Esses gargalos me fazem pensar se a praticidade compensa o risco em certos contextos. Ainda assim, para prototipagem rápida e projetos de médio porte, o npm cumpre o papel. O problema é quando o ecossistema cresce e as dependências viram uma teia emaranhada; aí o gerenciador mostra suas limitações. Minha dica é: use com moderação, revisando sempre as versões das bibliotecas. Publicar pacotes com npm: o que funciona e o que sinto falta Publicar meus próprios pacotes no registro do npm é uma experiência mista. Por um lado, o processo de versionamento é intuitivo, basta rodar `npm version patch` e `npm publish` para enviar uma nova versão. Isso me dá um histórico claro e controle sobre o ciclo de vida do software. A possibilidade de monitorar métricas de download e saber como a comunidade está usando meus pacotes é um feedback valioso. Por outro lado, sinto falta de ferramentas nativas mais robustas para linting de pacotes e testes automatizados no momento da publicação. Já publiquei uma versão com um bug que passou batido porque não havia checagem automática; tive que corrigir com uma versão patch às pressas. Além disso, a interface web do npm poderia ser melhor organizada para gerenciar permissões e times, especialmente em projetos corporativos. Comparado com alternativas como Yarn, o npm ganha na ubiquidade, todo desenvolvedor Node.js tem ele instalado, mas perde em confiabilidade em cenários de alta complexidade. Para projetos de código aberto, ainda é a plataforma principal, mas não sem ranhuras. No fim, minha relação com o npm é de utilidade cotidiana com ressalvas. Ele não é o herói que resolve todos os problemas, mas é a ferramenta que está ali quando você precisa. Se você busca simplicidade e ecossistema maduro, vale a pena; se precisa de performance e segurança extremas, talvez combine com outras soluções. O equilíbrio é a chave.
npm é bom para dados? Review real
Se você está pensando em adotar o npm e quer saber se realmente vale a pena, minha resposta é sim, mas com algumas ressalvas importantes. Trabalho com ele há anos, tanto em projetos pessoais quanto no Codebuff, e posso afirmar que ele simplifica muito a gestão de dependências e a publicação de pacotes. Por outro lado, não é uma ferramenta perfeita: já tive dores de cabeça com conflitos de versão e vulnerabilidades que exigem atenção constante. Ainda assim, o npm vale a pena porque entrega um ecossistema maduro e uma comunidade gigantesca que torna a maioria dos problemas fácil de resolver. Deploy simplificado com o npm: a rotina no Codebuff Uma das maiores vantagens que percebi foi a facilidade de publicar e instalar pacotes. No Codebuff, nossa equipe precisava distribuir atualizações frequentes sem complicação, e o npm transformou isso em um comando só: `npm i -g codebuff`. Isso eliminou horas de suporte técnico que gastávamos explicando instalações manuais. A simplicidade do workflow de deploy é realmente impressionante, especialmente para quem vem de ambientes onde cada release exige scripts complexos ou integrações manuais com repositórios. O npm cuida do versionamento de forma automática, permitindo que a gente selecione entre latest, beta ou uma versão específica, o que dá controle sem burocracia. Porém, notei que quando o projeto cresce, o gerenciamento de dependências pode se tornar um labirinto. Já enfrentei situações em que um pacote secundário quebrava todo o ambiente por causa de uma atualização inesperada. É aí que o `package-lock.json` salva, mas não resolve todos os problemas. Métricas de uso: o que o npm revela sobre seus pacotes Outro ponto que me fez manter o npm nos meus projetos foi a visibilidade que ele oferece sobre o alcance dos pacotes. Pelo dashboard do npm, consigo ver o número de downloads ao longo do tempo, o que me ajuda a entender como a comunidade está adotando as ferramentas que publico. No Codebuff, essas métricas foram essenciais para decidir quais funcionalidades priorizar e quais bugs corrigir primeiro, dados concretos em vez de suposições. A transparência também facilita a colaboração com outros desenvolvedores, já que todos sabem exatamente qual versão está sendo usada e como o pacote está evoluindo. No entanto, sinto falta de métricas mais detalhadas, como taxa de retenção por versão ou dados sobre erros de instalação. O npm oferece o básico, mas quem precisa de analytics profundos acaba recorrendo a ferramentas externas. Ainda assim, para a maioria dos casos, o que ele entrega já é suficiente para guiar decisões de desenvolvimento. Entrega contínua e integração com CI/CD Um dos motivos pelos quais continuo usando o npm é a integração impecável com pipelines de CI/CD. Na nossa stack, configurar o npm como parte do fluxo de build e deploy foi direto: basta adicionar `npm publish` no script e pronto. A compatibilidade com ferramentas como GitHub Actions, GitLab CI e Jenkins é excelente. Isso torna a entrega contínua algo realmente fluido, sem necessidade de scripts customizados para cada plataforma. Por outro lado, a segurança ainda é um ponto de atenção: já precisei auditar dependências com `npm audit` e lidar com vulnerabilidades críticas que exigiam atualizações imediatas. É um trabalho extra que não pode ser ignorado, mas que o próprio npm facilita com comandos nativos. Balanço final: o npm no meu dia a dia Apesar das falhas que mencionei, o npm continua sendo uma ferramenta indispensável no meu workflow. A curva de aprendizado é baixa, o ecossistema é vasto e a comunidade responde rápido a problemas comuns. Não é a ferramenta mais moderna, concorrentes como o Yarn ou o pnpm oferecem vantagens em performance e segurança, mas para quem busca estabilidade e compatibilidade com praticamente todos os projetos JavaScript, o npm cumpre bem o papel. Minha recomendação final é: se você precisa de um gerenciador de pacotes confiável e com suporte massivo, o npm vale a pena, desde que esteja disposto a gerenciar os riscos de dependências e a manter as atualizações em dia.
npm é bom para produtividade? Review real
Não é segredo que o npm domina o ecossistema JavaScript, mas será que realmente vale a pena? Após meses utilizando a ferramenta para desenvolver e publicar o Codebuff, minha resposta é: sim, mas com ressalvas. O npm cumpre bem o papel de gerenciar dependências e distribuir pacotes, porém alguns pontos me deixaram com um pé atrás. Se você busca uma solução madura e amplamente adotada, o npm vale a pena, mas esteja preparado para lidar com algumas arestas que ainda existem. A praticidade do npm na publicação de pacotes Quando decidimos lançar o Codebuff, a escolha do npm foi natural. O comando `npm i -g codebuff` realmente simplifica a instalação para o usuário final, e isso é um diferencial enorme. Em segundos, qualquer pessoa com Node.js pode rodar nossa ferramenta, sem precisar baixar binários ou configurar variáveis de ambiente. O fluxo de versionamento também é intuitivo: com `npm version` e `npm publish`, conseguimos lançar atualizações frequentes sem complicação. As métricas de download e dependências que o registro oferece dão uma visão clara da adoção do projeto. No entanto, senti falta de recursos mais avançados de segurança. O npm audit ajuda, mas ainda é reativo, você descobre vulnerabilidades depois que o pacote já está publicado. Para projetos críticos, isso exige uma camada extra de verificação manual. Onde o npm deixa a desejar no dia a dia Apesar da facilidade de uso, o npm tem problemas que incomodam qualquer desenvolvedor experiente. O tamanho do `node_modules` é um deles: projetos com muitas dependências rapidamente consomem giga bytes de espaço, e a instalação limpa pode levar minutos. O `package-lock.json` é uma bênção para consistência entre máquinas, mas também gera conflitos chatos em merges de branches. Outro ponto é a questão de segurança: o ecossistema é tão aberto que pacotes maliciosos ou desatualizados aparecem com frequência. Já precisei substituir bibliotecas populares por alternativas mais enxutas para evitar riscos. Para times grandes, a falta de um sistema de permissões granular no registro público também limita o controle sobre quem publica o que. Esses fatores me fazem pensar duas vezes antes de recomendar o npm cegamente para todos os cenários. O equilíbrio entre produtividade e bagagem No fim, a escolha do npm se resume a um trade‑off. A produtividade inicial é imensa: você encontra uma biblioteca para praticamente qualquer funcionalidade e a integra em minutos. Scripts de build, testes e lint rodam sem esforço graças à integração com o Node.js. Mas essa facilidade vem com uma bagagem técnica que precisa ser gerenciada. Em projetos menores ou protótipos, o npm brilha. Em sistemas legados ou com dezenas de dependências, a manutenção se torna custosa. A chave é adotar boas práticas: usar um lock file, auditar regularmente e evitar depender de pacotes com manutenção duvidosa. Se você faz isso, o npm continua sendo uma ferramenta valiosa. Minha experiência com ele me mostrou que não existe bala de prata, mas, para o ecossistema JavaScript, o npm ainda é a opção mais prática, mesmo com seus defeitos.
npm é bom mesmo? Review de uso
Para quem me pergunta se o npm vale a pena, minha resposta é sim, mas com ressalvas. Durante o desenvolvimento do cloud.supercfd.com, o npm mostrou ser um gerenciador de pacotes confiável e com ecossistema vasto, mas também enfrentei limitações que me fizeram questionar se ele é sempre a melhor escolha. Se você busca simplicidade e compatibilidade universal, o npm funciona bem, mas é preciso estar preparado para lidar com dependências volumosas e atualizações que podem quebrar o ambiente se não houver cuidado. A publicação de pacotes com npm: elegante, mas não isenta de problemas Quando decidimos distribuir o Codebuff no npm, a experiência foi incrivelmente simples. Bastou executar `npm i -g codebuff` e pronto, qualquer usuário podia instalar nossa ferramenta de linha de comando. A facilidade de publicar e versionar bibliotecas é, sem dúvida, um dos pontos altos do npm. Consegui disponibilizar novas versões rapidamente, e o controle de versões semânticas ajudou a manter a compatibilidade. No entanto, notei que a árvore de dependências cresce rápido demais. Um pacote simples puxava dezenas de outros, inflando o `node_modules` e consumindo espaço em disco de forma preocupante. Em projetos maiores do cloud.supercfd.com, o tempo de `npm install` começou a pesar, e precisei adotar o cache e o lock file para não perder produtividade. Para uma equipe pequena como a minha, ainda é funcional, mas não posso ignorar que existem alternativas mais leves. Onde o npm fica aquém: dependências, segurança e desempenho Outro ponto que me deixou com um pé atrás foi a questão da segurança. Embora o registro do npm seja confiável em termos de disponibilidade, a quantidade de pacotes desatualizados ou com vulnerabilidades conhecidas é alarmante. Em um dos sprints do cloud.supercfd.com, o `npm audit` listou mais de vinte problemas críticos em dependências indiretas. Resolver isso levou horas entre atualizações de versão e substituições de pacotes. Além disso, a performance do npm em projetos grandes deixa a desejar. Comparado ao pnpm, que vi colegas usando, o npm é significativamente mais lento ao instalar dependências e ao rodar scripts. Para um time que preza por agilidade, essa diferença se acumula ao longo do dia. Não estou dizendo que o npm é ruim, ele é funcional e amplamente adotado, mas longe de ser impecável. Por que continuo usando o npm mesmo com as críticas Apesar das limitações, o npm segue sendo minha escolha padrão para boa parte dos meus projetos. A razão principal é a integração nativa com o Node.js e a documentação vasta. Quando um novo desenvolvedor entra na equipe, ele já conhece os comandos básicos do npm, o que reduz a curva de aprendizado. A comunidade também é enorme, então é raro ficar preso em um bug sem solução. No cloud.supercfd.com, a estabilidade do registro nunca me deixou na mão, e o ecossistema de scripts e hooks do npm ajudou a automatizar tarefas repetitivas. No fim, o npm cumpre o papel de gerenciador de pacotes, mas não é a ferramenta mais moderna ou eficiente. Ele é o padrão de mercado, e isso conta muito para times que não querem complicação extra. Se você está avaliando se o npm vale a pena, minha sugestão é: teste com seu próprio projeto. Para fluxos simples de JavaScript, ele é mais que suficiente. Para projetos com muitas dependências ou times grandes, considere alternativas como pnpm ou yarn, que podem oferecer melhor desempenho e segurança. Minha experiência com o npm no cloud.supercfd.com foi funcional, mas não excelente. Continuo usando porque a praticidade vence, mas com os olhos abertos para os pontos fracos.
npm é bom para devs? Review real
Quando comecei a trabalhar com Node.js, a primeira ferramenta que instalei foi o npm. Hoje, depois de anos usando esse gerenciador de pacotes, consigo responder com clareza se o npm vale a pena. Minha relação com ele tem altos e baixos, e neste artigo vou compartilhar o que realmente amei e o que me incomodou ao longo do tempo. O que me fez amar o npm O que mais me conquistou no npm é a facilidade de gerenciar dependências. Comandos simples como npm install e npm update resolvem grande parte da complexidade de manter um projeto. A comunidade é enorme, e qualquer biblioteca que eu precise está a poucos comandos de distância. Além disso, o npm scripts é uma funcionalidade que uso diariamente: consigo automatizar builds, testes e deploys sem precisar de ferramentas externas. Para quem quer agilidade no desenvolvimento, o npm vale a pena sim. Outro ponto que me encanta é a integração com o ecossistema JavaScript. Seja para front-end, back-end ou ferramentas de linha de comando, o npm funciona como um hub centralizado. Posso publicar meus próprios pacotes e compartilhar com o mundo. A segurança melhorou muito com o npm audit, que identifica vulnerabilidades automaticamente. Por essas razões, acredito que o npm vale a pena para qualquer desenvolvedor que busca produtividade. O que me incomoda no npm Apesar dos benefícios, existem irritações que não posso ignorar. O principal é o tamanho da pasta node_modules. Projetos simples acumulam milhares de arquivos, o que consome espaço em disco e torna a clonagem de repositórios lenta. Já perdi horas esperando instalações completas. Outro incômodo é a inconsistência de versões. Mesmo com lock files, às vezes as dependências quebram de forma inesperada, gerando erros difíceis de rastrear. Para projetos maiores, o npm vale a pena? Às vezes fico na dúvida, pois o gerenciamento de resolução de dependências pode ser frustrante. Além disso, sinto que o npm poderia ser mais rápido. O yarn e o pnpm mostraram que é possível ter performance superior sem perder compatibilidade. Embora o npm tenha evoluído com o npm ci e cache local, ainda sinto que o tempo de instalação poderia ser melhor. E a interface de linha de comando, embora funcional, tem mensagens de erro que poderiam ser mais claras. Esses pontos fazem eu questionar se o npm vale a pena em cenários de alta exigência. Conclusão: npm vale a pena? No balanço geral, acredito que o npm vale a pena para a maioria dos desenvolvedores. A praticidade de ter um repositório unificado e a vasta quantidade de pacotes disponíveis superam os incômodos que mencionei. Para projetos pessoais ou de pequeno e médio porte, os benefícios são claros. Porém, para times grandes ou aplicações críticas, talvez valha a pena considerar alternativas ou complementar com ferramentas de cache e monorepos. Minha recomendação é experimentar e ver se o estilo de trabalho do npm se adapta às suas necessidades. Se você prioriza ecossistema e comunidade, o npm vale a pena. Se busca performance máxima em instalações, talvez queira testar outras opções. De toda forma, minhas experiências positivas superam as negativas, e continuo usando o npm como meu gerenciador principal. Espero que esse relato ajude você a decidir se o npm vale a pena no seu dia a dia.
npm preço: vale o investimento?
Custo-benefício foi o filtro desta análise do npm: o que paguei contra o que recebi. Minha relação com o npm é de altos e baixos, mas acredito que o npm vale a pena para quem precisa publicar bibliotecas como o Codebuff. No entanto, não é só flores: lidei com dependências quebradas, lentidão em projetos grandes e uma sensação constante de que a ferramenta poderia ser mais enxuta. Ainda assim, o ecossistema tem pontos que realmente fazem diferença, e é sobre isso que quero falar aqui. Publicar o Codebuff foi rápido e direto Quando desenvolvemos o Codebuff, nosso objetivo era que outros desenvolvedores pudessem testá‑lo sem burocracia. O npm entregou exatamente isso: o processo de publicação de novas versões é fluido, e o comando `npm i -g codebuff` funciona perfeitamente para instalação global, removendo barreiras de entrada. A facilidade de versionamento é outro acerto, com um simples `npm version patch`, o pacote é atualizado e publicado em segundos. Além disso, as estatísticas de download no site do npm nos deram visibilidade sobre como a comunidade está adotando a ferramenta, o que ajudou a priorizar features no roadmap. Para mim, essa parte é o ponto mais forte da plataforma: o foco em distribuição de código para terceiros funciona bem e poupa tempo que gastaríamos montando nossa própria infra. Os problemas que me fizeram repensar o uso do npm Agora, nem tudo são flores. Gerenciar dependências em projetos maiores se tornou um pesadelo em alguns momentos. O `node_modules` incha sem controle, e a resolução de conflitos de versões gera dores de cabeça que consomem horas de debugging. Também enfrentei vulnerabilidades de segurança em pacotes indiretos, mesmo com o `npm audit` alertando sobre elas. A lentidão nas instalações em projetos com centenas de pacotes é frustrante, especialmente quando comparo com alternativas como pnpm ou yarn. Outro ponto é que, por ser um padrão da indústria, o npm acaba arrastando consigo práticas legadas que nem sempre são as melhores. Eu gostaria de ver mais transparência sobre o custo real de manter esse ecossistema, e menos sobrecarga de scripts de automação que tornam o `package.json` um arquivo poluído. Apesar desses problemas, devo reconhecer que a consistência entre máquinas é um ganho real para equipes: o famoso “na minha máquina funciona” diminui drasticamente quando todos usam o mesmo gerenciador. A clareza do `package.json` também ajuda a documentar dependências de forma explícita. Mesmo com os defeitos, o npm cumpre o papel de ser o padrão de facto para JavaScript, e para projetos como o Codebuff a escolha continua fazendo sentido. Se você precisa apenas publicar uma biblioteca e não lida com monorepos complexos, o npm ainda é uma opção sólida.