nodejs-perl-navigator-web-server
MEDIUM
maintainer Kharec
2 votes
base
perlnavigator
scanned 2026-09-07 17:15:15.263748
Why flagged
`npx`/`bunx`/`pnpm dlx`/`deno run <url>` downloads AND runs a remote package at build time — the moral equivalent of piping a download into a shell. Severity downgraded: Node.js consumer context.
Triggered rules
Medium
npx/bunx/deno executes a remote package
remote_code_tool
`npx`/`bunx`/`pnpm dlx`/`deno run <url>` downloads AND runs a remote package at build time — the moral equivalent of piping a download into a shell. Severity downgraded: Node.js consumer context.
-
PKGBUILD:63
npx tsc
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Beini <bane at iki dot fi>
2
pkgname=('perlnavigator'
3
'nodejs-perl-navigator-web-server'
4
'nodejs-perlnavigator-client'
5
'nodejs-perlnavigator-server'
6
)
7
pkgbase=perlnavigator
8
_pkgname=PerlNavigator
9
pkgver=0.8.20
10
pkgrel=2
11
pkgdesc="Perl language server that includes syntax checking, perl critic, and code navigation"
12
arch=('any')
13
url="https://github.com/bscan/PerlNavigator"
14
license=('MIT')
15
makedepends=('npm' 'jq')
16
source=(
17
"${pkgbase}-${pkgver}.tar.gz::https://github.com/bscan/${_pkgname}/archive/refs/tags/v${pkgver}.tar.gz")
18
b2sums=('3ae6507d51f68816d6503cfcfde068fe5c5b9e787c93e6856acaa271cbd5fe21eb083aca748c62035eafb3871a458721bfb0b2b913ed72b3e44dab7d8ea7e140')
19
20
_package_node_subdir(){
21
local subdir=$1
22
23
cd "${_pkgname}-${pkgver}"
24
25
npm install -g \
26
--cache "${srcdir}/npm-cache" \
27
--prefix "${pkgdir}/usr" \
28
--install-links "./$subdir"
29
30
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
31
32
find "${pkgdir}/usr" -type d -exec chmod 755 {} +
33
34
chown -R root:root "${pkgdir}"
35
36
find "${pkgdir}" -type f -name "package.json" -print0 \
37
| xargs -0 sed -i "/_where/d"
38
39
local tmppackage="$(mktemp)"
40
local pkgjson="${pkgdir}/usr/lib/node_modules/${pkgname#nodejs-}/package.json"
41
jq '.|=with_entries(select(.key|test("_.+")|not))' "${pkgjson}" > "${tmppackage}"
42
mv "${tmppackage}" "${pkgjson}"
43
chmod 644 "${pkgjson}"
44
}
45
46
prepare() {
47
cd "${_pkgname}-${pkgver}"
48
npm ci --cache "${srcdir}/npm-cache" --ignore-scripts
49
50
local subdir
51
for subdir in browser-ext client server
52
do
53
pushd $subdir
54
npm ci --cache "${srcdir}/npm-cache"
55
popd
56
done
57
}
58
59
build() {
60
cd "${_pkgname}-${pkgver}"
61
npm run ci-all
62
cd server
63
npx tsc
64
}
65
66
package_perlnavigator() {
67
pkgdesc="Perl language server that includes syntax checking, perl critic, and code navigation. Self-contained executable"
68
arch=('x86_64' 'aarch64')
69
depends=('glibc' 'gcc-libs')
70
# Both provide /usr/bin/perlnavigator
71
conflicts=('nodejs-perlnavigator-server')
72
options=("!strip")
73
74
cd "${_pkgname}-${pkgver}"
75
install -d "${pkgdir}/usr/lib/node_modules"
76
cp -a server "${pkgdir}/usr/lib/node_modules/perlnavigator-server"
77
78
install -d "${pkgdir}/usr/bin"
79
ln -s ../lib/node_modules/perlnavigator-server/bin/perlnavigator \
80
"${pkgdir}/usr/bin/perlnavigator"
81
82
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
83
}
84
85
package_nodejs-perl-navigator-web-server() {
86
pkgdesc="Perl language server implementation in a web extension"
87
depends=("nodejs")
88
89
_package_node_subdir browser-ext
90
}
91
92
package_nodejs-perlnavigator-client() {
93
pkgdesc="Perl language server client"
94
depends=("bash" "nodejs")
95
96
_package_node_subdir client
97
}
98
99
package_nodejs-perlnavigator-server() {
100
depends=("nodejs")
101
provides=('perlnavigator')
102
conflicts=('perlnavigator')
103
104
_package_node_subdir server
105
}
106
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-07 17:15:15 | Medium | 1 |
| 2026-06-20 00:18:46 | Clean | 2 |
| 2026-06-19 23:51:18 | Medium | 2 |
| 2026-06-19 19:07:35 | Low | 2 |
| 2026-06-18 16:11:54 | Medium | 1 |