pipeline {
  agent {
    docker {
      image 'node:20'
    }
  }

  stages {
    stage('install') {
      steps {
        sh 'node -v'
        sh 'npm -v'
        sh 'npm ci'
      }
    }

    stage('eslint') {
      steps {
        sh 'npm run eslint'
      }
    }

    stage('test') {
      steps {
        sh 'npm run test'
      }
    }

    stage('archiving') {
      steps {
        script {
            archiveArtifacts artifacts: 'coverage/*/**'
        }
      }
    }
  }
}