Bananass: เฟรมเวิร์ก JavaScript/TypeScript สำหรับ Baekjoon และ Codeforces ที่ผมสร้างขึ้น
(github.com/lumirlumir)สวัสดีครับ!
เพื่อแก้ปัญหาความไม่สะดวกต่าง ๆ ที่ผมพบขณะทำโจทย์อัลกอริทึมบนเว็บอย่าง Baekjoon และ Codeforces ด้วย JavaScript และ TypeScript ผมจึงได้เปิดตัวโอเพนซอร์สเฟรมเวิร์กเวอร์ชันเบต้าที่ออกแบบมาสำหรับ JavaScript/TypeScript โดยเฉพาะในชื่อว่า 'Bananass'
ผมได้ออกแบบมันอย่างพิถีพิถันที่สุดเท่าที่จะทำได้ โดยอาศัยประสบการณ์จากการเป็นสมาชิกในโปรเจกต์โอเพนซอร์สสาย JavaScript และฟรอนต์เอนด์หลายโครงการ เช่น React, ESLint และ Next.js และหวังว่าในอนาคตเมื่อมีการปรับปรุงเพิ่มเติมอีกมาก เครื่องมือนี้จะกลายเป็นเครื่องมือที่ผู้ใช้ JavaScript/TypeScript ใช้งานกันอย่างแพร่หลาย
ตอนนี้คุณสามารถติดตั้งและเริ่มใช้งานเฟรมเวิร์ก Bananass ได้อย่างง่ายดายผ่านเอกสาร เริ่มต้นอย่างรวดเร็ว!
ฟีเจอร์ที่รองรับในเวอร์ชันเบต้ามีดังนี้
- รองรับ JavaScript และ TypeScript
- รองรับระบบโมดูล ESM (ECMAScript Module) และ CommonJS
- รองรับไวยากรณ์สมัยใหม่ เช่น ES16 (ES2025) โดยไม่ขึ้นกับสภาพแวดล้อม Node.js ของ Baekjoon หรือ Codeforces
- รองรับการนำเข้าโมดูลที่ผู้ใช้กำหนดเองและไลบรารีภายนอกอย่าง lodash
- รองรับการเริ่มต้นด้วยฟังก์ชัน
solutionเพียงตัวเดียวแบบเดียวกับ Programmers - รองรับการเขียนและรัน test case
- รองรับการเริ่มต้นโปรเจกต์ด้วย
create-bananass - รองรับอินพุต/เอาต์พุตที่เร็วขึ้นด้วยโมดูล
fs - รองรับคำสั่ง CLI ที่หลากหลายเพื่อความสะดวก
- รองรับ ESLint และ Prettier ในตัว
ขณะนี้ก่อนการออกเวอร์ชันทางการ ผมยังคงปรับปรุงฟีเจอร์ เพิ่ม test code และจัดทำเอกสารอย่างต่อเนื่อง
หากคุณเคยรู้สึกไม่สะดวกขณะทำโจทย์บน Baekjoon หรือ Codeforces ด้วย JavaScript หรือ TypeScript หรือมีไอเดียว่า “ถ้ามีฟีเจอร์แบบนี้ก็คงดี” ฝากเขียนไว้ได้อย่างอิสระผ่าน GitHub Issues, Discussions หรือคอมเมนต์ใต้โพสต์นี้!
แม้จะเป็นความเห็นเล็ก ๆ ก็ช่วยได้มากจริง ๆ ครับ! ผมอยากนำไปปรับใช้อย่างเต็มที่เท่าที่เป็นไปได้ เพื่อช่วยกันสร้างสภาพแวดล้อมสำหรับการแก้โจทย์ที่ดียิ่งขึ้น
ลิงก์ที่เกี่ยวข้องกับโปรเจกต์
-
เอกสารทางการ: https://bananass.lumir.page
-
เอกสารเริ่มต้นอย่างรวดเร็ว: https://bananass.lumir.page/get-started/quick-start
ยังไม่มีความคิดเห็น