Node.js 24.22 LTS: debounce, throttle, dan sertifikat .p12 tanpa library tambahan
  easystem   15 Oktober 2026   Developer

Pada 14 Oktober 2026 tim Node.js merilis Node.js 24.22.0 (LTS) dan Node.js 26.12.0 (Current). Node 24 dengan nama rilis "Krypton" adalah jalur Long-Term Support yang dipakai untuk produksi, sedangkan Node 26 masih di jalur Current. Kabar baiknya, versi LTS kali ini membawa beberapa utilitas yang selama ini kita pasang lewat paket pihak ketiga, mulai dari debounce, throttle, sampai pembacaan sertifikat .p12. Artinya aplikasi Node.js kita bisa lebih ramping tanpa menambah dependensi.

Node 24 LTS: jalur yang aman untuk produksi

Menurut halaman rilis resmi Node.js, Node 24 (Krypton) berstatus LTS dan menjadi versi yang direkomendasikan untuk server produksi, sementara Node 26 masih Current sehingga lebih cocok untuk uji coba. Beberapa versi lama sudah berhenti didukung: Node 20 (Iron) berakhir masa dukungannya pada Maret 2026, dan Node 22 (Jod) kini berada di fase Maintenance LTS. Mulai Node.js 27, siklus rilis berubah menjadi tahunan dan setiap versi mayor naik ke status LTS setelah fase Current. Bagi tim pengelola aplikasi ini sinyal jelas: pindahkan proyek ke Node 24 LTS sekarang agar tidak kaget saat dukungan versi lama dipangkas.

1. util.debounce(): pengganti lodash.debounce

Fungsi util.debounce(fn, wait) menunda pemanggilan fn sampai tidak ada panggilan baru selama wait milidetik. Cocok untuk kotak pencarian, autosave, atau validasi formulir. Nilai baliknya berupa Promise, dan fungsi hasilnya punya cancel(), flush(), serta properti pending.

import { debounce } from 'node:util';

const cari = debounce(async (kata) => {
  return await fetch('/api/cari?q=' + kata);
}, 300);

cari('majalengka'); // hanya panggilan terakhir yang dieksekusi

2. util.throttle(): batasi jumlah panggilan per interval

Kalau debounce menunggu jeda, util.throttle(fn, limit, interval) membatasi berapa kali fungsi boleh dijalankan dalam satu interval. Panggilan berlebih diantre secara default, atau langsung ditolak bila memakai opsi overflow: 'drop'. Panggilan yang ditolak menghasilkan error ERR_THROTTLED.

import { throttle } from 'node:util';

const kirimLog = throttle(async (data) => {
  await fetch('/api/log', { method: 'POST', body: JSON.stringify(data) });
}, 10, 1000); // maksimal 10 panggilan per detik

Pola ini berguna saat aplikasi memanggil API pihak ketiga yang punya batas kuota, misalnya layanan pesan WhatsApp atau payment gateway.

3. crypto.parsePKCS12(): baca sertifikat .p12 langsung dari modul inti

Fitur ini relevan untuk aplikasi layanan publik dan integrasi tanda tangan digital. crypto.parsePKCS12() membaca bundel PKCS#12 (file .p12 atau .pfx) beserta passphrase, lalu mengembalikan privateKey, certificate, dan additionalCertificates.

import { parsePKCS12 } from 'node:crypto';
import { readFileSync } from 'node:fs';

const { privateKey, certificate } = parsePKCS12(
  readFileSync('bundle.p12'),
  { passphrase: 'rahasia' },
);

console.log(certificate.subject);

Sebelumnya pekerjaan ini butuh paket tambahan seperti node-forge. Sekarang cukup modul node:crypto.

4. node:sqlite dan peningkatan modul kripto lain

  • statement.close() pada node:sqlite untuk menutup prepared statement secara eksplisit, plus dukungan Symbol.dispose agar bisa dipakai di blok using.
  • Mode cipher SIV dan GCM-SIV kini tersedia di API Cipher/Decipher.
  • API MAC generik, serta penemuan cipher dan hash langsung dari OpenSSL provider.
  • net.BoundSocket bisa dikirim ke worker thread dan proses anak, berguna untuk beberapa proses yang berbagi port yang sama.
  • util.markPromiseAsHandled() untuk menandai promise yang memang sengaja tidak ditangani, supaya log server tidak dipenuhi peringatan unhandledRejection.

Cara upgrade di server produksi

  1. Cek versi yang berjalan sekarang: node -v dan npm -v.
  2. Bila memakai nvm: nvm install 24 && nvm alias default 24.
  3. Pasang ulang dependensi secara bersih dengan npm ci setelah menghapus folder node_modules.
  4. Jalankan test suite dan uji aplikasi di staging dulu, baru naikkan ke produksi.
  5. Kunci proyek di jalur LTS, dan catat tanggal akhir dukungan Node 22 agar migrasi berikutnya tidak mepet.

Sumber: Node.js 24.22.0 (LTS), Node.js Releases, Dokumentasi node:util, Dokumentasi node:crypto.

Tags :

Node.js , javascript , LTS , Backend

Bagikan :