Compare commits
	
		
			2 Commits
		
	
	
		
			da49b7a5bf
			...
			b06e2b2273
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| b06e2b2273 | |||
| cc1cfe894c | 
| @@ -1,5 +1,12 @@ | ||||
| # Changelog | ||||
|  | ||||
| ## 2025-03-26 - 2.6.0 - feat(setup) | ||||
| Add --force update flag to setup script and update installation instructions | ||||
|  | ||||
| - Implemented --force option in setup.sh to force-update Node.js binary and dependencies | ||||
| - Updated readme.md to document the --force flag and revised update steps | ||||
| - Modified ts/cli.ts update command to pass the --force flag to setup.sh | ||||
|  | ||||
| ## 2025-03-26 - 2.5.2 - fix(installer) | ||||
| Improve Node.js binary detection, dependency management, and SNMPv3 fallback logic | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "@serve.zone/nupst", | ||||
|   "version": "2.5.2", | ||||
|   "version": "2.6.0", | ||||
|   "description": "Node.js UPS Shutdown Tool for SNMP-enabled UPS devices", | ||||
|   "main": "dist/index.js", | ||||
|   "bin": { | ||||
|   | ||||
							
								
								
									
										11
									
								
								readme.md
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								readme.md
									
									
									
									
									
								
							| @@ -227,8 +227,15 @@ sudo nupst update | ||||
| This will: | ||||
| 1. Pull the latest changes from the git repository | ||||
| 2. Run the installation scripts | ||||
| 3. Refresh the systemd service configuration | ||||
| 4. Restart the service if it was running | ||||
| 3. Force-update Node.js and all dependencies, even if they already exist | ||||
| 4. Refresh the systemd service configuration | ||||
| 5. Restart the service if it was running | ||||
|  | ||||
| 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 | ||||
| ``` | ||||
|  | ||||
| ## Security | ||||
|  | ||||
|   | ||||
							
								
								
									
										19
									
								
								setup.sh
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								setup.sh
									
									
									
									
									
								
							| @@ -2,6 +2,22 @@ | ||||
|  | ||||
| # NUPST Setup Script | ||||
| # Downloads the appropriate Node.js binary for the current platform | ||||
| # and installs production dependencies | ||||
|  | ||||
| # Parse command line arguments | ||||
| FORCE_UPDATE=0 | ||||
|  | ||||
| for arg in "$@"; do | ||||
|   case $arg in | ||||
|     --force|-f) | ||||
|       FORCE_UPDATE=1 | ||||
|       shift | ||||
|       ;; | ||||
|     *) | ||||
|       # Unknown option | ||||
|       ;; | ||||
|   esac | ||||
| done | ||||
|  | ||||
| # Find the directory where this script is located | ||||
| SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" | ||||
| @@ -74,8 +90,9 @@ case "$OS" in | ||||
| esac | ||||
|  | ||||
| # Check if we already have the Node.js binary | ||||
| if [ -f "$SCRIPT_DIR/vendor/$NODE_DIR/bin/node" ]; then | ||||
| if [ -f "$SCRIPT_DIR/vendor/$NODE_DIR/bin/node" ] && [ $FORCE_UPDATE -eq 0 ]; then | ||||
|   echo "Node.js binary already exists for $OS-$ARCH. Skipping download." | ||||
|   echo "Use --force or -f to force update Node.js." | ||||
| else | ||||
|   echo "Downloading Node.js v$NODE_VERSION for $OS-$ARCH..." | ||||
|    | ||||
|   | ||||
| @@ -3,6 +3,6 @@ | ||||
|  */ | ||||
| export const commitinfo = { | ||||
|   name: '@serve.zone/nupst', | ||||
|   version: '2.5.2', | ||||
|   version: '2.6.0', | ||||
|   description: 'Node.js UPS Shutdown Tool for SNMP-enabled UPS devices' | ||||
| } | ||||
|   | ||||
| @@ -418,9 +418,9 @@ Options: | ||||
|         console.log('│ Running install.sh to update NUPST...'); | ||||
|         execSync(`cd ${installDir} && bash ./install.sh`, { stdio: 'pipe' }); | ||||
|          | ||||
|         // 3. Run the setup.sh script  | ||||
|         console.log('│ Running setup.sh to update dependencies...'); | ||||
|         execSync(`cd ${installDir} && bash ./setup.sh`, { stdio: 'pipe' }); | ||||
|         // 3. Run the setup.sh script with force flag to update Node.js and dependencies | ||||
|         console.log('│ Running setup.sh to update Node.js and dependencies...'); | ||||
|         execSync(`cd ${installDir} && bash ./setup.sh --force`, { stdio: 'pipe' }); | ||||
|          | ||||
|         // 4. Refresh the systemd service | ||||
|         console.log('│ Refreshing systemd service...'); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user