UNPKG

infra-cli

Version:
46 lines (36 loc) 1.21 kB
const spawn = require('cross-spawn') function addHuskyConfig (targetDir, configs) { const huskyInitProc = spawn.sync('npx', ['husky-init'], { stdio: 'inherit', cwd: targetDir }) if (huskyInitProc.status !== 0) { console.error('`npx husky-init` failed') } if (configs.includes('commitLint')) { const commitMsgProc = spawn.sync( 'npx', ['husky', 'add', '.husky/commit-msg', 'npx --no-install commitlint --edit "$1"'], { stdio: 'inherit', cwd: targetDir } ) if (commitMsgProc.status !== 0) { console.error('`commit-msg` failed') } } if (configs.includes('eslint')) { const lintStagedProc = spawn.sync('npx', ['husky', 'add', '.husky/pre-commit', 'npm run lint-staged'], { stdio: 'inherit', cwd: targetDir }) if (lintStagedProc.status !== 0) { console.error('`lint-staged` failed') } } if (configs.includes('unitTesting')) { const unitTestingProc = spawn.sync('npx', ['husky', 'add', '.husky/pre-commit', 'npm run unit:test'], { stdio: 'inherit', cwd: targetDir }) if (unitTestingProc.status !== 0) { console.error('`unit:test` failed') } } } module.exports = addHuskyConfig