UNPKG

952 BJavaScriptView Raw
1'use strict'
2
3const resolveTaskFn = require('./resolveTaskFn')
4const resolveGitDir = require('./resolveGitDir')
5
6const debug = require('debug')('lint-staged:make-cmd-tasks')
7
8/**
9 * Creates and returns an array of listr tasks which map to the given commands.
10 *
11 * @param {Array<string>|string} commands
12 * @param {Array<string>} pathsToLint
13 * @param {Object} [options]
14 * @param {number} options.chunkSize
15 * @param {number} options.subTaskConcurrency
16 */
17module.exports = function makeCmdTasks(
18 commands,
19 pathsToLint,
20 { chunkSize = Number.MAX_SAFE_INTEGER, subTaskConcurrency = 1 } = {}
21) {
22 debug('Creating listr tasks for commands %o', commands)
23
24 const gitDir = resolveGitDir()
25 const lintersArray = Array.isArray(commands) ? commands : [commands]
26
27 return lintersArray.map(linter => ({
28 title: linter,
29 task: resolveTaskFn({
30 linter,
31 gitDir,
32 pathsToLint,
33 chunkSize,
34 subTaskConcurrency
35 })
36 }))
37}