@@ -62,7 +62,7 @@ apt-get install -y -q --no-install-recommends \
6262
6363log " Installing modern node-gyp + tooling..."
6464npm cache clean --force || true
65- npm install -g npm pnpm patch-package typescript node-gyp@latest
65+ npm install -g npm patch-package typescript node-gyp@latest
6666
6767NODE_GYP_JS=" $( npm root -g) /node-gyp/bin/node-gyp.js"
6868if [ ! -f " $NODE_GYP_JS " ]; then
@@ -72,10 +72,8 @@ if [ ! -f "$NODE_GYP_JS" ]; then
7272 exit 1
7373fi
7474export npm_config_node_gyp=" $NODE_GYP_JS "
75- export PNPM_HOME=" ${PNPM_HOME:-/ usr/ local/ share/ pnpm} "
76- export PATH=" $PNPM_HOME :$PATH "
7775log " Using node-gyp: $npm_config_node_gyp ($( node-gyp --version || true) )"
78- log " Node: $( node -v) , npm: $( npm -v) , pnpm: $( pnpm -v ) , python: $( python3 -V) "
76+ log " Node: $( node -v) , npm: $( npm -v) , python: $( python3 -V) "
7977
8078# Create user/group
8179ensure_group signalk
@@ -167,7 +165,7 @@ npm cache clean --force || true
167165# --unsafe-perm is often needed for native addons/scripts when running as root during image build
168166npm install -g --unsafe-perm --production signalk-server
169167
170- # Helper to run npm/pnpm as SignalK with correct env (node-gyp override + flags)
168+ # Helper to run npm as SignalK with correct env (node-gyp override + flags)
171169run_as_signalk () {
172170 local cmd=" $1 "
173171 su signalk --shell=/bin/bash -c "
@@ -183,12 +181,9 @@ run_as_signalk() {
183181# Install plugins in /home/signalk/.signalk
184182pushd /home/signalk/.signalk > /dev/null
185183
186- # Prefer pnpm (more deterministic); npm can still be used if you want.
187- # IMPORTANT: pnpm may block postinstall scripts unless approve-builds is used.
188- # We pipe approve-builds to auto-approve (your original behavior).
189- log " Installing Signal K plugins (LITE) via pnpm..."
184+ log " Installing Signal K plugins (LITE) via npm..."
190185run_as_signalk "
191- pnpm install --unsafe-perm --loglevel error \
186+ npm install --unsafe-perm --loglevel error --omit=dev \
192187 @signalk/resources-provider \
193188 @signalk/charts-plugin \
194189 @signalk/course-provider \
@@ -211,7 +206,6 @@ run_as_signalk "
211206 signalk-path-filter \
212207 signalk-datetime \
213208 @meri-imperiumi/signalk-autostate
214- ( echo a; sleep 1; echo y ) | pnpm approve-builds
215209"
216210
217211popd > /dev/null
@@ -224,11 +218,6 @@ sed -i 's#@signalk/server-admin-ui#admin#' "$(find /usr/lib/node_modules/signalk
224218# see https://github.com/SignalK/signalk-server/pull/1455/
225219sed -i ' s/\(filter(.*\]\)/"".join(\1)/' " $( find /usr/lib/node_modules/signalk-server -name pigpio-seatalk.js 2> /dev/null) " || true
226220
227- # use pnpm instead of npm
228- sed -i " s#('npm',#('pnpm',#" /usr/lib/node_modules/signalk-server/lib/modules.js || true
229- # SignalK fix for pnpm
230- sed -i -e " s/--save\" ',/\" --save-prod'\" ,/g" /usr/lib/node_modules/signalk-server/lib/modules.js || true
231-
232221# sudoers tweaks
233222{
234223 echo " signalk ALL=(ALL) NOPASSWD: /bin/date" ;
0 commit comments