diff --git a/templates/php/main.tf b/templates/php/main.tf index cb4a338..851eceb 100644 --- a/templates/php/main.tf +++ b/templates/php/main.tf @@ -19,6 +19,38 @@ data "coder_parameter" "php_version" { name = "PHP 8.2" value = "82" } + + option { + name = "PHP 8.0" + value = "80" + } + + option { + name = "PHP 7.4" + value = "74" + } +} + +data "coder_parameter" "node_version" { + name = "Node.js Version" + description = "Select the Node.js version for your workspace." + type = "string" + default = "22" + + option { + name = "Node 22" + value = "22" + } + + option { + name = "Node 20" + value = "20" + } + + option { + name = "Node 18" + value = "18" + } } module "php_workspace" { @@ -30,7 +62,14 @@ module "php_workspace" { { display_name = "PHP Version" key = "php_version" - script = "php -v | head -n 1" + script = "php -v | head -n 1 | cut -d ' ' -f 2" + interval = 60 + timeout = 1 + }, + { + display_name = "Node.js Version" + key = "node_version" + script = "node -v || echo 'Node not installed'" interval = 60 timeout = 1 } @@ -38,12 +77,22 @@ module "php_workspace" { language_startup_script = <<-EOT echo $(php -v) + export NVM_DIR="/home/coder/.nvm" + [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" + nvm install ${data.coder_parameter.node_version.value} + nvm use ${data.coder_parameter.node_version.value} + echo "Node version set to $(node -v)" EOT vscode_extensions = [ "bmewburn.vscode-intelephense-client", "felixfbecker.php-debug", - "mehedidracula.php-namespace-resolver" + "mehedidracula.php-namespace-resolver", + "dbaeumer.vscode-eslint", + "mikestead.dotenv", + "christian-kohler.path-intellisense", + "ms-vscode.vscode-typescript-tslint-plugin", + ] vscode_settings = {