# Este pipeline se ejecuta automáticamente cuando hay cambios en la rama 'develop'
trigger:
  branches:
    include:
      - develop

# Define el sistema operativo del agente de CI
pool:
  vmImage: 'ubuntu-latest'

steps:
  # Paso 1: Usar Node.js versión 18
  - task: UseNode@1
    inputs:
      version: '18.x'

  # Paso 2: Instalar dependencias, compilar y publicar el paquete a Azure Artifacts
  - script: |
      # Crear archivo .npmrc temporal en el home del agente con credenciales para Azure Artifacts
      echo "//pkgs.dev.azure.com/CITIValue/Starkhub/_packaging/Starkhub/npm/registry/:_authToken=${NODE_AUTH_TOKEN}" > ~/.npmrc
      
      # Forzar autenticación siempre
      echo "always-auth=true" >> ~/.npmrc
      
      # Instalar dependencias usando package-lock.json
      npm ci
      
      # Ejecutar script de compilación definido en package.json
      npm run build
      
      # Publicar el paquete al feed de Azure Artifacts
      npm publish
    displayName: 'Build and publish to Azure Artifacts'
    env:
      # Token del sistema para autenticación con Azure Artifacts (debe estar habilitado en config del pipeline)
      NODE_AUTH_TOKEN: $(System.AccessToken)
