/** * get modify files */ const shell = require('shelljs') const modifyFiles = shell .exec('git status -s | cut -c4-', { silent: true }) .stdout.trim() .split(/\s/g) function getFilePath (fileName, ext, folders = 'src') { const reg = new RegExp(`^(${folders})\\/.*\\.(${ext})$`) if (reg.test(fileName)) return fileName } /** * get modifyFile.`ext` in `folders` * @param {String} ext js|vue * @param {String} [folders=src] src|build */ function getFileRules (ext, folders) { const files = [] modifyFiles.forEach(fileName => { const filePath = getFilePath(fileName, ext, folders) if (filePath) files.push(filePath) }) const fileRules = files.join(' ') if (fileRules.length) { return fileRules } else { console.log(`[Modify Files] No modify files '${ext}' in '${folders}'`) process.exit() } } exports.getFileRules = getFileRules