diff options
Diffstat (limited to 'node_modules/dir-compare/src/cli/print.js')
-rw-r--r-- | node_modules/dir-compare/src/cli/print.js | 192 |
1 files changed, 0 insertions, 192 deletions
diff --git a/node_modules/dir-compare/src/cli/print.js b/node_modules/dir-compare/src/cli/print.js deleted file mode 100644 index 9861896..0000000 --- a/node_modules/dir-compare/src/cli/print.js +++ /dev/null @@ -1,192 +0,0 @@ -var colors = require('colors') -var util = require('util') -var pathUtils = require('path') - -var PATH_SEP = pathUtils.sep - -// Prints dir compare results. -// 'program' represents display options and correspond to dircompare command line parameters. -// Example: 'dircompare --show-all --exclude *.js dir1 dir2' translates into -// program: {showAll: true, exclude: '*.js'} -// -var print = function (res, writer, program) { - var noColor = function (str) { return str } - var colorEqual = program.nocolors ? noColor : colors.green - var colorDistinct = program.nocolors ? noColor : colors.red - var colorLeft = noColor - var colorRight = noColor - var colorDir = noColor - var colorBrokenLinks = noColor - var colorMissing = program.nocolors ? noColor : colors.yellow - - // calculate relative path length for pretty print - var relativePathMaxLength = 0, fileNameMaxLength = 0 - if (!program.csv && res.diffSet) { - res.diffSet.forEach(function (diff) { - if (diff.relativePath.length > relativePathMaxLength) { - relativePathMaxLength = diff.relativePath.length - } - var len = getCompareFile(diff, '??', colorMissing).length - if (len > fileNameMaxLength) { - fileNameMaxLength = len - } - }) - } - - // csv header - if (program.csv) { - writer.write('path,name,state,type,size1,size2,date1,date2,reason\n') - } - if (res.diffSet) { - for (var i = 0; i < res.diffSet.length; i++) { - var detail = res.diffSet[i] - var color, show = true - - if (!program.wholeReport) { - // show only files or broken links - var type = detail.type1 !== 'missing' ? detail.type1 : detail.type2 - if (type !== 'file' && type !== 'broken-link') { - show = false - } - } - if (show) { - switch (detail.state) { - case 'equal': - color = colorEqual - show = program.showAll || program.showEqual ? true : false - break - case 'left': - color = colorLeft - show = program.showAll || program.showLeft ? true : false - break - case 'right': - color = colorRight - show = program.showAll || program.showRight ? true : false - break - case 'distinct': - color = colorDistinct - show = program.showAll || program.showDistinct ? true : false - break - default: - show = true - color = colors.gray - } - if (show) { - if (program.csv) { - printCsv(writer, detail, color) - } else { - printPretty(writer, program, detail, color, colorDir, colorMissing, relativePathMaxLength, fileNameMaxLength) - } - } - } - } - } - - // PRINT STATISTICS - var statTotal, statEqual, statLeft, statRight, statDistinct - if (program.wholeReport) { - statTotal = res.total - statEqual = res.equal - statLeft = res.left - statRight = res.right - statDistinct = res.distinct - } else { - var brokenLInksStats = res.brokenLinks - statTotal = res.totalFiles + brokenLInksStats.totalBrokenLinks - statEqual = res.equalFiles - statLeft = res.leftFiles + brokenLInksStats.leftBrokenLinks - statRight = res.rightFiles + brokenLInksStats.rightBrokenLinks - statDistinct = res.distinctFiles + brokenLInksStats.distinctBrokenLinks - } - if (!program.noDiffIndicator) { - writer.write(res.same ? colorEqual('Entries are identical\n') : colorDistinct('Entries are different\n')) - } - var stats = util.format('total: %s, equal: %s, distinct: %s, only left: %s, only right: %s', - statTotal, - colorEqual(statEqual), - colorDistinct(statDistinct), - colorLeft(statLeft), - colorRight(statRight) - ) - if (res.brokenLinks.totalBrokenLinks > 0) { - stats += util.format(', broken links: %s', colorBrokenLinks(res.brokenLinks.totalBrokenLinks)) - } - stats += '\n' - writer.write(stats) -} - -/** - * Print details for default view mode - */ -var printPretty = function (writer, program, detail, color, dirColor, missingColor, relativePathMaxLength, fileNameMaxLength) { - var path = detail.relativePath === '' ? PATH_SEP : detail.relativePath - - var state - switch (detail.state) { - case 'equal': - state = '==' - break - case 'left': - state = '->' - break - case 'right': - state = '<-' - break - case 'distinct': - state = '<>' - break - default: - state = '?' - } - var type = '' - type = detail.type1 !== 'missing' ? detail.type1 : detail.type2 - if (type === 'directory') { - type = dirColor(type) - } - var cmpEntry = getCompareFile(detail, color(state), missingColor) - var reason = '' - if (program.reason && detail.reason) { - reason = util.format(' <%s>', detail.reason) - } - if (program.wholeReport || type === 'broken-link') { - writer.write(util.format('[%s] %s (%s)%s\n', path, cmpEntry, type, reason)) - } else { - writer.write(util.format('[%s] %s%s\n', path, cmpEntry, reason)) - } -} - -var getCompareFile = function (detail, state, missingcolor) { - p1 = detail.name1 ? detail.name1 : '' - p2 = detail.name2 ? detail.name2 : '' - var missing1 = detail.type1 === 'missing' ? missingcolor('missing') : '' - var missing2 = detail.type2 === 'missing' ? missingcolor('missing') : '' - return util.format('%s%s %s %s%s', missing1, p1, state, missing2, p2) -} - -/** - * Print csv details. - */ -var printCsv = function (writer, detail, color) { - var size1 = '', size2 = '' - if (detail.type1 === 'file') { - size1 = detail.size1 !== undefined ? detail.size1 : '' - } - if (detail.type2 === 'file') { - size2 = detail.size2 !== undefined ? detail.size2 : '' - } - - var date1 = '', date2 = '' - date1 = detail.date1 !== undefined ? detail.date1.toISOString() : '' - date2 = detail.date2 !== undefined ? detail.date2.toISOString() : '' - - var type = '' - type = detail.type1 !== 'missing' ? detail.type1 : detail.type2 - - var path = detail.relativePath ? detail.relativePath : PATH_SEP - var name = (detail.name1 ? detail.name1 : detail.name2) - var reason = detail.reason || '' - - writer.write(util.format('%s,%s,%s,%s,%s,%s,%s,%s,%s\n', path, name, color(detail.state), type, size1, size2, date1, date2, reason)) -} - -module.exports = print |