Best of Node.jsNovember 2025

  1. 1
    Article
    Avatar of hnHacker News·23w

    Why we migrated from Python to Node.js

    A startup rewrote their backend from Python/Django to Node.js/Express one week after launch due to Python's async limitations. The team struggled with Django's incomplete async support, colored functions problem, and the need for constant sync/async conversions. Despite losing Django's ergonomic ORM, they gained 3x throughput, unified their codebase with their existing Node worker service, and improved code maintainability. The three-day migration was driven by concerns about scalability and code quality rather than immediate load issues.

  2. 2
    Article
    Avatar of collectionsCollections·21w

    Enhancing Gemini CLI: Interactive and Polished Experience

    Gemini CLI versions 0.9.0 and 0.15.0 introduce major improvements to terminal interaction and user experience. Version 0.9.0 adds pseudo-terminal (PTY) support using node-pty, enabling interactive commands like vim and git rebase to run directly in the CLI with full terminal state streaming and two-way interaction. Version 0.15.0 focuses on UI polish with mouse support, persistent headers, stable input positioning, and elimination of visual glitches like screen flicker and bouncing prompts. These updates transform the CLI into a more sophisticated, visually refined tool with improved terminal resizing and accessible chat history.

  3. 3
    Article
    Avatar of nodejsNode.js·22w

    Node.js — Node.js v24.11.1 (LTS)

    Node.js v24.11.1 (LTS) has been released, addressing a critical issue where Buffer.allocUnsafe was incorrectly zero-filling buffers instead of returning uninitialized memory as documented. The release includes numerous fixes and improvements across benchmarks, build system, dependencies (npm upgraded to 11.6.2, corepack to 0.34.2), documentation, HTTP/HTTP2, inspector, module system, testing framework, and tooling. Additional changes include root certificate updates to NSS 3.116, Visual Studio workload upgrade from 2019 to 2022, and various performance optimizations.

  4. 4
    Article
    Avatar of platformaticPlatformatic·20w

    kafka 223% Faster (And What We Learned Along the Way)

    Platformatic improved their Kafka client for Node.js by 223% after discovering their benchmark methodology was flawed. By fixing measurement issues (per-operation timing, proper delivery tracking, larger sample sizes), they identified real bottlenecks including CRC32C computation, error handling, and metadata request bugs. Key optimizations included switching to native Rust CRC32C implementation, refactoring async error handling, and fixing connection handling. The pure JavaScript implementation now achieves 92,441 op/sec for single messages and 159,828 op/sec for consumption with <2% variance, outperforming native librdkafka bindings by avoiding cross-boundary overhead while maintaining minimal buffer copying and non-blocking event loop usage.

  5. 5
    Article
    Avatar of bunBun·21w

    Bun v1.3.3

    Bun v1.3.3 fixes 95 issues and introduces several new features. Key additions include CompressionStream and DecompressionStream APIs with support for gzip, deflate, brotli, and zstd formats. Standalone executables now support flags to disable automatic .env and bunfig.toml loading. The test runner gains retry and repeats options for handling flaky tests. A new --no-env-file flag allows disabling automatic environment file loading. SQLite has been upgraded to version 3.51.0, and the runtime now uses Zig 0.15.2. The release includes numerous bug fixes across the bundler, package installer, Windows support, Node.js compatibility, Web APIs, networking, YAML parsing, and TypeScript definitions.

  6. 6
    Article
    Avatar of typescripttvTypeScript.TV·23w

    Why TypeScript Enums Are Dead

    Node.js v22.6.0+ introduced native TypeScript support through type-stripping, but traditional enums break this workflow because they require code transformation rather than simple type erasure. The solution is using 'as const' objects or type unions instead, which provide the same functionality while remaining fully compatible with Node's erasable-only approach. TypeScript 5.8's --erasableSyntaxOnly flag helps catch compatibility issues during development.

  7. 7
    Article
    Avatar of ergq3auoeReinier·19w

    Build a Massive E-Commerce Store with React Native

    A comprehensive tutorial for building a full-stack e-commerce mobile application using React Native and Expo. Covers authentication with Clerk (Google and Apple sign-in), Stripe payment integration, cart and checkout functionality, and an admin dashboard for managing products, orders, and customers. The backend is built with Node.js and Express, featuring role-based authentication, background jobs with Inngest, and Sentry monitoring. Includes deployment guidance and demonstrates professional development practices like Git workflows and automated code reviews.

  8. 8
    Article
    Avatar of appsignalAppSignal·22w

    Diving Into Reactive Programming in Node.js

    Reactive programming treats data streams as first-class citizens, allowing code to automatically respond to data changes. While Node.js doesn't natively support this paradigm, libraries like RxJS and Bacon.js enable it through core concepts including Observables, Observers, Subscriptions, Operators, and Subjects. The approach offers enhanced scalability, reduced coupling, and improved fault tolerance for event-driven architectures, though it introduces complexity and debugging challenges. RxJS dominates the ecosystem with 68 million weekly downloads, supporting both cold and hot observables with extensive operators for transforming data streams. Compared to imperative programming's explicit instructions, reactive programming declaratively describes what should happen in response to events, making it particularly valuable for handling complex asynchronous workflows in microservices and real-time systems.

  9. 9
    Article
    Avatar of nodejsNode.js·21w

    Node.js — Node.js v25.2.1 (Current)

    Node.js v25.2.1 has been released, reverting a spec-compliant behavior change that threw errors on localStorage access. The team determined this breaking change was too disruptive for a semver-minor release and postponed it to version 26.0.0. The release includes fixes for RSA-PSS saltLength defaults in crypto, a V8 backport, and clarifications on the experimental status of Web Storage support.

  10. 10
    Article
    Avatar of typescripttvTypeScript.TV·23w

    You Don't Need dotenv Anymore

    Node.js v20.6.0 introduced native support for loading environment variables from .env files, eliminating the need for the dotenv package. Developers can now use the built-in loadEnvFile function from node:process or the --env-file CLI flag to manage environment variables without external dependencies. The native solution supports multiple files with override capabilities, and can be enhanced with dotenv-defaults for better developer experience through default value management.

  11. 11
    Article
    Avatar of itsfossIt's Foss·23w

    I Used Instagram from the Linux Terminal. It’s Cool Until It’s Not.

    Instagram-CLI is a terminal-based Instagram client that limits functionality to messages, notifications, and following feed to reduce doomscrolling. It supports text messaging, file uploads, reactions, and multiple image rendering protocols (ASCII, Kitty, Sixel). Installation is available via npm or pip. The tool helps manage screen time while maintaining social connectivity, though it may risk account flagging due to Meta's policies against unofficial clients.

  12. 12
    Article
    Avatar of bunBun·23w

    Bun v1.3.2

    Bun 1.3.2 fixes 287 issues and restores hoisted installs as the default for existing workspaces while keeping isolated installs for new projects. The release introduces CPU profiling with --cpu-prof flag, faster installs for packages with post-install scripts, and a new onTestFinished hook for bun:test. Notable improvements include better Git dependency resolution, ServerWebSocket subscriptions getter, Alpine 3.22 in Docker images, and a bun list alias. The update addresses numerous bugs across install, HTTP/HTTPS, N-API, testing, bundling, and runtime, with significant Node.js compatibility improvements and fixes for spawnSync, module resolution, and Web Crypto.

  13. 13
    Article
    Avatar of eslintESLint·22w

    ESLint v10.0.0-alpha.0 released

    ESLint v10.0.0-alpha.0 introduces major breaking changes including dropping support for Node.js versions below v20.19.0, complete removal of the eslintrc configuration system in favor of flat config, and a new configuration file lookup algorithm that starts from each linted file's directory. The release updates the recommended configuration, removes deprecated rule context methods and properties, changes how Program AST node ranges work, and requires jiti v2.2.0 or higher for TypeScript configs. A migration guide is available to help users navigate the transition from v9.x.

  14. 14
    Article
    Avatar of newstackThe New Stack·23w

    JavaScript Utility Library Lodash Changing Governance Model

    Lodash, the widely-used JavaScript utility library with 2.57 billion weekly npm downloads, is transitioning from single-maintainer governance to a Technical Steering Committee model under the OpenJS Foundation. Next.js introduces file system caching for development and open sources its evals for AI agents. TanStack Start launches a $140,000 hackathon running through November 17. Deno Deploy receives a complete rebuild with integrated CI/CD, Postgres support, and automatic observability. Vercel releases the Workflow Development Kit in public beta, a TypeScript framework for building durable applications using declarative directives, alongside Agent Investigations for intelligent monitoring.

  15. 15
    Video
    Avatar of codeheadCodeHead·23w

    How To Host n8n For Free FOREVER

    Learn how to self-host n8n automation tool completely free using two methods: npm installation with Node.js or Docker Desktop. Both approaches allow you to run n8n locally on your machine with access to paid features through a free license, eliminating subscription costs for workflow automation.

  16. 16
    Article
    Avatar of hnHacker News·23w

    samrolken/nokode

    An experimental web server that replaces all application logic with an LLM making real-time decisions. Instead of writing code for routes, controllers, or business logic, the system gives an AI three tools (database queries, HTTP responses, and memory updates) and lets it handle every request dynamically. The proof-of-concept contact manager works but runs 300-6000x slower and costs 100-1000x more than traditional apps, with consistency issues from lack of design memory. Despite severe performance limitations, the experiment demonstrates that LLMs can successfully handle full application logic, suggesting current bottlenecks are engineering challenges rather than fundamental capability gaps.

  17. 17
    Video
    Avatar of fireshipFireship·20w

    The internet’s forgotten protocol…

    HTTP status code 402 (payment required) is being revived through X42, a new protocol by Coinbase that enables zero-fee micropayments for API requests. The protocol simplifies monetization by eliminating traditional payment processors' fees and complexity, requiring just one line of middleware code in Node.js. It supports instant, frictionless transactions using cryptocurrency and stablecoins, enabling machine-to-machine payments and AI agent economies. The implementation allows both user-facing wallet payments and programmatic transactions for automated systems.