another-redis-desktop-manager-git

MEDIUM
maintainer zxp19821005 0 votes scanned 2026-10-05 23:40:58.404909
View on AUR
Why flagged

`bun add` / `bun install <package>` fetches an external package outside source=(). Severity downgraded: the package declares/looks like a Node.js consumer.

Triggered rules

Medium bun install of an undeclared external package bun_install_external

`bun add` / `bun install <package>` fetches an external package outside source=(). Severity downgraded: the package declares/looks like a Node.js consumer.

  • PKGBUILD:100 bun add -D @babel/plugin-proposal-object-rest-spread @vxe-ui/core @babel/runtime

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
2pkgname=another-redis-desktop-manager-git
3_pkgname=Another-Redis-Desktop-Manager
4pkgver=1.7.4.r2.gc149855
5_electronversion=12
6_nodeversion=18
7pkgrel=1
8pkgdesc="A faster, better and more stable Redis desktop manager [GUI client]."
9arch=('any')
10url="https://github.com/qishibo/AnotherRedisDesktopManager"
11license=('MIT')
12conflicts=("${pkgname%-git}")
13provides=("${pkgname%-git}=${pkgver%.r*}")
14depends=(
15 "electron${_electronversion}-bin"
16)
17makedepends=(
18 'gendesk'
19 'npm'
20 'bun'
21 'nvm'
22 'git'
23 'jq'
24)
25source=(
26 "${pkgname%-git}.git::git+${url}.git"
27 "${pkgname%-git}.sh"
28)
29sha256sums=('SKIP'
30 'bd5358d8f323d3c2c2f0733364ee4ea55f551dd86ba0be2a76846210b60897fc')
31_get_project_dir() {
32 local d
33 while IFS= read -r d; do
34 find "$d" -name "package.json" ! -path "*/node_modules/*" 2>/dev/null | grep -q . && { echo "$d"; return; }
35 done < <(find "${srcdir}" -maxdepth 1 -mindepth 1 -type d ! -name '.*')
36}
37pkgver() {
38 cd "$(_get_project_dir)"
39 set -o pipefail
40 git describe --long --tags --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/v//g' ||
41 printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
42}
43_get_app_dir() {
44 find "${srcdir}" -type d -name "node_modules" -prune -o -type f -name "resources.pak" -print0 | xargs -0 dirname | head -n 1
45}
46_get_electron_version() {
47 _elec_ver=$(find "$(_get_project_dir)" -name "package.json" ! -path "*/node_modules/*" -print \
48 | xargs -I{} jq -r '(.devDependencies.electron // .dependencies.electron) // empty' {} 2>/dev/null \
49 | grep -v '^$' | sed 's/^[^0-9]*//' | head -1)
50 [[ -z "${_elec_ver}" ]] && return 1
51 echo -e "The electron version is: \033[1;31m${_elec_ver%%.*}\033[0m"
52}
53_ensure_local_nvm() {
54 local NVM_DIR="${srcdir}/.nvm"
55 source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
56 nvm install "${_nodeversion}"
57 nvm use "${_nodeversion}"
58}
59_set_build_env() {
60 export ELECTRON_DIST="/usr/lib/electron${_electronversion}"
61 export ELECTRON_OVERRIDE_DIST_PATH="${ELECTRON_DIST}"
62 export ELECTRON_SKIP_BINARY_DOWNLOAD=1
63 export ELECTRON_BUILDER_OFFLINE=true
64 export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/^v//')"
65 export NODE_OPTIONS="--openssl-legacy-provider"
66 export HOME="${srcdir}/.home"
67 export XDG_CACHE_HOME="${HOME}/.cache"
68 export XDG_CONFIG_HOME="${HOME}/.config"
69 export XDG_DATA_HOME="${HOME}/.local/share"
70 export BUN_INSTALL_CACHE_DIR="${HOME}/.bun/cache"
71 export BUN_INSTALL_GLOBAL_DIR="${HOME}/.bun/global"
72 export BUN_INSTALL_BIN="${HOME}/.bun/bin"
73 export BUN_CONFIG_SKIP_SAVE_LOCKFILE=1
74 export BUN_CONFIG_SKIP_LOAD_LOCKFILE=1
75 export BUN_DISABLE_DOTENV=1
76 export DO_NOT_TRACK=1
77 export BUN_JOBS="$(nproc)"
78 mkdir -p "${HOME}" "${BUN_INSTALL_CACHE_DIR}" "${BUN_INSTALL_GLOBAL_DIR}" "${BUN_INSTALL_BIN}"
79}
80prepare() {
81 cd "$(_get_project_dir)"
82 _get_electron_version
83 sed -i -e "
84 s/@electronversion@/${_electronversion}/g
85 s/@appname@/${pkgname%-git}/g
86 s/@runname@/app.asar/g
87 s/@cfgdirname@/${pkgname%-git}/g
88 " "${srcdir}/${pkgname%-git}.sh"
89 gendesk -f -n -q \
90 --pkgname="${pkgname%-git}" \
91 --pkgdesc="${pkgdesc}" \
92 --categories="Development" \
93 --name="${_pkgname}" \
94 --exec="${pkgname%-git} %U"
95 _ensure_local_nvm
96 _set_build_env
97 jq --arg ver "${SYSTEM_ELECTRON_VERSION}" '.devDependencies.electron = $ver' package.json > package.json.tmp && mv package.json.tmp package.json
98 rm -rf package-lock.json
99 export NODE_ENV=development
100 bun add -D @babel/plugin-proposal-object-rest-spread @vxe-ui/core @babel/runtime
101 bun install
102}
103build() {
104 cd "$(_get_project_dir)"
105 _ensure_local_nvm
106 _set_build_env
107 export NODE_ENV=production
108 bun run build
109 mkdir -p dist
110 cp -r pack/electron/. dist/
111 npm exec -c "electron-builder --project=dist --linux dir -c.electronDist=${ELECTRON_DIST}"
112 local _app_dir="$(_get_app_dir)"
113 rm -rf "${_app_dir}/resources/app.asar.unpacked/node_modules/font-list/libs/"{darwin,win32}
114}
115package() {
116 install -Dm755 "${srcdir}/${pkgname%-git}.sh" "${pkgdir}/usr/bin/${pkgname%-git}"
117 install -Dm755 -d "${pkgdir}/usr/lib/${pkgname%-git}"
118 local _app_dir="$(_get_app_dir)"
119 cp -a "${_app_dir}/resources/." "${pkgdir}/usr/lib/${pkgname%-git}/"
120 local _src="$(_get_project_dir)"
121 install -Dm644 "${_src}/dist/icons/icon.png" "${pkgdir}/usr/share/pixmaps/${pkgname%-git}.png"
122 install -Dm644 "${_src}/${pkgname%-git}.desktop" -t "${pkgdir}/usr/share/applications"
123 install -Dm644 "${_src}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
124}

