Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions apps/site/components/Blog/BlogPostCard/index.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
}

.subtitle {
@apply mb-2
mt-6
@apply mt-6
mb-2
inline-block
text-xs
font-semibold
Expand Down
8 changes: 4 additions & 4 deletions apps/site/components/Common/Turtle/index.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,20 @@
translate-x-0
translate-y-0
after:absolute
after:-left-full
after:top-[20%]
after:-left-full
after:-z-10
after:block
after:h-36
after:w-36
after:-rotate-90
after:select-none
after:bg-[url('/static/images/smoke.gif')]
after:opacity-[0.15]
after:content-['']
after:select-none
motion-reduce:animate-none
after:md:-left-1/2
after:md:top-1/2;
after:md:top-1/2
after:md:-left-1/2;
}

.image {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ const ReleaseCodeBox: FC = () => {
const isLoading = context.os === 'LOADING' || context.installMethod === '';

return (
<div className="mb-6 mt-4 flex flex-col gap-2">
<div className="mt-4 mb-6 flex flex-col gap-2">
{/* NoScript warning */}
<noscript>
<AlertBox
Expand Down
6 changes: 3 additions & 3 deletions apps/site/layouts/layouts.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@

&:nth-of-type(2) {
@apply flex
min-w-0
max-w-full
min-w-0
flex-[1_1]
flex-col
items-center
Expand Down Expand Up @@ -190,8 +190,8 @@
}

> div:nth-of-type(1) {
@apply mb-4
mt-2;
@apply mt-2
mb-4;
}
}
}
4 changes: 2 additions & 2 deletions apps/site/pages/en/about/branding.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Credit to [Angela Angelini](https://www.linkedin.com/in/angeliningl/) for design
<img
alt="Node.js Light Stacked Logo"
src="/static/logos/nodejsStackedLight.svg"
className="rounded-xs h-[164px] w-[267px] bg-neutral-950 p-2 dark:bg-transparent"
className="h-[164px] w-[267px] rounded-xs bg-neutral-950 p-2 dark:bg-transparent"
width="267"
height="164"
/>
Expand Down Expand Up @@ -118,7 +118,7 @@ Credit to [Angela Angelini](https://www.linkedin.com/in/angeliningl/) for design
<img
alt="White JS Icons"
src="/static/logos/jsIconWhite.svg"
className="height-[80px] rounded-xs mx-auto w-[71px] bg-neutral-950 p-2 dark:bg-transparent"
className="height-[80px] mx-auto w-[71px] rounded-xs bg-neutral-950 p-2 dark:bg-transparent"
width="71"
height="80"
/>
Expand Down
10 changes: 10 additions & 0 deletions apps/site/pages/id/about/branding.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,16 @@ Penghargaan kepada [Angela Angelini](https://www.linkedin.com/in/angeliningl/) a

## Logo Node.js®

### Logo Hex Node.js®

<img
alt="Node.js Hex Logo"
src="/static/logos/nodejsHex.svg"
className="w-[100px]"
width="100"
height="100"
/>

### Logo Horizontal Node.js®

<table>
Expand Down
46 changes: 46 additions & 0 deletions apps/site/pages/id/about/eol.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
title: End-Of-Life
layout: about
description: Memahami End-of-Life Node.js, apa dampaknya pada keamanan, toolchain, dan kepatuhan, serta detail versi EOL dan opsi dukungan komersial.
---

# End-Of-Life (EOL)

## Mengapa dan bagaimana rilis Node.js mencapai End-Of-Life

Versi mayor Node.js dirilis, diperbaiki, dan ditetapkan sebagai End-Of-Life mengikuti jadwal yang dapat diprediksi. Karena tidak memungkinkan untuk memelihara semua lini rilis selamanya, setelah periode pemeliharaan yang direncanakan, lini rilis mayor Node.js akan berhenti dipelihara oleh proyek.

<div className="flex flex-col items-start gap-4 xl:flex-row xl:items-center">
<Button kind="primary" href="/download" className="flex-1">
<span>Tingkatkan ke Node.js® LTS terbaru</span>
</Button>

<span>atau</span>

<Button as="a" kind="warning" href="#commercial-support" className="flex-1">
<span>Dapatkan dukungan keamanan untuk versi EOL</span>
</Button>
</div>

[Lihat jadwal rilis Node.js](/about/releases/).

## Apa yang Terjadi Ketika Suatu Lini Rilis Mencapai EOL

Saat suatu versi mencapai End-Of-Life, artinya versi tersebut tidak lagi menerima pembaruan, termasuk tambalan keamanan. Ini dapat membuat aplikasi yang berjalan pada versi tersebut rentan terhadap masalah keamanan dan bug yang tidak akan pernah diperbaiki.

- **Tidak ada lagi perbaikan kerentanan**: Ketika rilis keamanan baru mengungkap masalah dan tambalan pada lini mayor yang lebih baru, meskipun kerentanan yang sama memengaruhi versi EOL, tidak akan ada rilis baru untuk mereka. Pengguna yang tetap bertahan di versi EOL dan menggunakan jalur kode yang terdampak akan langsung rentan terhadap serangan yang memanfaatkan kerentanan tersebut.
- **Kerusakan pada toolchain**: Versi EOL mungkin tidak lagi dapat melakukan dynamic linking dengan versi pustaka bersama yang lebih baru yang menjadi dependensinya, yang dapat menghambat atau merusak pembaruan sistem.
- **Perubahan ekosistem**: Banyak paket user-land populer menghentikan dukungan untuk versi Node.js yang sudah EOL dari waktu ke waktu. Ketika suatu aplikasi tetap menggunakan paket yang sudah kedaluwarsa, aplikasi tersebut dapat mengalami lebih banyak kerentanan dan bug yang tidak diperbaiki, semakin menjauhi standar ekosistem.
- **Masalah kepatuhan**: Banyak audit industri melarang penggunaan runtime yang tidak dipelihara.

## Versi EOL

<EOLReleaseTable />

## Dukungan Komersial

Meskipun penggunaan versi EOL memiliki banyak kelemahan, dalam praktiknya banyak organisasi menghadapi batasan yang mencegah peningkatan versi secara langsung, seperti kode warisan (legacy), kebutuhan kepatuhan, atau rantai dependensi yang kompleks. Melalui [OpenJS Foundation Ecosystem Sustainability Program](https://openjsf.org/blog/ecosystem-sustainability-program), Node.js mendapatkan dukungan dari HeroDevs dan NodeSource untuk menyediakan layanan komersial dalam bentuk perbaikan keamanan.

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.

Menggunakan versi EOL melalui dukungan komersial harus dianggap sebagai solusi sementara — tujuan utama tetap untuk meningkatkan ke versi yang masih didukung secara aktif.
1 change: 1 addition & 0 deletions apps/site/pages/id/about/get-involved/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,5 @@ Perlu diperhatikan bahwa proyek Node.js tidak secara resmi mendukung forum-forum

- [Node Slackers](https://www.nodeslackers.com/) adalah komunitas Slack yang berfokus pada Node.js.
- [OpenJSF Slack](https://slack-invite.openjsf.org/) adalah ruang kerja Slack untuk OpenJS Foundation. Ada beberapa saluran yang terkait dengan Node.js. _(saluran yang diawali dengan `#nodejs-` terkait dengan proyek)_
- [r/node](https://www.reddit.com/r/node/) adalah subreddit yang berfokus pada Node.js.
- Untuk IRC, buka `irc.libera.chat` di saluran `#node.js` dengan [klien IRC](https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_clients) atau sambungkan di browser web Anda ke saluran menggunakan [klien web](https://kiwiirc.com/nextclient/).
50 changes: 50 additions & 0 deletions apps/site/pages/id/about/partners.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: Mitra & Pendukung
layout: about
---

# Mitra & Pendukung

Komunitas Node.js diperkaya oleh jaringan mitra yang beragam yang berkontribusi
dalam berbagai cara. Melalui kolaborasi ini, kami menjaga infrastruktur yang tangguh,
memperkuat keamanan, mendorong rilis baru, dan menumbuhkan ekosistem kami secara berkelanjutan.

Kami berterima kasih atas dukungan para mitra, yang memainkan peran penting dalam keberhasilan
dan pengembangan berkelanjutan dari Node.js.

## Infrastruktur

...

<PartnersLogoList categories="infrastruktur" maxLength={null} sort="nama" />

## Pendukung

Pendukung adalah individu dan organisasi yang memberikan dukungan finansial melalui
[OpenCollective](https://opencollective.com/nodejs) untuk proyek Node.js.

<WithSupporters />

## ## Ecosystem Sustainability Program (ESP)

Apakah kamu menjalankan versi Node.js yang sudah End-of-Life (EOL)?
Program **OpenJS Ecosystem Sustainability Program (ESP)** membantu organisasi dalam
memelihara aplikasi Node.js mereka yang berjalan pada versi EOL.
Program ini menyediakan akses ke tambalan keamanan, bantuan kepatuhan, dan dukungan teknis
untuk menjembatani kebutuhan sementara kamu merencanakan strategi peningkatan versi.Untuk informasi lebih lanjut mengenai versi End-of-Life, silakan kunjungi
[End-Of-Life Node.js Releases](/about/eol)

> Menggunakan rilis EOL melalui dukungan komersial harus dianggap sebagai solusi sementara. Tujuan utama tetap harus meningkatkan ke versi yang masih didukung secara aktif.

<PartnersLogoList categories="esp" maxLength={null} sort="name" />

## Menjadi Mitra

Jadilah mitra proyek Node.js dan bantu kami terus mengembangkan dan memelihara proyek ini.
Dukunganmu sangat penting untuk memastikan bahwa Node.js tetap menjadi platform yang andal dan aman
bagi para pengembang dan organisasi di seluruh dunia. Jika kamu tertarik untuk menjadi mitra,
silakan hubungi kami melalui OpenJS Foundation.

<div>
<Button href="https://openjsf.org/partners">Menjadi Mitra OpenJS</Button>
</div>
48 changes: 48 additions & 0 deletions apps/site/pages/id/about/previous-releases.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
title: Rilisan Node.js
layout: about
---

# Rilisan Node.js

<EOLAlertBox />

Versi Node.js utama memasuki status rilis saat ini selama enam bulan, yang memberikan waktu bagi penulis perpustakaan untuk menambahkan dukungan untuk versi tersebut. Setelah enam bulan, rilis bernomor ganjil (9, 11, dst.) menjadi tidak didukung, dan rilis bernomor genap (10, 12, dst.) berpindah ke status LTS Aktif dan siap untuk penggunaan umum. Status rilis LTS adalah "dukungan jangka panjang", yang biasanya menjamin bahwa bug kritis akan diperbaiki selama total 30 bulan. Aplikasi produksi hanya boleh menggunakan rilis LTS Aktif atau LTS Pemeliharaan.

## Release Schedule

![Releases](https://raw.githubusercontent.com/nodejs/Release/main/schedule.svg?sanitize=true)

Detail lengkap mengenai jadwal rilis Node.js tersedia [di GitHub](https://github.com/nodejs/release#release-schedule).

## Mencari rilis terbaru dari cabang versi?

<PreviousReleasesTable />

## Metode Instalasi Resmi vs. Komunitas

Situs web Node.js menyediakan beberapa metode instalasi non-interaktif, termasuk antarmuka baris perintah (CLI), manajer paket sistem operasi (OS) (misalnya, `brew`), dan manajer versi Node.js (misalnya, `nvm`).

Untuk menyoroti dan mempromosikan kontribusi komunitas, proyek Node.js memperkenalkan halaman Unduhan yang telah direvisi yang mengkategorikan metode instalasi sebagai "Resmi" atau "Komunitas." Hal ini memberikan fleksibilitas dan pilihan yang lebih besar kepada pengguna. Untuk memastikan kejelasan, kami telah menetapkan kriteria untuk setiap kategori.

### Metode Instalasi Resmi

Metode instalasi yang ditetapkan sebagai “Resmi” harus memenuhi persyaratan berikut:

| Persyaratan (Metode Instalasi Resmi) |
| :----------------------------------------------------------------------------------------------------------------------------------- |
| Rilis Node.js baru harus tersedia bersamaan dengan rilis resmi. |
| Pengelola proyek harus memiliki hubungan dekat dengan proyek Node.js, termasuk saluran komunikasi langsung. |
| Metode instalasi harus unduhan biner resmi yang dibundel oleh proyek Node.js. |
| Metode instalasi tidak boleh dibuild dari sumber, jika biner yang telah dibuild tersedia, dan tidak boleh pula mengubah biner resmi. |

### Metode Instalasi Komunitas

Metode instalasi komunitas yang disertakan pada halaman unduhan swalayan (/download) juga harus mematuhi serangkaian kriteria minimum:

- **Dukungan Versi:** Harus mendukung semua versi Node.js yang saat ini didukung, bukan versi End-of-Life (EOL).
- **Kompatibilitas OS:** Harus berfungsi pada setidaknya satu Sistem Operasi (OS) yang didukung secara resmi.
- **Dukungan OS yang Luas:** Tidak dapat dibatasi pada sebagian distribusi atau versi OS.
- Misalnya, metode instalasi yang mengklaim kompatibilitas dengan “Windows” harus berfungsi pada “Windows 10”, “Windows 11”, dan semua edisinya (termasuk versi server).
- Demikian pula, metode instalasi yang mengklaim kompatibilitas dengan "Linux" harus dapat diinstal pada semua distribusi Linux utama, bukan hanya sebagian kecil saja. Metode ini tidak dapat bergantung pada pengelola paket khusus distribusi seperti `apt` atau `dnf`.
- **Gratis dan Sumber Terbuka:** Harus gratis digunakan dan bersumber terbuka, tidak boleh dijual sebagai produk komersial, dan tidak boleh menjadi layanan berbayar.
23 changes: 16 additions & 7 deletions apps/site/pages/id/about/security-reporting.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ For more details on active Security Policies, checkout [this page](https://githu

Laporkan bug keamanan di Node.js melalui [HackerOne](https://hackerone.com/nodejs).

Laporan Anda akan diterima dalam waktu 5 hari, dan Anda akan menerima tanggapan yang lebih rinci terhadap laporan Anda dalam waktu 10 hari yang menunjukkan langkah selanjutnya dalam menangani kiriman Anda.
Biasanya, laporan mu akan diakui dalam waktu 5 hari, dan Anda akan menerima tanggapan yang lebih detail dalam waktu 10 hari yang menjelaskan langkah selanjutnya dalam penanganan laporan tersebut. Waktu ini dapat lebih lama jika para relawan triase sedang berlibur, terutama di akhir tahun.

Setelah balasan awal atas laporan Anda, tim keamanan akan berusaha memberi Anda informasi tentang kemajuan yang dicapai menuju pengumuman perbaikan dan lengkap, dan mungkin meminta informasi atau panduan tambahan seputar masalah yang dilaporkan.
Setelah balasan awal atas laporan mu, tim keamanan akan berusaha memberi mu informasi tentang kemajuan yang dicapai menuju pengumuman perbaikan dan lengkap, dan mungkin meminta informasi atau panduan tambahan seputar masalah yang dilaporkan.

### Program hadiah bug Node.js

Expand All @@ -27,15 +27,24 @@ Bug keamanan di modul pihak ketiga harus dilaporkan ke pengelola masing-masing.

Berikut adalah kebijakan pengungkapan keamanan untuk Node.js

- Laporan keamanan diterima dan ditetapkan sebagai penangan utama. Orang ini akan mengoordinasikan proses perbaikan dan pelepasan. Masalahnya telah dikonfirmasi dan daftar semua versi yang terpengaruh telah ditentukan. Kode diaudit untuk menemukan potensi masalah serupa. Perbaikan disiapkan untuk semua rilis yang masih dalam pemeliharaan. Perbaikan ini tidak dilakukan pada repositori publik melainkan disimpan secara lokal sambil menunggu pengumuman.
- Laporan keamanan diterima dan ditugaskan ke penanggung jawab utama.
Orang ini akan mengoordinasikan proses perbaikan dan rilis.
Masalah tersebut divalidasi pada semua versi Node.js yang masih didukung.
Setelah dikonfirmasi, ditentukan daftar semua versi yang terdampak.
Kode kemudian diaudit untuk menemukan potensi masalah serupa.
Perbaikan disiapkan untuk semua rilis yang masih didukung.Perbaikan ini tidak langsung dikomit ke repositori publik, tetapi disimpan secara lokal sampai pengumuman dilakukan.

- Tanggal embargo yang disarankan untuk kerentanan ini dipilih dan CVE (Common Vulnerabilities and Exposures (CVE®)) diminta untuk kerentanan tersebut.

- Pada tanggal embargo, salinan pengumuman dikirim ke milis keamanan Node.js. Perubahan tersebut dikirim ke repositori publik dan versi baru disebarkan ke nodejs.org. Dalam waktu 6 jam setelah milis diberitahukan, salinan nasihat akan dipublikasikan di blog Node.js.
- Pada tanggal embargo, salinan pengumuman dikirim ke daftar surel keamanan Node.js.
Perubahan kemudian dipush ke repositori publik dan build baru dirilis di nodejs.org.
Dalam waktu maksimal 6 jam setelah daftar surel menerima pemberitahuan, salinan advis tersebut akan dipublikasikan di blog Node.js.

- Biasanya tanggal embargo akan ditetapkan 72 jam sejak CVE diterbitkan. Namun, hal ini dapat bervariasi tergantung pada tingkat keparahan bug atau kesulitan dalam menerapkan perbaikan.
- Biasanya, tanggal embargo akan ditetapkan 72 jam sejak CVE diterbitkan.
Namun, hal ini bisa berubah tergantung tingkat keparahan bug atau kesulitan dalam menerapkan perbaikan.

- Proses ini dapat memakan waktu, terutama bila diperlukan koordinasi dengan pengelola proyek lain. Segala upaya akan dilakukan untuk menangani bug tersebut secepat mungkin; namun, penting bagi kami untuk mengikuti proses rilis di atas untuk memastikan bahwa pengungkapan ditangani secara konsisten.
- Proses ini bisa memakan waktu, terutama jika perlu koordinasi dengan para maintainer proyek lain.
Kami akan berusaha menangani bug secepat mungkin; namun, kami tetap harus mengikuti proses rilis di atas untuk memastikan penanganan pengungkapan dilakukan secara konsisten.

## Menerima pembaruan keamanan

Expand All @@ -46,7 +55,7 @@ Pemberitahuan keamanan akan didistribusikan melalui metode berikut.

## Komentar tentang kebijakan ini

Jika Anda memiliki saran tentang bagaimana proses ini dapat ditingkatkan, silakan kirimkan [permintaan penarikan](https://github.com/nodejs/nodejs.org) atau [ajukan masalah](https://github.com/nodejs/security-wg/issues/new) untuk didiskusikan.
Kalau kamu punya saran tentang bagaimana proses ini dapat ditingkatkan, silakan kunjungi repositori [nodejs/security-wg](https://github.com/nodejs/security-wg).

## Praktik Terbaik OpenSSF

Expand Down
59 changes: 59 additions & 0 deletions apps/site/pages/id/download/archive/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
title: Unduh Node.js®
layout: download-archive
---

<WithDownloadArchive>
{({ binaries, installers, version, release, sources }) => (
<>
<h1>Arsip Unduhan Node.js®</h1>

<h2 className="flex items-center gap-2">
<img
src="/static/logos/jsIconGreen.svg"
alt="Node.js Logo"
width="24"
height="24"
/>
{version}
{release.codename && ` (${release.codename})`}
</h2>

<WithReleaseAlertBox status={release.status} />

<ReleaseOverview release={release} />

<ul className='flex list-none flex-col gap-2 p-0 text-sm'>
<li>
Baca <LinkWithArrow href={`https://github.com/nodejs/node/releases/tag/${version}`}>catatan perubahan (changelog)</LinkWithArrow> atau <Link href={`/blog/release/${version}`}>artikel blog</Link> untuk versi ini.
</li>
<li>
Pelajari lebih lanjut tentang <Link href="/about/previous-releases">rilis Node.js</Link>, termasuk jadwal rilis dan status LTS.
</li>

<li>
<LinkWithArrow href={sources.shasum}>SHASUMS bertanda tangan</LinkWithArrow> untuk berkas rilis. Cara <LinkWithArrow href="https://github.com/nodejs/node#verifying-binaries">memverifikasi</LinkWithArrow> SHASUMS bertanda tangan.
</li>

<li>
Unduh berkas tarball sumber <LinkWithArrow href={sources.tarball}>Node.js {version}</LinkWithArrow> yang telah ditandatangani.
</li>

</ul>

<h2>Rilis lainnya</h2>
<WithReleaseSelect placeholder={version} defaultValue={`/download/archive/${version}`} className="w-64"/>

<h2>Unduhan Biner</h2>
<DownloadsTable source={binaries} />

<h2>Paket Installer</h2>
<DownloadsTable source={installers} />

<h2>Versi Minor</h2>
<MinorReleasesTable releases={release.minorVersions} />
</>

)}

</WithDownloadArchive>
18 changes: 17 additions & 1 deletion apps/site/pages/id/download/current.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,23 @@ Pelajari cara <LinkWithArrow href="https://github.com/nodejs/node#verifying-bina
Mencari sumber Node.js? Unduh tarball <Release.DownloadLink kind="source">sumber Node.js</Release.DownloadLink> yang telah ditandatangani.

Lihat biner <LinkWithArrow href="https://nodejs.org/download/nightly/">nightly</LinkWithArrow> kami atau
semua <LinkWithArrow href="https://nodejs.org/download/release/">rilis sebelumnya</LinkWithArrow>
semua <Link href="/download/archive/current">rilis sebelumnya</Link>
atau biner <LinkWithArrow href="https://unofficial-builds.nodejs.org/download/">tidak resmi</LinkWithArrow> untuk platform lain.

</section>

---

<section className="mt-3">
<h2 className="text-center">Dengan bangga didukung oleh mitra-mitra berikut:</h2>

<span className="text-center">
Kami dapat menyediakan unduhan Node.js dan memelihara infrastruktur kami
dengan bangga berkat dukungan dari para mitra ini,{' '}
<Link href="/about/partners">dan lainnya</Link>.
</span>

<div className="mt-4">
<PartnersLogoList categories="infrastruktur" />
</div>
</section>
Loading
Loading