Back to news
backend Priority 4/5 4/28/2026, 11:05:13 AM

Node.js v22.14.0 LTS Released with Synchronous Require of ES Modules Enabled by Default

Node.js v22.14.0 LTS Released with Synchronous Require of ES Modules Enabled by Default

Node.js v22.14.0 LTS marks a significant milestone in JavaScript module interoperability by enabling synchronous require of ES modules by default. This change allows developers to load ES modules using the standard require function within CommonJS files without needing experimental flags. The feature is restricted to ES modules that do not contain top-level await, ensuring that synchronous execution flows are not interrupted by asynchronous logic while facilitating easier adoption of modern libraries. Alongside the module system improvements, this update includes an upgrade of the V8 engine to version 12.4.254.21 and a critical update to OpenSSL 3.0.15 for enhanced security. These enhancements provide better memory management and performance optimizations for enterprise applications running on the Long Term Support line. Developers should note that while this simplifies dependency management, testing remains essential to ensure existing module resolution logic behaves as expected under the new defaults. For engineering teams, this release reduces the friction of maintaining legacy CommonJS codebases that need to consume ESM-only packages. It effectively removes the 'dual-package hazard' for many use cases, allowing a more gradual transition to modern JavaScript standards. As a part of the LTS cycle, Node.js v22.14.0 is recommended for production environments where stability and long-term security updates are prioritized over bleeding-edge experimental features.

Related tools

Recommended tools for this topic

These picks prioritize high-intent tools relevant to this topic. Some links may include partner or affiliate tracking.

#nodejs#javascript#lts#esm

Comparison

AspectBefore / AlternativeAfter / This
ESM Loading in CJSRequires --experimental-require-module flagEnabled by default (No flag needed)
V8 Engine VersionV8 12.4V8 12.4.254.21
InteroperabilityComplex workarounds for ESM-only libsDirect require() for non-top-level-await ESM

Action Checklist

  1. Verify Node.js version using node -v to ensure upgrade to v22.14.0 Ensure your CI/CD pipelines are updated to the latest LTS
  2. Identify ESM dependencies that were previously using wrappers You can now simplify your imports by removing complex dynamic import() logic
  3. Test for top-level await in required modules Require() will throw an error if the module or its dependencies use top-level await

Source: Node.js Foundation

This page summarizes the original source. Check the source for full details.

Related