#!/usr/bin/env bash

set -e

# eval "$(pkgx --shellcode)"
root=$(git rev-parse --show-toplevel)

function main() {
    pushd ${root}
    # env +go
    # env +buf
    # env +npm
    # env +npx
    # env +node@20

    generate_peg
    generate_protobuf
}

function generate_protobuf() {
    # npm install \
    #     --save-dev \
    #     @connectrpc/connect \
    #     @connectrpc/connect-web \
    #     @connectrpc/connect-query \
    #     @connectrpc/protoc-gen-connect-es \
    #     @bufbuild/protoc-gen-es \
    #     @bufbuild/buf

    # pkgx go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
    # pkgx go install connectrpc.com/connect/cmd/protoc-gen-connect-go@latest

    export PATH=${PATH}:${root}/node_modules/.bin
    pkgx buf format -w
    pkgx buf generate
}

function generate_peg() {
    go install github.com/pointlander/peg@latest
    peg ${root}/go/pkg/logql/grammar.peg
}

main
