excel-parser-processor-git

MEDIUM
maintainer zxp19821005 0 votes scanned 2026-09-24 03:41:46.078749
View on AUR
Why flagged

Runs `npm/yarn/pnpm install <package>` for a package not in source=(), pulling unpinned, unreviewed code at build time. Severity downgraded: the package declares/looks like a Node.js consumer, where build-time installs are expected.

Triggered rules

Medium npm/yarn/pnpm install of an undeclared external package npm_install_external

Runs `npm/yarn/pnpm install <package>` for a package not in source=(), pulling unpinned, unreviewed code at build time. Severity downgraded: the package declares/looks like a Node.js consumer, where build-time installs are expected.

  • PKGBUILD:94 npm install -D sass

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
2pkgname=excel-parser-processor-git
3_pkgname=Excel-Parser-Processor
4pkgver=1.3.1.r503.g2fb910a
5_electronversion=39
6_nodeversion=22
7pkgrel=1
8pkgdesc="Simply generates an array of items from the rows of an Excel file and does the repetitive tedious operations step by step recursively till every item of the array is processed."
9arch=('any')
10url="https://github.com/btargac/excel-parser-processor"
11license=('MIT')
12conflicts=("${pkgname%-git}")
13provides=("${pkgname%-git}=${pkgver%.r*}")
14depends=(
15 "electron${_electronversion}"
16)
17makedepends=(
18 'npm'
19 'git'
20 'nvm'
21 'gendesk'
22 'jq'
23)
24source=(
25 "${pkgname%-git}.git::git+${url}.git"
26 "${pkgname%-git}.sh"
27)
28sha256sums=('SKIP'
29 'bd5358d8f323d3c2c2f0733364ee4ea55f551dd86ba0be2a76846210b60897fc')
30_get_project_dir() {
31 local d
32 while IFS= read -r d; do
33 find "$d" -name "package.json" ! -path "*/node_modules/*" 2>/dev/null | grep -q . && { echo "$d"; return; }
34 done < <(find "${srcdir}" -maxdepth 1 -mindepth 1 -type d ! -name '.*')
35}
36pkgver() {
37 cd "$(_get_project_dir)"
38 set -o pipefail
39 git describe --long --tags --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/v//g' ||
40 printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
41}
42_ensure_local_nvm() {
43 local NVM_DIR="${srcdir}/.nvm"
44 source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
45 nvm install "${_nodeversion}"
46 nvm use "${_nodeversion}"
47}
48_get_app_dir() {
49 find "${srcdir}" -type d -name "node_modules" -prune -o -type f -name "resources.pak" -print0 | xargs -0 dirname | head -n 1
50}
51_get_electron_version() {
52 _elec_ver=$(find "$(_get_project_dir)" -name "package.json" ! -path "*/node_modules/*" -print \
53 | xargs -I{} jq -r '(.devDependencies.electron // .dependencies.electron) // empty' {} 2>/dev/null \
54 | grep -v '^$' | sed 's/^[^0-9]*//' | head -1)
55 [[ -z "${_elec_ver}" ]] && return 1
56 echo -e "The electron version is: \033[1;31m${_elec_ver%%.*}\033[0m"
57}
58_set_build_env() {
59 export ELECTRON_DIST="/usr/lib/electron${_electronversion}"
60 export ELECTRON_OVERRIDE_DIST_PATH="${ELECTRON_DIST}"
61 export ELECTRON_SKIP_BINARY_DOWNLOAD=1
62 export ELECTRON_BUILDER_OFFLINE=true
63 export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/^v//')"
64 export HOME="${srcdir}/.home"
65 export XDG_CACHE_HOME="${HOME}/.cache"
66 export XDG_CONFIG_HOME="${HOME}/.config"
67 export XDG_DATA_HOME="${HOME}/.local/share"
68 export npm_config_cache="${HOME}/.npm_cache"
69 export COREPACK_NPM_REGISTRY="${COREPACK_NPM_REGISTRY:-${NPM_CONFIG_REGISTRY:-https://registry.npmjs.org}}"
70 export COREPACK_HOME="${HOME}/.corepack"
71 export npm_config_audit=false
72 mkdir -p "${HOME}" "${npm_config_cache}" "${COREPACK_HOME}"
73}
74prepare() {
75 cd "$(_get_project_dir)"
76 _get_electron_version
77 sed -i -e "
78 s/@electronversion@/${_electronversion}/g
79 s/@appname@/${pkgname%-git}/g
80 s/@runname@/app.asar/g
81 s/@cfgdirname@/${_pkgname//-/ }/g
82 " "${srcdir}/${pkgname%-git}.sh"
83 gendesk -q -f -n \
84 --pkgname="${pkgname%-git}" \
85 --pkgdesc="${pkgdesc}" \
86 --categories="Utility" \
87 --name="${_pkgname}" \
88 --exec="${pkgname%-git} %U"
89 _ensure_local_nvm
90 _set_build_env
91 sed -i '/"devDependencies":/{:a;N;/^[[:space:]]*}/!ba;s/"electron": "[^"]*"/"electron": "'${SYSTEM_ELECTRON_VERSION}'"/}' package.json
92 export NODE_ENV=development
93 npm install --legacy-peer-deps
94 npm install -D sass
95}
96build() {
97 cd "$(_get_project_dir)"
98 _ensure_local_nvm
99 _set_build_env
100 export NODE_ENV=production
101 npm run build
102 npm exec -c "electron-builder build --linux dir -c.electronDist=${ELECTRON_DIST}"
103}
104package() {
105 local _src="$(_get_project_dir)"
106 install -Dm755 -d "${pkgdir}/usr/lib/${pkgname%-git}"
107 local _app_dir=$(_get_app_dir)
108 cp -a "${_app_dir}/resources/." "${pkgdir}/usr/lib/${pkgname%-git}/"
109 _icon_sizes=(16x16 24x24 32x32 48x48 64x64 128x128 256x256 512x512 1024x1024)
110 for _icons in "${_icon_sizes[@]}";do
111 install -Dm644 "${_src}/build/icons/${_icons}.png" \
112 "${pkgdir}/usr/share/icons/hicolor/${_icons}/apps/${pkgname%-git}.png"
113 done
114 install -Dm644 "${_src}/${pkgname%-git}.desktop" -t "${pkgdir}/usr/share/applications"
115 install -Dm644 "${_src}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
116}

Changes since previous scan

--- PKGBUILD @ 2026-06-18 16:11
+++ PKGBUILD @ 2026-09-24 03:41
@@ -1,110 +1,116 @@
# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
pkgname=excel-parser-processor-git
_pkgname=Excel-Parser-Processor
-pkgver=1.3.1.r500.gec6b347
-_electronversion=36
+pkgver=1.3.1.r503.g2fb910a
+_electronversion=39
_nodeversion=22
pkgrel=1
-pkgdesc="Simply generates an array of items from the rows of an Excel file and does the repetitive tedious operations step by step recursively till every item of the array is processed.(Use system-wide electron)"
+pkgdesc="Simply generates an array of items from the rows of an Excel file and does the repetitive tedious operations step by step recursively till every item of the array is processed."
arch=('any')
url="https://github.com/btargac/excel-parser-processor"
license=('MIT')
conflicts=("${pkgname%-git}")
provides=("${pkgname%-git}=${pkgver%.r*}")
depends=(
- "electron${_electronversion}"
+ "electron${_electronversion}"
)
makedepends=(
- 'npm'
- 'git'
- 'nvm'
- 'gendesk'
- 'curl'
- 'jq'
+ 'npm'
+ 'git'
+ 'nvm'
+ 'gendesk'
+ 'jq'
)
source=(
- "${pkgname%-git}.git::git+${url}.git"
- "${pkgname%-git}.sh"
+ "${pkgname%-git}.git::git+${url}.git"
+ "${pkgname%-git}.sh"
)
sha256sums=('SKIP'
- '31ad33b633744f5361abd964be306cea53ae1050e760c787115f7eca60045ae6')
+ '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"
- 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)"
+ 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)"
}
_ensure_local_nvm() {
- local NVM_DIR="${srcdir}/.nvm"
- source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
- nvm install "${_nodeversion}"
- nvm use "${_nodeversion}"
+ local NVM_DIR="${srcdir}/.nvm"
+ source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
+ nvm install "${_nodeversion}"
+ nvm use "${_nodeversion}"
+}
+_get_app_dir() {
+ 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=$(jq -r '.devDependencies["electron"] // .dependencies["electron"]' "${srcdir}/${pkgname%-git}.git/package.json" | tr -d '^')
- _main_ver=$(echo "${_elec_ver}" | cut -d. -f1)
- echo -e "The electron version is: \033[1;31m${_main_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"
+}
+_set_build_env() {
+ 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 HOME="${srcdir}/.home"
+ export XDG_CACHE_HOME="${HOME}/.cache"
+ export XDG_CONFIG_HOME="${HOME}/.config"
+ export XDG_DATA_HOME="${HOME}/.local/share"
+ export npm_config_cache="${HOME}/.npm_cache"
+ export COREPACK_NPM_REGISTRY="${COREPACK_NPM_REGISTRY:-${NPM_CONFIG_REGISTRY:-https://registry.npmjs.org}}"
+ export COREPACK_HOME="${HOME}/.corepack"
+ export npm_config_audit=false
+ mkdir -p "${HOME}" "${npm_config_cache}" "${COREPACK_HOME}"
}
prepare() {
- cd "${srcdir}/${pkgname%-git}.git"
- _get_electron_version
- sed -i -e "
- s/@electronversion@/${_electronversion}/g
- s/@appname@/${pkgname%-git}/g
- s/@runname@/app.asar/g
- s/@cfgdirname@/${_pkgname//-/ }/g
- s/@options@/env ELECTRON_OZONE_PLATFORM_HINT=auto/g
- " "${srcdir}/${pkgname%-git}.sh"
- gendesk -q -f -n \
- --pkgname="${pkgname%-git}" \
- --pkgdesc="${pkgdesc}" \
- --categories="Utility" \
- --name="${_pkgname}" \
- --exec="${pkgname%-git} %U"
- export ELECTRON_SKIP_BINARY_DOWNLOAD=1
- export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')"
- HOME="${srcdir}/.electron-gyp"
- {
- echo -e '\n'
- #echo 'build_from_source=true'
- echo "cache=${srcdir}/.npm_cache"
- echo "maxsockets=32"
- } >> .npmrc
- if [[ "$(curl -s ipinfo.io/country)" == *"CN"* ]]; then
- {
- export NPM_CONFIG_REGISTRY="https://registry.npmmirror.com"
- export NPM_CONFIG_ELECTRON_MIRROR="https://registry.npmmirror.com/-/binary/electron/"
- export NPM_CONFIG_ELECTRON_BUILDER_BINARIES_MIRROR="https://registry.npmmirror.com/-/binary/electron-builder-binaries/"
- }
- find ./ -type f -name "package-lock.json" -exec sed -i "s/registry.npmjs.org/registry.npmmirror.com/g" {} +
- fi
- _ensure_local_nvm
- sed -i "s/\"electron\": \"[^\"]*\"/\"electron\": \"${SYSTEM_ELECTRON_VERSION}\"/g" package.json
- NODE_ENV=development npm install
+ cd "$(_get_project_dir)"
+ _get_electron_version
+ sed -i -e "
+ s/@electronversion@/${_electronversion}/g
+ s/@appname@/${pkgname%-git}/g
+ s/@runname@/app.asar/g
+ s/@cfgdirname@/${_pkgname//-/ }/g
+ " "${srcdir}/${pkgname%-git}.sh"
+ gendesk -q -f -n \
+ --pkgname="${pkgname%-git}" \
+ --pkgdesc="${pkgdesc}" \
+ --categories="Utility" \
+ --name="${_pkgname}" \
+ --exec="${pkgname%-git} %U"
+ _ensure_local_nvm
+ _set_build_env
+ sed -i '/"devDependencies":/{:a;N;/^[[:space:]]*}/!ba;s/"electron": "[^"]*"/"electron": "'${SYSTEM_ELECTRON_VERSION}'"/}' package.json
+ export NODE_ENV=development
+ npm install --legacy-peer-deps
+ npm install -D sass
}
build() {
- cd "${srcdir}/${pkgname%-git}.git"
- _ensure_local_nvm
- local electronDist="/usr/lib/electron${_electronversion}"
- NODE_ENV=production npm run build
- NODE_ENV=production npm exec -c "electron-builder build --linux dir -c.electronDist=${electronDist}"
+ cd "$(_get_project_dir)"
+ _ensure_local_nvm
+ _set_build_env
+ export NODE_ENV=production
+ npm run build
+ npm exec -c "electron-builder build --linux dir -c.electronDist=${ELECTRON_DIST}"
}
package() {
- install -Dm755 "${srcdir}/${pkgname%-git}.sh" "${pkgdir}/usr/bin/${pkgname%-git}"
- install -Dm755 -d "${pkgdir}/usr/lib/${pkgname%-git}"
- find "${srcdir}/${pkgname%-git}.git/release/linux-"*"/resources" -maxdepth 1 -type f -exec install -Dm644 -t "${pkgdir}/usr/lib/${pkgname%-git}" {} +
- if find "${srcdir}/${pkgname%-git}.git/release/linux-"*"/resources" -mindepth 1 -maxdepth 1 -type d | read; then
- for _subdir in "${srcdir}/${pkgname%-git}.git/release/linux-"*"/resources/"*; do
- if [ -d "${_subdir}" ]; then
- cp -Pr --no-preserve=ownership "${_subdir}" "${pkgdir}/usr/lib/${pkgname%-git}"
- fi
- done
- fi
- _icon_sizes=(16x16 24x24 32x32 48x48 64x64 128x128 256x256 512x512 1024x1024)
- for _icons in "${_icon_sizes[@]}";do
- install -Dm644 "${srcdir}/${pkgname%-git}.git/build/icons/${_icons}.png" \
- "${pkgdir}/usr/share/icons/hicolor/${_icons}/apps/${pkgname%-git}.png"
- done
- 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 _src="$(_get_project_dir)"
+ install -Dm755 -d "${pkgdir}/usr/lib/${pkgname%-git}"
+ local _app_dir=$(_get_app_dir)
+ cp -a "${_app_dir}/resources/." "${pkgdir}/usr/lib/${pkgname%-git}/"
+ _icon_sizes=(16x16 24x24 32x32 48x48 64x64 128x128 256x256 512x512 1024x1024)
+ for _icons in "${_icon_sizes[@]}";do
+ install -Dm644 "${_src}/build/icons/${_icons}.png" \
+ "${pkgdir}/usr/share/icons/hicolor/${_icons}/apps/${pkgname%-git}.png"
+ done
+ 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-09-24 03:41:46 Medium 1
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