Skip to main content

Command Palette

Search for a command to run...

7 Update Node.js yang Jarang Orang Tahu, Tapi Sangat Mengubah Cara Kita Ngoding (2024–2025)

Updated
4 min read
7 Update Node.js yang Jarang Orang Tahu, Tapi Sangat Mengubah Cara Kita Ngoding (2024–2025)
A

I am an enthusiastic researcher and developer with a passion for using technology to innovate in business and education.

Node.js berkembang sangat cepat dalam dua tahun terakhir. Banyak developer hanya tahu hal-hal mainstream seperti peningkatan performa, dukungan fetch, atau stabilnya Web Streams. Tapi di balik layar ada update-update yang diam-diam sangat kuat, bahkan bisa menggantikan library besar seperti dotenv atau nodemon.

Ini dia fitur Node.js terbaru yang jarang dibahas, tapi justru membuat pengalaman ngoding kita jadi lebih bersih, ringan, dan modern.


1. Native .env File Tanpa dotenv — Cuma dengan --env-file

Jarang dibahas, tapi ini game changer.

Sebelumnya:

Harus install:

npm i dotenv

Lalu import, load, dsb.

Sekarang:

Node bisa baca .env secara native, cukup dengan:

node --env-file=.env app.js

Yang tahu sedikit. Yang pakai lebih sedikit lagi.

Tanpa library tambahan. Tanpa import. Langsung masuk ke process.env.

Kapan berguna?

  • VPS kecil (hemat RAM, dependency minimal)

  • Project monolithic seperti Hono

  • Development cepat tanpa config ribet

  • Script .sh deploy yang simpel

Dan ini kompatibel penuh dengan ESM.


2. Native Watch Mode --watch yang Sudah Stabil (No Need nodemon)

Dulu: nodemon adalah dewa.
Sekarang: Node.js sudah punya penggantinya yang jauh lebih ringan.

node --watch server.js

Atau watch folder tertentu:

node --watch-path=src server.js

Apa yang bikin ini spesial?

  • Performa jauh lebih hemat dari nodemon

  • Restart cepat

  • Sudah stabil di Node 22+

  • Tidak perlu setup atau dependency tambahan

  • Bekerja sangat baik untuk ESM

Ini fitur yang diam-diam membunuh nodemon.


3. import.meta.resolve() Sudah Stabil — Pengganti Modern buat require.resolve

Di CommonJS, kita pakai:

require.resolve("some-package")

Di ESM? Dulu ribet.
Sekarang Node sudah punya versi resmi:

const resolved = import.meta.resolve("lodash");

Fitur kecil tapi mengubah:

  • Dynamic import

  • File path analysis

  • Plugin loader

  • Framework dev mode (Hono, Vite, Bun-like loader)

Developer kecil jarang sadar hal ini sekarang dipakai banyak tooling modern di balik layar.


4. Node Sekarang Bisa require() Modul ESM (dengan Syarat!)

Ini fitur gila, tapi jarang dibahas.

Node 22 memperkenalkan kemampuan:

require("esm-module");

Ya—CJS bisa require modul ESM.

Tapi syaratnya:

  • Modul ESM tidak boleh pakai top-level await

  • Package harus punya export condition khusus

Fitur ini membuat:

  • Monorepo lebih mudah

  • Library bisa berhenti dual publish (CJS + ESM)

  • Transisi ESM jadi lebih mulus

Ini revolusi pelan-pelan untuk ekosistem paket.


5. URL Pattern Native — Mirip Router di Hono/Cloudflare

Node menambahkan API:

const pattern = new URLPattern({ pathname: "/user/:id" });
pattern.test("https://example.com/user/123");

Ini sangat mirip router modern (Hono, Cloudflare Workers).

Update ini nyaris tidak dibahas, padahal:

  • Bisa bikin router ringan tanpa library

  • Bisa dipakai untuk server custom

  • Bisa dipakai untuk middleware pattern matcher

  • Stabil dan langsung tersedia

Contoh router kecil tanpa library:

if (new URLPattern({ pathname: "/api/:name" }).test(req.url)) {
  // handle
}

Jarang dipakai, padahal powerful.


6. Intl.DurationFormat — Format Waktu Tanpa Moment.js

Banyak developer belum tahu Node sudah punya formatter durasi built-in:

new Intl.DurationFormat("id", { style: "long" })
  .format({ hours: 1, minutes: 30 });

Hasil:

1 jam 30 menit

Artinya:

  • Tidak perlu Moment.js

  • Tidak perlu dayjs untuk formatting tertentu

  • Tidak perlu library tambahan untuk progress, timer, analytics display

Fitur kecil tapi membuat banyak kebutuhan harian jadi native.


7. Test Runner Bawaan Node Sudah Dewasa

Sedikit yang tahu bahwa test runner Node (baru sejak v18) sekarang sangat matang, bahkan:

  • Mendukung Watch Mode

  • Mendukung Mocking

  • Mendukung Subtests

  • Mendukung Coverage

  • Tidak perlu Jest/Mocha untuk project kecil-menengah

Contoh:

import test from 'node:test';
import assert from 'node:assert';

test("math test", () => {
  assert.equal(1 + 1, 2);
});

Untuk 80% kasus, ini benar-benar menggantikan Jest.


Penutup: Node.js Semakin “Batteries Included” dan Developer Tidak Sadar

Banyak update Node.js yang tidak viral. Tidak dibahas di YouTube. Tidak masuk headline.

Namun fitur-fitur kecil ini mengubah banyak hal:

  • Dependency makin sedikit

  • Project makin ringan

  • Startup lebih cepat

  • ESM makin matang

  • Workflow dev makin smooth

  • DevOps makin gampang

Jika Anda ingin membuat Stack monolithic modern seperti:

  • Node.js

  • Hono

  • Drizzle ORM

  • PostgreSQL

  • Vite

…maka fitur-fitur baru ini membantu Anda menjalankan project lebih cepat, bersih, dan stabil tanpa alat tambahan.

More from this blog

F

Finlup ID | Sharing dunia teknologi dan coding

206 posts

Membedah Tren dan Teknologi yang Mengubah Dunia.