Saya sedang membuat framework JavaScript/TypeScript untuk Baekjoon
(github.com/lumirlumir)Halo!
Untuk mengatasi berbagai ketidaknyamanan yang saya rasakan saat menyelesaikan soal algoritma Baekjoon dengan JavaScript dan TypeScript, saya sedang membuat framework open source khusus JavaScript/TypeScript untuk Baekjoon bernama bananass.
Dulu, saat masih kuliah, saya terutama menyelesaikan soal dengan C++, jadi lingkungan Baekjoon tidak terasa terlalu merepotkan. Namun, setelah bekerja sebagai developer frontend, saya jadi ingin menyelesaikan soal dengan JavaScript dan TypeScript. Ketika benar-benar mulai, ternyata ada banyak kendala besar maupun kecil seperti pemrosesan input yang rumit setiap kali, pembatasan sintaks modern, dan sulitnya melakukan testing.
Karena itu, untuk memperbaiki ketidaknyamanan tersebut, saya terinspirasi oleh cara implementasi Next.js dan berbagai perintah CLI dari proyek boj-cli, lalu mencoba membuat sendiri lingkungan penyelesaian algoritma yang ringkas dan intuitif, selaras dengan ekosistem JavaScript.
Berdasarkan pengalaman yang saya peroleh dengan berkontribusi langsung ke berbagai proyek open source frontend seperti React, ESLint, dan Next.js, saya membuatnya sedetail mungkin, dan saya ingin menjadikannya alat yang benar-benar bermanfaat bagi pengguna JavaScript/TypeScript.
Fitur utama yang sejauh ini telah saya implementasikan adalah sebagai berikut.
- Dukungan untuk JavaScript dan TypeScript.
- Dukungan untuk sistem modul ESM dan CommonJS.
- Dukungan sintaks modern seperti ES16, ES2025, dan lainnya tanpa terikat pada lingkungan Node.js Baekjoon.
- Dukungan memuat modul kustom dan library eksternal seperti lodash.
- Dukungan untuk mulai hanya dengan satu fungsi
solutionseperti di Programmers. - Dukungan penulisan dan eksekusi test case.
- Dukungan untuk memulai dengan
create-bananass. - Dukungan input/output yang lebih cepat dengan menggunakan modul
fs. - Dukungan berbagai perintah CLI untuk kenyamanan.
- Dukungan bawaan untuk ESLint dan Prettier.
Saat ini, menjelang rilis resmi, saya sedang mengerjakan kode pengujian dan dokumentasi, dan berencana segera merilis versi beta.
Jika Anda pernah merasakan ketidaknyamanan saat menyelesaikan soal Baekjoon dengan JavaScript atau TypeScript, atau punya ide seperti “akan bagus kalau ada fitur seperti ini”, silakan tinggalkan masukan dengan bebas melalui GitHub Issues, Discussions, atau komentar di tulisan ini!
Masukan sekecil apa pun benar-benar sangat membantu! Saya ingin sebisa mungkin menampungnya secara aktif agar kita bisa bersama-sama membangun lingkungan penyelesaian soal yang lebih baik.
Tautan terkait proyek
-
Dokumentasi resmi: https://bananass.lumir.page
Belum ada komentar.