feat: pre-build frontend and harden backend to bypass build failures

- Pre-built frontend 'dist' folder committed to skip npm install on Pi.
- Backend package.json updated to stable dependencies (express 4.x, multer 1.4).
- Added npm 'overrides' to explicitly block mdns2 installation.
- Updated setup.sh to use --package-lock=false for a guaranteed clean install.
This commit is contained in:
Timothy Hofland
2026-03-11 08:41:19 +01:00
parent 686185a625
commit 8ee2795eb7
6 changed files with 41 additions and 9 deletions

View File

@ -183,14 +183,19 @@ chown -R "$REAL_USER:$REAL_USER" "$REAL_HOME/mpvj" "$REAL_HOME/media"
# 4.2 Build
export NODE_OPTIONS="--max-old-space-size=512"
cd "$REAL_HOME/mpvj/backend"
# Clean up any ghost dependencies from git or previous runs
echo "Installing backend dependencies..."
# Use --package-lock=false to ignore any committed lockfiles that might be polluted
rm -rf node_modules package-lock.json
sudo -u "$REAL_USER" npm install --jobs 1 --omit=optional
sudo -u "$REAL_USER" npm install --jobs 1 --omit=optional --package-lock=false
cd "$REAL_HOME/mpvj/frontend"
if [ ! -d "dist" ]; then
echo "Installing frontend dependencies and building..."
rm -rf node_modules package-lock.json
sudo -u "$REAL_USER" npm install --jobs 1 --omit=optional
sudo -u "$REAL_USER" npm install --jobs 1 --omit=optional --package-lock=false
sudo -u "$REAL_USER" npm run build
else
echo "Pre-built frontend detected. Skipping frontend build."
fi
# 4.3 Systemd