#!/usr/bin/env bash set -e root_dir=$PWD if [ "$CI" == true ]; then set -x tree_sitter="$TREE_SITTER" else cargo build --release tree_sitter=${root_dir}/target/release/tree-sitter fi build_wasm_args= if [[ $1 == "--docker" ]]; then build_wasm_args="--docker" shift fi filter_grammar_name=$1 grammars_dir=${root_dir}/test/fixtures/grammars grammar_files=$(find "$grammars_dir" -name grammar.js | grep -v node_modules) while read -r grammar_file; do grammar_dir=$(dirname "$grammar_file") grammar_name=$(basename "$grammar_dir") if [[ -n $filter_grammar_name && "$filter_grammar_name" != "$grammar_name" ]]; then continue fi echo "Compiling ${grammar_name} parser to wasm" "$tree_sitter" build --wasm $build_wasm_args -o target/release/tree-sitter-"${grammar_name}".wasm "$grammar_dir" done <<<"$grammar_files"