Episode terakhir membandingkan Shiki dengan highlight.js, Prism, dan lowlight dari sisi akurasi, ukuran bundle, dan fitur, lalu merangkum seluruh perjalanan series menjadi checklist code block production- grade serta pandangan ke masa depan ekosistem.

Setelah menempuh 22 episode, saatnya menengok ke luar dan bertanya: apakah Shiki selalu pilihan terbaik? Tidak selalu. Untuk menyimpulkan, kalian perlu membandingkan Shiki dengan highlighter lain dan memahami kapan masing-masing unggul.
Episode 22 menutup series dengan perbandingan Shiki, highlight.js, Prism, dan lowlight, rekap perjalanan dari episode 0 sampai 21, checklist code block production-grade, serta pandangan ke masa depan ekosistem. Semua pengetahuan di episode sebelumnya mengerucut di sini.
Shiki memakai grammar TextMate yang sama dengan VSCode dan menghasilkan warna identik dengan editor. Akurasinya tinggi untuk bahasa kompleks, tetapi biayanya berupa WASM Oniguruma di sisi build dan bundle yang lebih besar dibanding library lain.
Kelebihan utama Shiki adalah kombinasi akurasi dan fitur code block modern lewat rehype-pretty-code. Inilah pilihan tepat untuk konten yang menuntut ketepatan semantik, seperti dokumentasi produk dan blog teknis.
Perbedaan ukuran bisa dilihat langsung dari registry npm dengan memeriksa properti dist.unpackedSize:
npm view shiki dist.unpackedSize
npm view highlight.js dist.unpackedSize
npm view prismjs dist.unpackedSizePerintah npm view shiki dist.unpackedSize menampilkan ukuran package dalam byte. Nilai ini membantu kalian mengukur trade-off akurasi terhadap beban bundle sebelum memutuskan. Perlu diingat, angka tersebut adalah ukuran maksimum; impor selektif dan tree shaking biasanya memangkasnya drastis.
highlight.js bekerja dengan regex sederhana, ringan, dan sangat mudah dipasang. Tanpa build step, kalian bisa menambahkan highlight hanya dengan memuat file JavaScript dan CSS. Namun akurasinya di bawah Shiki untuk bahasa yang kompleks, dan fitur seperti diff atau word highlight tidak tersedia secara bawaan.
Prism menawarkan ekosistem plugin yang luas dan katalog bahasa yang besar. Pendekatannya memakai tokenizer berbasis regex yang diperluas, menghasilkan highlight yang cukup baik untuk banyak kasus. Untuk integrasi dengan framework tertentu, Prism sudah memiliki banyak adapter, tetapi akurasi tetap tidak sepenuh TextMate.
lowlight membungkus grammar highlight.js menjadi format yang bisa dipakai di ekosistem unified. Dengan lowlight, kalian tetap dalam pipeline rehype tetapi memakai mesin highlight.js. Ini pilihan menarik saat kalian butuh integrsi rehype namun ingin mempertahankan mesin yang ringan.
Pilih berdasarkan tiga faktor: akurasi, ukuran, dan fitur.
Tidak ada yang menang di semua dimensi. Kalian memilih berdasarkan trade-off yang paling cocok dengan proyek.
Untuk blog yang menampilkan banyak bahasa dan membutuhkan diff, line highlight, dan title, kombinasi Shiki dan rehype-pretty-code adalah pilihan yang seimbang. Untuk halaman dokumentasi internal yang sangat sederhana dan ingin memuat cepat, highlight.js lebih rasional.
Selama 22 episode, kalian bergerak dari fondasi menuju produksi: pre-requisites dan setup di episode 0, arsitektur unified di episode 2, pipeline pertama di episode 3, meta string dan highlight di episode 4 sampai 9, transformers di episode 10, integrasi framework di episode 11, optimasi dan keamanan di episode 12 sampai 15, interaksi UI di episode 16, plugin lanjutan dan API inti di episode 17 sampai 20, hingga konfigurasi produksi di episode 21.
Semua episode tersebut saling terhubung. Pemahaman yang paling berdampak adalah konsep pipeline unified: setiap fitur, dari diff sampai dual themes, adalah transformasi yang terjadi di build-time pada pohon HAST.
Satu prinsip menyatukan seluruh series: konten tetap Markdown sederhana, dan kompleksitas highlight disembunyikan di lapisan transformasi. Meta string adalah bahasa konfigurasi, transformers adalah logika tambahan, dan CSS adalah lapisan tampilan terakhir. Pahami tiga lapisan ini, dan kalian bisa menangani fitur apa pun yang datang.
Gunakan checklist ini sebelum merilis halaman yang memuat kode:
langs dan meta string ditulis dengan benar.prefers-color-scheme.Jalankan checklist ini pada halaman berisi kode paling kompleks di situs kalian. Jika semua butir terpenuhi, situs kalian layak produksi.
Ekosistem bergerak menuju modularitas: langs, themes, dan transformers sebagai package terpisah membuka ruang untuk grammar khusus dan bundle yang disesuaikan. Dukungan engine JavaScript murni menjanjikan opsi tanpa WASM di masa depan, sementara metadata token seperti ThemedToken.type memperkaya tooling yang bisa dibangun di atas Shiki.
rehype-pretty-code terus mengikuti arus tersebut dengan menjaga API yang stabil. Dengan fondasi yang kalian bangun di series ini, upgrade ke fitur baru di masa depan hanya soal membaca changelog, bukan belajar ulang.
Inti yang harus dibawa pulang:
Selamat menyelesaikan series Belajar Shiki Rehype Pretty Code. Kalian kini bisa membangun pipeline highlight yang akurat, cepat, aman, dan siap produksi di framework mana pun. Terapkan bertahap: mulai dari satu code block, lalu perluas ke seluruh situs. Selamat mengkode.