lein test
重要な JavaScript ランタイムをセットアップする方法。
Google V8 のチェックアウトとビルド手順に従ってください。
V8_HOME 環境変数を、d8 がビルドされたパスに設定します。例:
export V8_HOME="$HOME/v8/out/x64.release"
以下で確認します。
echo quit | $V8_HOME/d8
https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central/ から JavaScript シェル (jsshell) を取得します。 SPIDERMONKEY_HOME 環境変数をインストール場所に設定します。
以下で確認します。
$SPIDERMONKEY_HOME/js --version
macOS では、JavaScriptCore を使用してテストします。 JavaScriptCore (jsc) はシステムに存在するはずですが、見つかるように `PATH` 環境変数に追加する必要があります。例:
export PATH="$PATH:/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources"
`jsc` でプロンプトが表示されることを確認します。
`$NASHORN_HOME` 環境変数を以下のように設定します。
$NASHORN_HOME/jjs
JavaScript コンソールをプロンプトします。 Nashorn は通常 `$JAVA_HOME/bin` にあるため、次のように記述できます。
export NASHORN_HOME="$JAVA_HOME/bin"
以下で確認します。
echo 'quit()' | $NASHORN_HOME/jjs -fv
https://graalvm.dokyumento.jp から GraalVM を取得します。 GRAALVM_HOME 環境変数を、`$GRAALVM_HOME/js` が Graal.js を実行するように設定します。
以下で確認します。
$GRAALVM_HOME/js --version
https://github.com/Microsoft/ChakraCore/releases から ChakraCore を取得します。 CHAKRACORE_HOME 環境変数を、`$CHAKRACORE_HOME/ch` が ChakraCore を実行するように設定します。
以下で確認します。
$CHAKRACORE_HOME/ch -version
Node.js がインストールされている場合、ブートストラップされた ClojureScript テストスイート ( `src/test/self/self_host/test.cljs` にあります) を実行できます。
./script/test-self-host
また、以下を実行することで、Node.js 内でブートストラップモードで ClojureScript コンパイラテストスイートをビルドして実行することもできます。
./script/test-self-parity
以下を実行することで、ClojureScript CLI を実行するテストを実行できます。
./script/test-cli repl-env [repl-env-opts-edn]
ここで、`repl-env` は、組み込みの REPL 環境 ( `node` 、 `browser` など) のいずれかです。これは `cljs.main` の `-re` オプションに渡されます。
`graaljs` REPL 環境でテストするには、PATH の早い段階で GRAALVM_HOME が見つかる必要があります。以下でテストできます。
(export PATH="$GRAALVM_HOME:$PATH"; ./script/test-cli graaljs)
組み込みではない REPL 環境を指定することもできますが、ダウンストリーム REPL 環境をクラスパスに含めるように `script/test-cli` を変更する必要があります。オプションの `repl-env-opts-edn` を渡すこともできます。これは `cljs.main` の `-ro` オプションに渡されます。
ブラウザ REPL が誤って壊れていないことを確認することが重要です。
`./script/test-cli browser` を介してブラウザ REPL に対して既にテストを実行している可能性があります。そうでない場合は、今すぐ実行してください。注: このテストでは、多くのブラウザウィンドウ/タブが起動されるのが普通です。
さらに、サニティ `(js/alert "Hello CLJS!")` を試してみるだけでも、手動で確認した後にのみ安心できる場合があります。
clojurescript プロジェクトのルートディレクトリから `clj -M -m cljs.main` を実行することで、ブラウザ REPL を起動できます。
または、新しい空のディレクトリから、 `1.10.123` をローカルバージョンに置き換えて、ClojureScript コンパイラのビルドを指す `deps.edn` を作成します。
{:deps {org.clojure/clojurescript {:mvn/version "1.10.123"}}}
そして、このディレクトリから `cljs -m cljs.main` を実行します。