Skip to content

Linux install.sh 1.0.8 - more overrides!

Choose a tag to compare

@davidzwa davidzwa released this 12 Jan 20:56
· 34 commits to develop since this release
b49b190

🚀 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.sh

Smart 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