Je crée un framework JavaScript/TypeScript pour Baekjoon
(github.com/lumirlumir)Bonjour !
Pour résoudre divers désagréments que j’ai ressentis en résolvant des problèmes d’algorithmes sur Baekjoon en JavaScript et en TypeScript, je suis en train de développer un framework open source dédié à Baekjoon pour JavaScript/TypeScript, nommé « bananass ».
À l’époque de mes études en licence, je résolvais surtout les problèmes en C++, donc l’environnement de Baekjoon ne me paraissait pas particulièrement inconfortable. Mais en travaillant comme développeur front-end, j’ai eu envie de résoudre les problèmes en JavaScript et en TypeScript, et une fois lancé, je me suis rendu compte qu’il y avait à chaque fois de nombreuses contraintes, petites et grandes : traitement d’entrée complexe, limitations sur la syntaxe moderne, impossibilité de tester, etc.
Pour améliorer ces points, je me suis inspiré de la manière dont Next.js est conçu ainsi que des diverses commandes CLI du projet boj-cli, et j’ai voulu créer moi-même un environnement de résolution d’algorithmes concis et intuitif, adapté à l’écosystème JavaScript.
En m’appuyant sur l’expérience acquise en contribuant directement à plusieurs projets open source front-end comme React, ESLint et Next.js, je le conçois avec un maximum d’attention au détail, et je veux en faire un outil réellement utile pour les utilisateurs de JavaScript/TypeScript.
Les principales fonctionnalités que j’ai implémentées jusqu’à présent sont les suivantes.
- Prise en charge de JavaScript et de TypeScript.
- Prise en charge des systèmes de modules ESM et CommonJS.
- Prise en charge des syntaxes récentes comme ES16/ES2025, indépendamment de l’environnement Node.js de Baekjoon.
- Prise en charge de l’import de modules personnalisés et de bibliothèques externes comme lodash.
- Possibilité de démarrer avec une seule fonction
solution, comme sur Programmers. - Prise en charge de l’écriture et de l’exécution de cas de test.
- Possibilité de démarrer avec
create-bananass. - Prise en charge d’entrées/sorties plus rapides via le module
fs. - Prise en charge de diverses commandes CLI pour plus de confort.
- Prise en charge native de ESLint et Prettier.
Je travaille actuellement sur les tests et la documentation en vue de la sortie officielle, et je compte publier bientôt une version bêta.
Si vous avez rencontré des difficultés en résolvant des problèmes Baekjoon en JavaScript ou en TypeScript, ou si vous vous dites qu’« une fonctionnalité comme celle-ci serait utile », n’hésitez pas à laisser librement vos idées dans les issues GitHub, les discussions, ou en commentaire de ce post !
Le moindre avis m’aide énormément ! Je veux en tenir compte aussi activement que possible pour construire ensemble un meilleur environnement de résolution de problèmes.
Liens du projet
-
Documentation officielle : https://bananass.lumir.page
Aucun commentaire pour le moment.