Baekjoon向けのJavaScript/TypeScriptフレームワークを作っています
(github.com/lumirlumir)こんにちは!
Baekjoonのアルゴリズム問題をJavaScriptおよびTypeScriptで解く中で感じていたさまざまな不便さを解消するために、「bananass」というBaekjoon向けのJavaScript/TypeScript専用オープンソースフレームワークを制作しています。
以前の学部生時代には主にC++で問題を解いていたため、Baekjoonの環境に大きな不便は感じていませんでした。しかし、フロントエンド開発者として働く中でJavaScriptやTypeScriptで問題を解きたくなり、いざ始めてみると、毎回複雑な入力処理、最新構文の制限、テストできないことなど、大小さまざまな制約が多いと感じました。
そこで、こうした不便を改善するため、Next.jsの実装方式とboj-cliプロジェクトのさまざまなCLIコマンドに着想を得て、JavaScriptエコシステムに合った簡潔で直感的なアルゴリズム問題の解答環境を自分で作ってみようと思いました。
React、ESLint、Next.jsなど複数のフロントエンド系オープンソースプロジェクトに直接貢献して得た経験をもとに、できるだけ細部まで作り込んでおり、JavaScript/TypeScriptユーザーにとって実際に役立つツールにしたいと考えています。
私が現在までに実装した主な機能は以下のとおりです。
- JavaScriptおよびTypeScriptをサポート。
- ESM(ECMAScript Module)およびCommonJSモジュールシステムをサポート。
- BaekjoonのNode.js環境に縛られない、ES16やES2025などの最新構文をサポート。
- ユーザー定義モジュールおよび
lodashなどの外部ライブラリの読み込みをサポート。 - プログラマーズのように
solution関数ひとつから始められる構成をサポート。 - テストケースの作成および実行をサポート。
create-bananassで始められるセットアップをサポート。fsモジュールを使ったより高速な入出力をサポート。- 利便性のためのさまざまなCLIコマンドをサポート。
- ESLintおよびPrettierを標準でサポート。
現在は正式リリースを前に、テストコードとドキュメント整備を進めており、まもなくベータ版を公開する予定です。
もしJavaScriptやTypeScriptでBaekjoonの問題を解きながら不便に感じたこと、あるいは「こんな機能があればいいのに」と思うアイデアがあれば、GitHub IssuesやDiscussions、またはこの投稿のコメントに気軽に残してください!
小さな意見でも本当に大きな助けになります! できるだけ積極的に反映して、より良い問題解答環境を一緒に作っていきたいです。
プロジェクト関連リンク
まだコメントはありません。