# Maintainer: Felix Yan # Maintainer: Maxim Baz <$pkgname at maximbaz dot com> # Maintainer: Daniel M. Capella pkgname=bash-language-server pkgver=4.9.2 pkgrel=2 pkgdesc="Bash language server implementation based on Tree Sitter and its grammar for Bash" arch=("any") url="https://github.com/bash-lsp/bash-language-server" license=("MIT") depends=("nodejs") makedepends=("git" "jq" "typescript" "yarn") optdepends=('bash-completion: for CLI args completion' 'man-db: for documentation via manual pages' 'shellcheck: to enable linting') source=("$pkgname-$pkgver.tar.gz::$url/archive/server-$pkgver.tar.gz") b2sums=('749be509b3209b4ffac58a692f42de6277f3ebf249688610c8a5f9288145f6c9eab5b36eb9755218bbdba778f5cd17b4b1c8879341642da70fd592397e3824d3') build() { cd "$pkgname-server-$pkgver" yarn --frozen-lockfile yarn run compile } package() { cd "$pkgname-server-$pkgver/server" # Emulate `npm prune --production` cp package.json{,.bak} read -ra devDependencies < <(jq -r '.devDependencies | keys | join(" ")' package.json) yarn remove --frozen-lockfile "${devDependencies[@]}" mv package.json{.bak,} install -d "$pkgdir/usr/lib/$pkgname" cd "$pkgdir/usr/lib/$pkgname" cp -a "$srcdir/$pkgname-server-$pkgver/server/"* . chmod +x out/cli.js install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname/" "$srcdir/$pkgname-server-$pkgver/LICENSE" install -d "$pkgdir/usr/bin" ln -s "/usr/lib/$pkgname/out/cli.js" "$pkgdir/usr/bin/$pkgname" }