Hacker News Digest

05 октября 2026 г. в 22:30 • dbushell.com • ⭐ 314 • 💬 234

Original • HN

#deno#fnm#hono#node.js#pnpm#sveltekit#tsdown#typescript

Friendship ended with Deno, now Node is my best friend

Node.js претерпел значительные улучшения: теперь поддерживает весь современный ECMAScript, включая нативную работу с TypeScript без require(), а устаревшие API заменены на более удобные и стандартизированные интерфейсы. Автор вернулся к Node после длительного использования Deno и был приятно удивлён тем, насколько платформа стала приятной в использовании — особенно после миграции проекта на SvelteKit, где сборки стали на 15% быстрее даже без полной оптимизации под Node-specific API.

Для управления версиями и пакетами он выбрал FNM и PNPM, настроив алиасы npm=pnpm и npx=pnpx для совместимости с гайдами, а также добавил в pnpm-workspace.yaml политики minimumReleaseAge: 1440 и trustPolicy: no-downgrade, чтобы откладывать обновления и избегать потенциально вредоносных пакетов — мера, продиктованная недоверием к NPM из-за его истории с post-install скриптами и угрозами безопасности. Что касается TypeScript, Node запрещает stripping типов внутри node_modules по философским причинам — чтобы не поощрять публикацию пакетов на TypeScript и избежать "засорения" экосистемы продуктами Microsoft, поэтому автор использует Tsdown для сборки.

Миграция с Deno оказалась простой: замена Deno.serve на Hono с node-адаптером, Deno.fs на node:fs, а @std/path на node:path — и всё заработало. Несмотря на ностальгию по Deno, автор констатирует его упадок: runtime потерял инновационный drive, стал жертвой стартап-культуры, а проблемы с JSR (429 ошибки), ZSH-интеграцией и конкуренцией в HTTP-запросах сделали его непригодным для daily use. В итоге Deno удалён через brew uninstall deno, а Node стал новым "лучшим другом" — не потому что идеален, но потому что наконец-то стал достаточно хорош, чтобы им пользоваться без страданий.