#!/usr/bin/env bash set -e ROOT_DIR="$PWD" GRAMMARS_DIR="$ROOT_DIR/test/fixtures/grammars" if [[ $CI == true ]]; then set -x 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" while read -r grammar_file; do grammar_dir="${grammar_file%/*}" grammar_name="${grammar_dir##*/}" if [[ -n $filter_grammar_name && "$filter_grammar_name" != "$grammar_name" ]]; then continue fi printf 'Compiling %s parser to wasm\n' "$grammar_name" "$TREE_SITTER" build --wasm $build_wasm_args -o "target/release/tree-sitter-${grammar_name}.wasm" "$grammar_dir" done < <(find "$GRAMMARS_DIR" -name grammar.js -not -path '*/node_modules/*')