Linux install.sh 1.0.8 - more overrides!
·
34 commits
to develop
since this release
🚀 FDM Monster Installer v1.0.8
✨ New Features
Environment Variable Overrides
You can now customize the installation using environment variables:
FDMM_NODE_VERSION- Override Node.js version (default:24.12.0)FDMM_NPM_PACKAGE- Override npm package (default:@fdm-monster/server)FDMM_SERVER_PORT- Override server port (default:4000)FDMM_INSTALL_DIR- Override installation directory (default:$HOME/.fdm-monster)
Example:
FDMM_NODE_VERSION="22.11.0" FDMM_SERVER_PORT="3000" bash install.shSmart Node.js Version Management
- Automatically detects installed Node.js version
- Upgrades Node.js if a newer version is specified via FDMM_NODE_VERSION
- Validates semver format (x.y.z) with clear error messages
🔧 Improvements
- Enhanced PATH Instructions: CLI installation now shows complete PATH with Node.js binaries included
- Stricter Error Handling: Added set -euo pipefail for better error detection
- Simplified Version Comparison: Using sort -V for cleaner, more reliable semantic version comparison
- Optimized Logic: Refactored ensure_nodejs() function for better readability and maintainability
🛡️ Code Quality
- Applied SonarQube bash standards
- Made constants readonly for immutability
- Removed hardcoded NODE_MAJOR - now computed dynamically
- Improved edge case handling for corrupted installations
📝 Notes
- CLI_VERSION remains non-overridable by design
- Node.js installation directory will be wiped and reinstalled if version upgrade is needed
What's Changed
- Adds environment variable overrides for install script by @davidzwa in #8
- release new install.sh by @davidzwa in #9
Full Changelog: install-linux-1.0.7...install-linux-1.0.8