+
+ ```js displayName="Create an HTTP Server"
+ // server.mjs
+ import { createServer } from 'node:http';
+
+ const server = createServer((req, res) => {
+ res.writeHead(200, { 'Content-Type': 'text/plain' });
+ res.end('Hello World!\n');
+ });
+
+ // starts a simple http server locally on port 3000
+ server.listen(3000, '127.0.0.1', () => {
+ console.log('Listening on 127.0.0.1:3000');
+ });
+
+ // run with `node server.mjs`
+ ```
+
+ ```js displayName="Write Tests"
+ // tests.mjs
+ import assert from 'node:assert';
+ import test from 'node:test';
+
+ test('that 1 is equal 1', () => {
+ assert.strictEqual(1, 1);
+ });
+
+ test('that throws as 1 is not equal 2', () => {
+ // throws an exception because 1 != 2
+ assert.strictEqual(1, 2);
+ });
+
+ // run with `node tests.mjs`
+ ```
+
+ ```js displayName="Read and Hash a File"
+ // crypto.mjs
+ import { createHash } from 'node:crypto';
+ import { readFile } from 'node:fs/promises';
+
+ const hasher = createHash('sha1');
+
+ hasher.setEncoding('hex');
+ // ensure you have a `package.json` file for this test!
+ hasher.write(await readFile('package.json'));
+ hasher.end();
+
+ const fileHash = hasher.read();
+
+ // run with `node crypto.mjs`
+ ```
+
+ ```js displayName="Streams Pipeline"
+ // streams.mjs
+ import { createReadStream, createWriteStream } from 'node:fs';
+ import { pipeline } from 'node:stream/promises';
+ import { createGzip } from 'node:zlib';
+
+ // ensure you have a `package.json` file for this test!
+ await pipeline(
+ createReadStream('package.json'),
+ createGzip(),
+ createWriteStream('package.json.gz')
+ );
+
+
+ // run with `node streams.mjs`
+ ```
+
+ ```js displayName="Work with Threads"
+ // threads.mjs
+ import { Worker, isMainThread,
+ workerData, parentPort } from 'node:worker_threads';
+
+ if (isMainThread) {
+ const data = 'some data';
+ const worker = new Worker(import.meta.filename, { workerData: data });
+ worker.on('message', msg => console.log('Reply from Thread:', msg));
+ } else {
+ const source = workerData;
+ parentPort.postMessage(btoa(source.toUpperCase()));
+ }
+
+ // run with `node threads.mjs`
+ ```
+
+
+ Aprenda más sobre lo que Node.js puede ofrecer con nuestros [Materiales de aprendizaje](/learn).
+
diff --git a/apps/site/pages/id/about/eol.mdx b/apps/site/pages/id/about/eol.mdx
index a1a9f9536d478..e6afd08bdf7d3 100644
--- a/apps/site/pages/id/about/eol.mdx
+++ b/apps/site/pages/id/about/eol.mdx
@@ -20,7 +20,7 @@ Versi mayor Node.js dirilis, diperbaiki, dan ditetapkan sebagai End-Of-Life meng
-[Lihat jadwal rilis Node.js](/about/releases/).
+[Lihat jadwal rilis Node.js](/about/previous-releases/).
## Apa yang Terjadi Ketika Suatu Lini Rilis Mencapai EOL
@@ -41,4 +41,8 @@ Meskipun penggunaan versi EOL memiliki banyak kelemahan, dalam praktiknya banyak
HeroDevs menyediakan [Never-Ending Support (NES)](https://nodejs.org/esp/herodevs) untuk versi Node.js yang telah melewati fase pemeliharaan resmi. Ini mencakup tambalan keamanan, bantuan kepatuhan, dan dukungan teknis untuk menjembatani kebutuhanmu sambil kamu merencanakan strategi peningkatan.
+NodeSource menawarkan layanan penilaian peningkatan (upgrade) kelas komersial dan dukungan ahli untuk memodernisasi aplikasi Node.js yang masih berjalan pada versi EOL (End-of-Life) secara aman. [Program Peningkatan](https://nodesource.com/products/nodejs-upgrade) mereka yang terpandu memberikan analisis risiko mendalam, mengidentifikasi hambatan migrasi, serta menyediakan peta jalan khusus untuk memperlancar proses peningkatan Anda.
+
+[Endless Lifecycle Support (ELS)](https://tuxcare.com/endless-lifecycle-support/) dari TuxCare menyediakan pembaruan keamanan berkelanjutan untuk versi Node.js yang telah mencapai akhir masa dukungannya (_end-of-life_). Perbaikan keamanan di-_backport_ dari _upstream_, diuji integritas dan regresinya, ditandatangani, didukung oleh SLA, serta didistribusikan melalui manajer paket yang sudah Anda gunakan.
+
Menggunakan versi EOL melalui dukungan komersial harus dianggap sebagai solusi sementara — tujuan utama tetap untuk meningkatkan ke versi yang masih didukung secara aktif.
diff --git a/apps/site/pages/id/about/get-involved/index.md b/apps/site/pages/id/about/get-involved/index.md
index 644bfde64b19d..c799c6ade4c03 100644
--- a/apps/site/pages/id/about/get-involved/index.md
+++ b/apps/site/pages/id/about/get-involved/index.md
@@ -18,7 +18,7 @@ Jika kamu tertarik untuk terlibat dengan komunitas Node.js, ada banyak cara untu
Jika kamu ingin mempelajari lebih lanjut tentang Node.js, ada banyak sumber daya yang tersedia untuk mu.
-- [Materi belajar resmi](https://nodejs.org/en/learn/) Node.js.
+- [Materi belajar resmi](https://nodejs.org/learn/) Node.js.
- [Dokumentasi referensi resmi API](https://nodejs.org/api/) Node.js.
- [NodeSchool.io](https://nodeschool.io/) mengajarkan konsep Node.js melalui game baris perintah interaktif.
- [Label Node.js di StackOverflow](https://stackoverflow.com/questions/tagged/node.js) berisi banyak utas dengan sumber daya yang bermanfaat.
diff --git a/apps/site/pages/id/about/partners.mdx b/apps/site/pages/id/about/partners.mdx
index d483a92667d96..eb597c6371754 100644
--- a/apps/site/pages/id/about/partners.mdx
+++ b/apps/site/pages/id/about/partners.mdx
@@ -20,8 +20,8 @@ dan pengembangan berkelanjutan dari Node.js.
## Pendukung
-Pendukung adalah individu dan organisasi yang memberikan dukungan finansial melalui
-[OpenCollective](https://opencollective.com/nodejs) untuk proyek Node.js.
+Pendukung adalah individu dan organisasi yang memberikan dukungan finansial bagi proyek Node.js
+melalui [OpenCollective](https://opencollective.com/nodejs) dan [GitHub Sponsors](https://github.com/sponsors/nodejs).