Changes since previous scan

--- PKGBUILD @ 2026-07-30 01:13
+++ PKGBUILD @ 2026-10-05 23:40
@@ -1,24 +1,24 @@
# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
pkgname=another-redis-desktop-manager-git
_pkgname=Another-Redis-Desktop-Manager
-pkgver=1.7.2.r0.g0386b7c
+pkgver=1.7.4.r2.gc149855
_electronversion=12
-_nodeversion=16
+_nodeversion=18
pkgrel=1
-pkgdesc="A faster, better and more stable Redis desktop manager [GUI client](Use system-wide electron)"
+pkgdesc="A faster, better and more stable Redis desktop manager [GUI client]."
arch=('any')
url="https://github.com/qishibo/AnotherRedisDesktopManager"
license=('MIT')
conflicts=("${pkgname%-git}")
provides=("${pkgname%-git}=${pkgver%.r*}")
depends=(
- "electron${_electronversion}"
+ "electron${_electronversion}-bin"
)
makedepends=(
'gendesk'
'npm'
+ 'bun'
'nvm'
- 'curl'
'git'
'jq'
)
@@ -27,21 +27,28 @@
"${pkgname%-git}.sh"
)
sha256sums=('SKIP'
- 'a774c2f54fbbeeaac3cefc0f7250796d30c86d27f0fd40b7eaf9c0fdb021623d')
+ 'bd5358d8f323d3c2c2f0733364ee4ea55f551dd86ba0be2a76846210b60897fc')
+_get_project_dir() {
+ local d
+ while IFS= read -r d; do
+ find "$d" -name "package.json" ! -path "*/node_modules/*" 2>/dev/null | grep -q . && { echo "$d"; return; }
+ done < <(find "${srcdir}" -maxdepth 1 -mindepth 1 -type d ! -name '.*')
+}
pkgver() {
- cd "${srcdir}/${pkgname%-git}.git"
+ cd "$(_get_project_dir)"
set -o pipefail
git describe --long --tags --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/v//g' ||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
}
_get_app_dir() {
- find "${srcdir}" -type f -name "resources.pak" -exec dirname {} + | head -n 1
+ find "${srcdir}" -type d -name "node_modules" -prune -o -type f -name "resources.pak" -print0 | xargs -0 dirname | head -n 1
}
_get_electron_version() {
- _elec_ver=$(find "${srcdir}" -maxdepth 5 -name "package.json" ! -path "*/node_modules/*" \
- -exec grep -l '"electron"' {} + | xargs -I{} jq -r '(.devDependencies.electron // .dependencies.electron) // empty' {} 2>/dev/null | head -1)
- [[ -z "${_elec_ver}" ]] && return 1
- echo -e "The electron version is: \033[1;31m${_elec_ver%%.*}\033[0m"
+ _elec_ver=$(find "$(_get_project_dir)" -name "package.json" ! -path "*/node_modules/*" -print \
+ | xargs -I{} jq -r '(.devDependencies.electron // .dependencies.electron) // empty' {} 2>/dev/null \
+ | grep -v '^$' | sed 's/^[^0-9]*//' | head -1)
+ [[ -z "${_elec_ver}" ]] && return 1
+ echo -e "The electron version is: \033[1;31m${_elec_ver%%.*}\033[0m"
}
_ensure_local_nvm() {
local NVM_DIR="${srcdir}/.nvm"
@@ -50,24 +57,28 @@
nvm use "${_nodeversion}"
}
_set_build_env() {
- export ELECTRON_DIST="/usr/lib/electron${_electronversion}"
- export ELECTRON_SKIP_BINARY_DOWNLOAD=1
- export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')"
- export HOME="${srcdir}/.electron-gyp"
- export NPM_CONFIG_CACHE="${srcdir}/.npm_cache"
- export NPM_CONFIG_MAXSOCKETS=32
- if [[ "$(curl -s ipinfo.io/country)" == *"CN"* ]]; then
- {
- export NPM_CONFIG_REGISTRY="https://registry.npmmirror.com"
- export NODEJS_ORG_MIRROR="https://npmmirror.com/mirrors/node"
- export ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"
- export ELECTRON_BUILDER_BINARIES_MIRROR="https://npmmirror.com/mirrors/electron-builder-binaries/"
- }
- find ./ -type f -name "package-lock.json" -exec sed -i "s/registry.npmjs.org/registry.npmmirror.com/g" {} +
- fi
+ export ELECTRON_DIST="/usr/lib/electron${_electronversion}"
+ export ELECTRON_OVERRIDE_DIST_PATH="${ELECTRON_DIST}"
+ export ELECTRON_SKIP_BINARY_DOWNLOAD=1
+ export ELECTRON_BUILDER_OFFLINE=true
+ export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/^v//')"
+ export NODE_OPTIONS="--openssl-legacy-provider"
+ export HOME="${srcdir}/.home"
+ export XDG_CACHE_HOME="${HOME}/.cache"
+ export XDG_CONFIG_HOME="${HOME}/.config"
+ export XDG_DATA_HOME="${HOME}/.local/share"
+ export BUN_INSTALL_CACHE_DIR="${HOME}/.bun/cache"
+ export BUN_INSTALL_GLOBAL_DIR="${HOME}/.bun/global"
+ export BUN_INSTALL_BIN="${HOME}/.bun/bin"
+ export BUN_CONFIG_SKIP_SAVE_LOCKFILE=1
+ export BUN_CONFIG_SKIP_LOAD_LOCKFILE=1
+ export BUN_DISABLE_DOTENV=1
+ export DO_NOT_TRACK=1
+ export BUN_JOBS="$(nproc)"
+ mkdir -p "${HOME}" "${BUN_INSTALL_CACHE_DIR}" "${BUN_INSTALL_GLOBAL_DIR}" "${BUN_INSTALL_BIN}"
}
prepare() {
- cd "${srcdir}/${pkgname%-git}.git"
+ cd "$(_get_project_dir)"
_get_electron_version
sed -i -e "
s/@electronversion@/${_electronversion}/g
@@ -81,25 +92,33 @@
--categories="Development" \
--name="${_pkgname}" \
--exec="${pkgname%-git} %U"
+ _ensure_local_nvm
_set_build_env
- _ensure_local_nvm
- sed -i "s/\"electron\": \"[^\"]*\"/\"electron\": \"${SYSTEM_ELECTRON_VERSION}\"/g" package.json
- NODE_ENV=development npm install --leagacy-peer-deps
+ jq --arg ver "${SYSTEM_ELECTRON_VERSION}" '.devDependencies.electron = $ver' package.json > package.json.tmp && mv package.json.tmp package.json
+ rm -rf package-lock.json
+ export NODE_ENV=development
+ bun add -D @babel/plugin-proposal-object-rest-spread @vxe-ui/core @babel/runtime
+ bun install
}
build() {
- cd "${srcdir}/${pkgname%-git}.git"
+ cd "$(_get_project_dir)"
+ _ensure_local_nvm
_set_build_env
- _ensure_local_nvm
- NODE_ENV=production npm run pack:prepare
- NODE_ENV=production npm exec -c "electron-builder --project=dist --linux dir -c.electronDist=${ELECTRON_DIST}"
+ export NODE_ENV=production
+ bun run build
+ mkdir -p dist
+ cp -r pack/electron/. dist/
+ npm exec -c "electron-builder --project=dist --linux dir -c.electronDist=${ELECTRON_DIST}"
+ local _app_dir="$(_get_app_dir)"
+ rm -rf "${_app_dir}/resources/app.asar.unpacked/node_modules/font-list/libs/"{darwin,win32}
}
package() {
install -Dm755 "${srcdir}/${pkgname%-git}.sh" "${pkgdir}/usr/bin/${pkgname%-git}"
install -Dm755 -d "${pkgdir}/usr/lib/${pkgname%-git}"
- local _app_dir=$(_get_app_dir)
- cp -a "${_app_dir}/resources/"* "${pkgdir}/usr/lib/${pkgname%-git}/"
- install -Dm644 "${srcdir}/${pkgname%-git}.git/dist/icons/icon.png" "${pkgdir}/usr/share/pixmaps/${pkgname%-git}.png"
- install -Dm644 "${srcdir}/${pkgname%-git}.git/${pkgname%-git}.desktop" -t "${pkgdir}/usr/share/applications"
- install -Dm644 "${srcdir}/${pkgname%-git}.git/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
+ local _app_dir="$(_get_app_dir)"
+ cp -a "${_app_dir}/resources/." "${pkgdir}/usr/lib/${pkgname%-git}/"
+ local _src="$(_get_project_dir)"
+ install -Dm644 "${_src}/dist/icons/icon.png" "${pkgdir}/usr/share/pixmaps/${pkgname%-git}.png"
+ install -Dm644 "${_src}/${pkgname%-git}.desktop" -t "${pkgdir}/usr/share/applications"
+ install -Dm644 "${_src}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
-

Scan history

Scanned at (UTC)SeverityRules
2026-10-05 23:40:58 Medium 1
2026-07-30 01:13:52 Clean 0
2026-06-18 16:11:54 Clean 0

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion