summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 5d43f36a9f40f8997439053ba77a75925ef708ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Maintainer: Yakov Till <yakov.till@gmail.com>
pkgname=playwright-mcp
pkgver=0.0.83
pkgrel=1
pkgdesc="MCP server that provides browser automation capabilities using Playwright"
arch=('any')
url="https://github.com/microsoft/playwright-mcp"
license=('Apache-2.0')
depends=('nodejs>=18')
makedepends=('npm')
optdepends=(
    'chromium: use system Chromium instead of Playwright-managed browsers'
    'firefox: use system Firefox instead of Playwright-managed browsers'
)
_npmname="@playwright/mcp"
source=("$pkgname-$pkgver.tgz::https://registry.npmjs.org/${_npmname}/-/mcp-${pkgver}.tgz")
sha256sums=('f0014a13361b1ee2d8607a4e187868ab9a6e8ac637dbcd66e4af43f738d0c8cb')
noextract=("$pkgname-$pkgver.tgz")

latestver() {
    curl -fsSL "https://registry.npmjs.org/${_npmname}/latest" |
        python3 -c "import sys,json; print(json.load(sys.stdin)['version'])"
}

package() {
    npm install -g --prefix "$pkgdir/usr" --cache "$srcdir/npm-cache" \
        --omit=dev --ignore-scripts "$srcdir/$pkgname-$pkgver.tgz"

    # Remove non-Linux platform scripts
    find "$pkgdir" -type f \( -name "*.ps1" -o -name "*_mac.*" -o -name "*_wsl.*" \) -delete

    # Fix npm reference paths
    find "$pkgdir" -type f -name package.json -print0 | xargs -0 sed -i "/_where/d"
    find "$pkgdir" -name package.json -exec sed -i "s|$srcdir||g;s|$pkgdir||g" {} +

    chown -R root:root "$pkgdir"
}