Compare commits

...

4 Commits

5 changed files with 42 additions and 15 deletions

View File

@ -1,5 +1,19 @@
# Changelog
## 2025-03-26 - 2.6.2 - fix(setup/readme)
Improve force update instructions and dependency installation process in setup.sh and readme.md
- Clarify force update commands with explicit paths in readme.md
- Remove existing node_modules before installing dependencies in setup.sh
- Switch from 'npm ci --only=production' to 'npm install --omit=dev' with updated error instructions
## 2025-03-26 - 2.6.1 - fix(setup)
Update setup.sh to temporarily add vendor Node.js binary to PATH for dependency installation, log Node and npm versions, and restore the original PATH afterwards.
- Temporarily prepend vendor Node.js binary directory to PATH to ensure proper npm execution.
- Log Node.js and npm versions for debugging purposes.
- Restore the original PATH after installing dependencies.
## 2025-03-26 - 2.6.0 - feat(setup)
Add --force update flag to setup script and update installation instructions

View File

@ -1,6 +1,6 @@
{
"name": "@serve.zone/nupst",
"version": "2.6.0",
"version": "2.6.2",
"description": "Node.js UPS Shutdown Tool for SNMP-enabled UPS devices",
"main": "dist/index.js",
"bin": {

View File

@ -234,7 +234,11 @@ This will:
You can also manually run the setup script with the force flag to update Node.js and dependencies without updating the application code:
```bash
bash setup.sh --force
# If you're in the nupst directory:
bash ./setup.sh --force
# If you're in another directory, specify the full path:
bash /opt/nupst/setup.sh --force
```
## Security

View File

@ -239,25 +239,34 @@ echo "dist_ts directory successfully downloaded from npm registry."
# Make launcher script executable
chmod +x "$SCRIPT_DIR/bin/nupst"
# Add our Node.js bin directory to the PATH temporarily
NODE_BIN_DIR="$SCRIPT_DIR/vendor/$NODE_DIR/bin"
OLD_PATH="$PATH"
export PATH="$NODE_BIN_DIR:$PATH"
# Remove existing node_modules directory
echo "Removing existing node_modules directory..."
rm -rf "$SCRIPT_DIR/node_modules"
# Install production dependencies
echo "Installing production dependencies..."
"$SCRIPT_DIR/vendor/$NODE_DIR/bin/npm" --prefix "$SCRIPT_DIR" ci --only=production --no-audit --no-fund
echo "Using Node.js binary from: $NODE_BIN_DIR"
echo "Node version: $(node --version)"
echo "NPM version: $(npm --version)"
npm --prefix "$SCRIPT_DIR" install --omit=dev --no-audit --no-fund
if [ $? -ne 0 ]; then
echo "Warning: Failed to install dependencies with 'npm ci'. Trying 'npm install'..."
"$SCRIPT_DIR/vendor/$NODE_DIR/bin/npm" --prefix "$SCRIPT_DIR" install --only=production --no-audit --no-fund
if [ $? -ne 0 ]; then
echo "Error: Failed to install dependencies. NUPST may not function correctly."
echo "You can try to install dependencies manually by running:"
echo "cd $SCRIPT_DIR && npm install --only=production"
else
echo "Dependencies installed successfully with 'npm install'."
fi
echo "Error: Failed to install dependencies. NUPST may not function correctly."
echo "You can try to install dependencies manually by running:"
echo "cd $SCRIPT_DIR && npm install --omit=dev"
else
echo "Dependencies installed successfully with 'npm ci'."
echo "Dependencies installed successfully."
fi
# Restore the original PATH
export PATH="$OLD_PATH"
echo "NUPST setup completed successfully."
echo "You can now run NUPST using: $SCRIPT_DIR/bin/nupst"
echo "To install NUPST globally, run: sudo ln -s $SCRIPT_DIR/bin/nupst /usr/local/bin/nupst"

View File

@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@serve.zone/nupst',
version: '2.6.0',
version: '2.6.2',
description: 'Node.js UPS Shutdown Tool for SNMP-enabled UPS devices'
}