ClojureScript

開発

Closure Compiler の開発

ClojureScript には Google Closure Compiler との緊密な統合があります。Node / ES6モジュールの処理などの多くの ClojureScript 機能は、実際には Google Closure Compiler のサポートを通じて提供されています。これらの分野では、ClojureScript への貢献は Google Closure Compiler プロジェクト自体に直接貢献することによって行われます。

Closure Compiler への貢献

Closure Compiler チームは GitHub を使用してプロジェクトを管理しています。解決策を提供するプルリクエストを添付すると、問題に対する反応が特に早くなります。Closure Compiler プロジェクトに貢献するには、Google の貢献者規約を送信する必要があります。

Closure Compiler の開発

文書化は不十分ですが、Closure Compiler Java コードベースは驚くほど取っつきやすいです。IntelliJ Community Edition などの無料の Java IDE を使用すると、Closure Compiler ソースの調査と理解が大幅に簡素化されます。Closure Compiler バグのソースを特定する場合、Java IDE には堅牢なステップデバッグツールの利点もあります。

修正があると判断されたら、修正を含むブランチを作成してからテストケースを作成します。

Closure Compiler にテストケースを追加する

ユニットテスト用の適切なテストケースファイルを見つけます。特定のテストをテストするには、まず Closure Compiler をビルドする必要があります。

mvn clean && mvn -DskipTests -pl externs/pom.xml,pom-main.xml,pom-main-shaded.xml

この時点で、コンパイラ変更を再コンパイルする必要がない限り、単にコンパイルしてテストケースを実行するだけで時間もかかりません。次に、TestClass#testMethod をテスト対象のクラスとメソッドに置き換えます。

mvn -pl pom-main.xml compiler:testCompile surefire:test -Dtest=TestClass#testMethod

テストが完了したら、まだ作成していない場合はブランチを作成し、プルリクエストを送信します。プルリクエストは対応する GitHub の問題にリンクする必要があります。

最後のステップは、修正が本当に ClojureScript の問題に対処していることを確認することです。

Closure Compiler を ClojureScript に対してテストする

Closure Compiler をビルドする

mvn clean && mvn -DskipTests -pl externs/pom.xml,pom-main.xml,pom-main-unshaded.xml

これにより、ローカル maven にアンシェーデッド JAR がインストールされます。バージョンに注意してください。ClojureScript リポジトリで、Google Closure Compiler アーティファクトの依存関係情報を、好みに応じて使用するツール (project.clj または deps.edn の編集など) を使用して変更します。

ClojureScript 固有のテストを介して ClojureScript の問題が解決されたことをテストします。