Node 18 Updated -

Node 18 reached EOL (End of Life) in April 2025. That means no more security patches. Running it today is a security risk unless your app is completely offline.

// Good import readFile from 'node:fs/promises'; // Bad (in ESM, this might break with bundlers) import readFile from 'fs'; Short answer: No for new projects. Long answer: It depends. node 18

test('asynchronous passing test', async (t) => assert.strictEqual(await Promise.resolve(2), 2); ); Node 18 reached EOL (End of Life) in April 2025

Thank Node 18 for fetch , streams, and a built-in test runner. Then leave it behind. What version of Node are you running in production right now? Let us know in the comments below. // Good import readFile from 'node:fs/promises'; // Bad

Because understanding Node 18 is the key to understanding the modern Node.js you use today. It wasn't just another release; it was a paradigm shift.

For small microservices or internal tools, Node 18's test runner eliminated configuration fatigue. No more jest.config.js , no more mocha --timeout . Just node --test and go. Streaming in Node has always been powerful but verbose. Node 18 shipped the Web Streams API as a global, matching the spec used in browsers.