# Node.js
# Build a general Node.js project with npm.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript

trigger:
- master
pr:
- master

pool:
    vmImage: 'Ubuntu-16.04'
steps:
- task: NodeTool@0
  inputs:
    versionSpec: '8.x'
  displayName: 'Install Node.js'
- script: npm install
  displayName: 'npm install'
- script: npm run lint
  displayName: 'ESLint'
- script: npm run check
  displayName: 'Check for syntax errors'
- script: git clean -fxd
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
  displayName: 'Clean up source directory'
- task: CopyFiles@2
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
  displayName: 'Copy artifacts to staging directory'
  inputs:
    contents: '**/*'
    targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
  inputs:
    pathtoPublish: $(Build.ArtifactStagingDirectory)
