import com.sonymusic.*

def call(Map args){
    def params = Utils.validateParams('yarnRun', args, [
        scriptNames: [type: List, itemType: String, required: true],
        nodeVersion: [type: String, required: false],
        envVars: [type: Map, required: false, defaultValue: [:]]
    ])

    def yarnRunString = params.scriptNames.collect{"yarn run ${it}"}.join("\n")

    nodeSh(
        envVars: params.envVars,
        nodeVersion: params.nodeVersion,
        script: """
            set -e
            yarn install --frozen-lockfile
            ${yarnRunString}
        """
    )
}
