autocode-cli
Version:
code automation for every language, framework and platform
1 lines • 29.7 kB
JavaScript
!function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports,__webpack_require__){(function(global){!function(){function Diff2Html(){}var diffParser=__webpack_require__(1).DiffParser,htmlPrinter=__webpack_require__(3).HtmlPrinter;Diff2Html.prototype.getPrettyHtmlFromDiff=function(diffInput,config){var diffJson=diffParser.generateDiffJson(diffInput),configOrEmpty=config||{};return htmlPrinter.generateLineByLineJsonHtml(diffJson,configOrEmpty)},Diff2Html.prototype.getJsonFromDiff=function(diffInput){return diffParser.generateDiffJson(diffInput)},Diff2Html.prototype.getPrettyHtmlFromJson=function(diffJson,config){var configOrEmpty=config||{};return htmlPrinter.generateLineByLineJsonHtml(diffJson,configOrEmpty)},Diff2Html.prototype.getPrettySideBySideHtmlFromDiff=function(diffInput,config){var diffJson=diffParser.generateDiffJson(diffInput),configOrEmpty=config||{};return htmlPrinter.generateSideBySideJsonHtml(diffJson,configOrEmpty)},Diff2Html.prototype.getPrettySideBySideHtmlFromJson=function(diffJson,config){var configOrEmpty=config||{};return htmlPrinter.generateSideBySideJsonHtml(diffJson,configOrEmpty)};var diffName="Diff2Html",diffObject=new Diff2Html;module.exports[diffName]=diffObject,global[diffName]=diffObject}(this)}).call(exports,function(){return this}())},function(module,exports,__webpack_require__){!function(){function DiffParser(){}function getExtension(filename,language){var nameSplit=filename.split(".");return nameSplit.length>1?nameSplit[nameSplit.length-1]:language}var utils=__webpack_require__(2).Utils,LINE_TYPE={INSERTS:"d2h-ins",DELETES:"d2h-del",CONTEXT:"d2h-cntx",INFO:"d2h-info"};DiffParser.prototype.LINE_TYPE=LINE_TYPE,DiffParser.prototype.generateDiffJson=function(diffInput){var files=[],currentFile=null,currentBlock=null,oldLine=null,newLine=null,saveBlock=function(){currentBlock&&(currentFile.blocks.push(currentBlock),currentBlock=null)},saveFile=function(){currentFile&¤tFile.newName&&(files.push(currentFile),currentFile=null)},startFile=function(){saveBlock(),saveFile(),currentFile={},currentFile.blocks=[],currentFile.deletedLines=0,currentFile.addedLines=0},startBlock=function(line){saveBlock();var values;(values=/^@@ -(\d+),\d+ \+(\d+),\d+ @@.*/.exec(line))?currentFile.isCombined=!1:(values=/^@@@ -(\d+),\d+ -\d+,\d+ \+(\d+),\d+ @@@.*/.exec(line))?currentFile.isCombined=!0:(values=[0,0],currentFile.isCombined=!1),oldLine=values[1],newLine=values[2],currentBlock={},currentBlock.lines=[],currentBlock.oldStartLine=oldLine,currentBlock.newStartLine=newLine,currentBlock.header=line},createLine=function(line){var currentLine={};currentLine.content=line;var newLinePrefixes=currentFile.isCombined?["+"," +"]:["+"],delLinePrefixes=currentFile.isCombined?["-"," -"]:["-"];utils.startsWith(line,newLinePrefixes)?(currentFile.addedLines++,currentLine.type=LINE_TYPE.INSERTS,currentLine.oldNumber=null,currentLine.newNumber=newLine++,currentBlock.lines.push(currentLine)):utils.startsWith(line,delLinePrefixes)?(currentFile.deletedLines++,currentLine.type=LINE_TYPE.DELETES,currentLine.oldNumber=oldLine++,currentLine.newNumber=null,currentBlock.lines.push(currentLine)):(currentLine.type=LINE_TYPE.CONTEXT,currentLine.oldNumber=oldLine++,currentLine.newNumber=newLine++,currentBlock.lines.push(currentLine))},diffLines=diffInput.split("\n");return diffLines.forEach(function(line){if(line&&!utils.startsWith(line,"*")){var oldMode=/^old mode (\d{6})/,newMode=/^new mode (\d{6})/,deletedFileMode=/^deleted file mode (\d{6})/,newFileMode=/^new file mode (\d{6})/,copyFrom=/^copy from (.+)/,copyTo=/^copy to (.+)/,renameFrom=/^rename from (.+)/,renameTo=/^rename to (.+)/,similarityIndex=/^similarity index (\d+)%/,dissimilarityIndex=/^dissimilarity index (\d+)%/,index=/^index ([0-9a-z]+)..([0-9a-z]+) (\d{6})?/,combinedIndex=/^index ([0-9a-z]+),([0-9a-z]+)..([0-9a-z]+)/,combinedMode=/^mode (\d{6}),(\d{6})..(\d{6})/,combinedNewFile=/^new file mode (\d{6})/,combinedDeletedFile=/^deleted file mode (\d{6}),(\d{6})/,values=[];utils.startsWith(line,"diff")?startFile():currentFile&&!currentFile.oldName&&(values=/^--- [aiwco]\/(.+)$/.exec(line))?(currentFile.oldName=values[1],currentFile.language=getExtension(currentFile.oldName,currentFile.language)):currentFile&&!currentFile.newName&&(values=/^\+\+\+ [biwco]?\/(.+)$/.exec(line))?(currentFile.newName=values[1],currentFile.language=getExtension(currentFile.newName,currentFile.language)):currentFile&&utils.startsWith(line,"@@")?startBlock(line):(values=oldMode.exec(line))?currentFile.oldMode=values[1]:(values=newMode.exec(line))?currentFile.newMode=values[1]:(values=deletedFileMode.exec(line))?currentFile.deletedFileMode=values[1]:(values=newFileMode.exec(line))?currentFile.newFileMode=values[1]:(values=copyFrom.exec(line))?(currentFile.oldName=values[1],currentFile.isCopy=!0):(values=copyTo.exec(line))?(currentFile.newName=values[1],currentFile.isCopy=!0):(values=renameFrom.exec(line))?(currentFile.oldName=values[1],currentFile.isRename=!0):(values=renameTo.exec(line))?(currentFile.newName=values[1],currentFile.isRename=!0):(values=similarityIndex.exec(line))?currentFile.unchangedPercentage=values[1]:(values=dissimilarityIndex.exec(line))?currentFile.changedPercentage=values[1]:(values=index.exec(line))?(currentFile.checksumBefore=values[1],currentFile.checksumAfter=values[2],values[2]&&(currentFile.mode=values[3])):(values=combinedIndex.exec(line))?(currentFile.checksumBefore=[values[2],values[3]],currentFile.checksumAfter=values[1]):(values=combinedMode.exec(line))?(currentFile.oldMode=[values[2],values[3]],currentFile.newMode=values[1]):(values=combinedNewFile.exec(line))?currentFile.newFileMode=values[1]:(values=combinedDeletedFile.exec(line))?currentFile.deletedFileMode=values[1]:currentBlock&&createLine(line)}}),saveBlock(),saveFile(),files},module.exports.DiffParser=new DiffParser}(this)},function(module){!function(){function Utils(){}Utils.prototype.escape=function(str){return str.slice(0).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\t/g," ")},Utils.prototype.startsWith=function(str,start){if("object"==typeof start){var result=!1;return start.forEach(function(s){0===str.indexOf(s)&&(result=!0)}),result}return 0===str.indexOf(start)},Utils.prototype.valueOrEmpty=function(value){return value?value:""},module.exports.Utils=new Utils}(this)},function(module,exports,__webpack_require__){!function(){function HtmlPrinter(){}var lineByLinePrinter=__webpack_require__(4).LineByLinePrinter,sideBySidePrinter=__webpack_require__(7).SideBySidePrinter;HtmlPrinter.prototype.generateLineByLineJsonHtml=lineByLinePrinter.generateLineByLineJsonHtml,HtmlPrinter.prototype.generateSideBySideJsonHtml=sideBySidePrinter.generateSideBySideJsonHtml,module.exports.HtmlPrinter=new HtmlPrinter}(this)},function(module,exports,__webpack_require__){!function(){function LineByLinePrinter(){}function generateFileHtml(file,config){return file.blocks.map(function(block){for(var lines='<tr>\n <td class="d2h-code-linenumber '+diffParser.LINE_TYPE.INFO+'"></td>\n <td class="'+diffParser.LINE_TYPE.INFO+'"> <div class="d2h-code-line '+diffParser.LINE_TYPE.INFO+'">'+utils.escape(block.header)+"</div> </td>\n</tr>\n",oldLines=[],newLines=[],processedOldLines=[],processedNewLines=[],i=0;i<block.lines.length;i++){var line=block.lines[i],escapedLine=utils.escape(line.content);if(line.type!=diffParser.LINE_TYPE.CONTEXT||oldLines.length||newLines.length)if(line.type!=diffParser.LINE_TYPE.INSERTS||oldLines.length||newLines.length)if(line.type!=diffParser.LINE_TYPE.DELETES||newLines.length)if(line.type==diffParser.LINE_TYPE.INSERTS&&oldLines.length>newLines.length)newLines.push(line);else{var oldLine,newLine,j=0;if(oldLines.length===newLines.length){for(j=0;j<oldLines.length;j++){oldLine=oldLines[j],newLine=newLines[j],config.isCombined=file.isCombined;var diff=printerUtils.diffHighlight(oldLine.content,newLine.content,config);processedOldLines+=generateLineHtml(oldLine.type,oldLine.oldNumber,oldLine.newNumber,diff.first.line,diff.first.prefix),processedNewLines+=generateLineHtml(newLine.type,newLine.oldNumber,newLine.newNumber,diff.second.line,diff.second.prefix)}lines+=processedOldLines+processedNewLines}else lines+=processLines(oldLines,newLines);oldLines=[],newLines=[],processedOldLines=[],processedNewLines=[],i--}else oldLines.push(line);else lines+=generateLineHtml(line.type,line.oldNumber,line.newNumber,escapedLine);else lines+=generateLineHtml(line.type,line.oldNumber,line.newNumber,escapedLine)}return lines+=processLines(oldLines,newLines)}).join("\n")}function processLines(oldLines,newLines){var lines="";for(j=0;j<oldLines.length;j++){var oldLine=oldLines[j],oldEscapedLine=utils.escape(oldLine.content);lines+=generateLineHtml(oldLine.type,oldLine.oldNumber,oldLine.newNumber,oldEscapedLine)}for(j=0;j<newLines.length;j++){var newLine=newLines[j],newEscapedLine=utils.escape(newLine.content);lines+=generateLineHtml(newLine.type,newLine.oldNumber,newLine.newNumber,newEscapedLine)}return lines}function generateLineHtml(type,oldNumber,newNumber,content,prefix){var htmlPrefix="";prefix&&(htmlPrefix='<span class="d2h-code-line-prefix">'+prefix+"</span>");var htmlContent="";return content&&(htmlContent='<span class="d2h-code-line-ctn">'+content+"</span>"),'<tr>\n <td class="d2h-code-linenumber '+type+'"> <div class="line-num1">'+utils.valueOrEmpty(oldNumber)+'</div> <div class="line-num2">'+utils.valueOrEmpty(newNumber)+'</div> </td>\n <td class="'+type+'"> <div class="d2h-code-line '+type+'">'+htmlPrefix+htmlContent+"</div> </td>\n</tr>\n"}function generateEmptyDiff(){return'<tr>\n <td class="'+diffParser.LINE_TYPE.INFO+'"> <div class="d2h-code-line '+diffParser.LINE_TYPE.INFO+'">File without changes </div> </td>\n</tr>\n'}var diffParser=__webpack_require__(1).DiffParser,printerUtils=__webpack_require__(5).PrinterUtils,utils=__webpack_require__(2).Utils;LineByLinePrinter.prototype.generateLineByLineJsonHtml=function(diffFiles,config){return'<div class="d2h-wrapper">\n'+diffFiles.map(function(file){var diffs;return diffs=file.blocks.length?generateFileHtml(file,config):generateEmptyDiff(),'<div class="d2h-file-wrapper" data-lang="'+file.language+'">\n <div class="d2h-file-header">\n <div class="d2h-file-stats">\n <span class="d2h-lines-added">+'+file.addedLines+'</span>\n <span class="d2h-lines-deleted">-'+file.deletedLines+'</span>\n </div>\n <div class="d2h-file-name">'+printerUtils.getDiffName(file)+'</div>\n </div>\n <div class="d2h-file-diff">\n <div class="d2h-code-wrapper">\n <table class="d2h-diff-table">\n <tbody class="d2h-diff-tbody">\n '+diffs+" </tbody>\n </table>\n </div>\n </div>\n </div>\n"}).join("\n")+"</div>\n"},module.exports.LineByLinePrinter=new LineByLinePrinter}(this)},function(module,exports,__webpack_require__){!function(){function PrinterUtils(){}function isDeletedName(name){return"dev/null"===name}function removeIns(line){return line.replace(/(<ins>((.|\n)*?)<\/ins>)/g,"")}function removeDel(line){return line.replace(/(<del>((.|\n)*?)<\/del>)/g,"")}var jsDiff=__webpack_require__(6),utils=__webpack_require__(2).Utils;PrinterUtils.prototype.getDiffName=function(file){var oldFilename=file.oldName,newFilename=file.newName;return oldFilename&&newFilename&&oldFilename!==newFilename&&!isDeletedName(newFilename)?oldFilename+" -> "+newFilename:newFilename&&!isDeletedName(newFilename)?newFilename:oldFilename?oldFilename:"Unknown filename"},PrinterUtils.prototype.diffHighlight=function(diffLine1,diffLine2,config){var lineStart1,lineStart2,prefixSize=1;config.isCombined&&(prefixSize=2),lineStart1=diffLine1.substr(0,prefixSize),lineStart2=diffLine2.substr(0,prefixSize),diffLine1=diffLine1.substr(prefixSize),diffLine2=diffLine2.substr(prefixSize);var diff;diff=config.charByChar?jsDiff.diffChars(diffLine1,diffLine2):jsDiff.diffWordsWithSpace(diffLine1,diffLine2);var highlightedLine="";return diff.forEach(function(part){var elemType=part.added?"ins":part.removed?"del":null,escapedValue=utils.escape(part.value);highlightedLine+=null!==elemType?"<"+elemType+">"+escapedValue+"</"+elemType+">":escapedValue}),{first:{prefix:lineStart1,line:removeIns(highlightedLine)},second:{prefix:lineStart2,line:removeDel(highlightedLine)}}},module.exports.PrinterUtils=new PrinterUtils}(this)},function(module,exports){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;!function(global,undefined){function map(arr,mapper,that){if(Array.prototype.map)return Array.prototype.map.call(arr,mapper,that);for(var other=new Array(arr.length),i=0,n=arr.length;n>i;i++)other[i]=mapper.call(that,arr[i],i,arr);return other}function clonePath(path){return{newPos:path.newPos,components:path.components.slice(0)}}function removeEmpty(array){for(var ret=[],i=0;i<array.length;i++)array[i]&&ret.push(array[i]);return ret}function escapeHTML(s){var n=s;return n=n.replace(/&/g,"&"),n=n.replace(/</g,"<"),n=n.replace(/>/g,">"),n=n.replace(/"/g,""")}function canonicalize(obj,stack,replacementStack){stack=stack||[],replacementStack=replacementStack||[];var i;for(i=0;i<stack.length;i+=1)if(stack[i]===obj)return replacementStack[i];var canonicalizedObj;if("[object Array]"===objectPrototypeToString.call(obj)){for(stack.push(obj),canonicalizedObj=new Array(obj.length),replacementStack.push(canonicalizedObj),i=0;i<obj.length;i+=1)canonicalizedObj[i]=canonicalize(obj[i],stack,replacementStack);stack.pop(),replacementStack.pop()}else if("object"==typeof obj&&null!==obj){stack.push(obj),canonicalizedObj={},replacementStack.push(canonicalizedObj);var key,sortedKeys=[];for(key in obj)sortedKeys.push(key);for(sortedKeys.sort(),i=0;i<sortedKeys.length;i+=1)key=sortedKeys[i],canonicalizedObj[key]=canonicalize(obj[key],stack,replacementStack);stack.pop(),replacementStack.pop()}else canonicalizedObj=obj;return canonicalizedObj}function buildValues(components,newString,oldString,useLongestToken){for(var componentPos=0,componentLen=components.length,newPos=0,oldPos=0;componentLen>componentPos;componentPos++){var component=components[componentPos];if(component.removed){if(component.value=oldString.slice(oldPos,oldPos+component.count).join(""),oldPos+=component.count,componentPos&&components[componentPos-1].added){var tmp=components[componentPos-1];components[componentPos-1]=components[componentPos],components[componentPos]=tmp}}else{if(!component.added&&useLongestToken){var value=newString.slice(newPos,newPos+component.count);value=map(value,function(value,i){var oldValue=oldString[oldPos+i];return oldValue.length>value.length?oldValue:value}),component.value=value.join("")}else component.value=newString.slice(newPos,newPos+component.count).join("");newPos+=component.count,component.added||(oldPos+=component.count)}}return components}function Diff(ignoreWhitespace){this.ignoreWhitespace=ignoreWhitespace}var objectPrototypeToString=Object.prototype.toString;Diff.prototype={diff:function(oldString,newString,callback){function done(value){return callback?(setTimeout(function(){callback(undefined,value)},0),!0):value}function execEditLength(){for(var diagonalPath=-1*editLength;editLength>=diagonalPath;diagonalPath+=2){var basePath,addPath=bestPath[diagonalPath-1],removePath=bestPath[diagonalPath+1],oldPos=(removePath?removePath.newPos:0)-diagonalPath;addPath&&(bestPath[diagonalPath-1]=undefined);var canAdd=addPath&&addPath.newPos+1<newLen,canRemove=removePath&&oldPos>=0&&oldLen>oldPos;if(canAdd||canRemove){if(!canAdd||canRemove&&addPath.newPos<removePath.newPos?(basePath=clonePath(removePath),self.pushComponent(basePath.components,undefined,!0)):(basePath=addPath,basePath.newPos++,self.pushComponent(basePath.components,!0,undefined)),oldPos=self.extractCommon(basePath,newString,oldString,diagonalPath),basePath.newPos+1>=newLen&&oldPos+1>=oldLen)return done(buildValues(basePath.components,newString,oldString,self.useLongestToken));bestPath[diagonalPath]=basePath}else bestPath[diagonalPath]=undefined}editLength++}var self=this;if(newString===oldString)return done([{value:newString}]);if(!newString)return done([{value:oldString,removed:!0}]);if(!oldString)return done([{value:newString,added:!0}]);newString=this.tokenize(newString),oldString=this.tokenize(oldString);var newLen=newString.length,oldLen=oldString.length,editLength=1,maxEditLength=newLen+oldLen,bestPath=[{newPos:-1,components:[]}],oldPos=this.extractCommon(bestPath[0],newString,oldString,0);if(bestPath[0].newPos+1>=newLen&&oldPos+1>=oldLen)return done([{value:newString.join("")}]);if(callback)!function exec(){setTimeout(function(){return editLength>maxEditLength?callback():void(execEditLength()||exec())},0)}();else for(;maxEditLength>=editLength;){var ret=execEditLength();if(ret)return ret}},pushComponent:function(components,added,removed){var last=components[components.length-1];last&&last.added===added&&last.removed===removed?components[components.length-1]={count:last.count+1,added:added,removed:removed}:components.push({count:1,added:added,removed:removed})},extractCommon:function(basePath,newString,oldString,diagonalPath){for(var newLen=newString.length,oldLen=oldString.length,newPos=basePath.newPos,oldPos=newPos-diagonalPath,commonCount=0;newLen>newPos+1&&oldLen>oldPos+1&&this.equals(newString[newPos+1],oldString[oldPos+1]);)newPos++,oldPos++,commonCount++;return commonCount&&basePath.components.push({count:commonCount}),basePath.newPos=newPos,oldPos},equals:function(left,right){var reWhitespace=/\S/;return left===right||this.ignoreWhitespace&&!reWhitespace.test(left)&&!reWhitespace.test(right)},tokenize:function(value){return value.split("")}};var CharDiff=new Diff,WordDiff=new Diff(!0),WordWithSpaceDiff=new Diff;WordDiff.tokenize=WordWithSpaceDiff.tokenize=function(value){return removeEmpty(value.split(/(\s+|\b)/))};var CssDiff=new Diff(!0);CssDiff.tokenize=function(value){return removeEmpty(value.split(/([{}:;,]|\s+)/))};var LineDiff=new Diff,TrimmedLineDiff=new Diff;TrimmedLineDiff.ignoreTrim=!0,LineDiff.tokenize=TrimmedLineDiff.tokenize=function(value){for(var retLines=[],lines=value.split(/^/m),i=0;i<lines.length;i++){var line=lines[i],lastLine=lines[i-1],lastLineLastChar=lastLine&&lastLine[lastLine.length-1];"\n"===line&&"\r"===lastLineLastChar?retLines[retLines.length-1]=retLines[retLines.length-1].slice(0,-1)+"\r\n":(this.ignoreTrim&&(line=line.trim(),i<lines.length-1&&(line+="\n")),retLines.push(line))}return retLines};var PatchDiff=new Diff;PatchDiff.tokenize=function(value){var ret=[],linesAndNewlines=value.split(/(\n|\r\n)/);linesAndNewlines[linesAndNewlines.length-1]||linesAndNewlines.pop();for(var i=0;i<linesAndNewlines.length;i++){var line=linesAndNewlines[i];i%2?ret[ret.length-1]+=line:ret.push(line)}return ret};var SentenceDiff=new Diff;SentenceDiff.tokenize=function(value){return removeEmpty(value.split(/(\S.+?[.!?])(?=\s+|$)/))};var JsonDiff=new Diff;JsonDiff.useLongestToken=!0,JsonDiff.tokenize=LineDiff.tokenize,JsonDiff.equals=function(left,right){return LineDiff.equals(left.replace(/,([\r\n])/g,"$1"),right.replace(/,([\r\n])/g,"$1"))};var JsDiff={Diff:Diff,diffChars:function(oldStr,newStr,callback){return CharDiff.diff(oldStr,newStr,callback)},diffWords:function(oldStr,newStr,callback){return WordDiff.diff(oldStr,newStr,callback)},diffWordsWithSpace:function(oldStr,newStr,callback){return WordWithSpaceDiff.diff(oldStr,newStr,callback)},diffLines:function(oldStr,newStr,callback){return LineDiff.diff(oldStr,newStr,callback)},diffTrimmedLines:function(oldStr,newStr,callback){return TrimmedLineDiff.diff(oldStr,newStr,callback)},diffSentences:function(oldStr,newStr,callback){return SentenceDiff.diff(oldStr,newStr,callback)},diffCss:function(oldStr,newStr,callback){return CssDiff.diff(oldStr,newStr,callback)},diffJson:function(oldObj,newObj,callback){return JsonDiff.diff("string"==typeof oldObj?oldObj:JSON.stringify(canonicalize(oldObj),undefined," "),"string"==typeof newObj?newObj:JSON.stringify(canonicalize(newObj),undefined," "),callback)},createTwoFilesPatch:function(oldFileName,newFileName,oldStr,newStr,oldHeader,newHeader){function contextLines(lines){return map(lines,function(entry){return" "+entry})}function eofNL(curRange,i,current){var last=diff[diff.length-2],isLast=i===diff.length-2,isLastOfType=i===diff.length-3&¤t.added!==last.added;/\n$/.test(current.value)||!isLast&&!isLastOfType||curRange.push("\\ No newline at end of file")}var ret=[];oldFileName==newFileName&&ret.push("Index: "+oldFileName),ret.push("==================================================================="),ret.push("--- "+oldFileName+("undefined"==typeof oldHeader?"":" "+oldHeader)),ret.push("+++ "+newFileName+("undefined"==typeof newHeader?"":" "+newHeader));var diff=PatchDiff.diff(oldStr,newStr);diff.push({value:"",lines:[]});for(var oldRangeStart=0,newRangeStart=0,curRange=[],oldLine=1,newLine=1,i=0;i<diff.length;i++){var current=diff[i],lines=current.lines||current.value.replace(/\n$/,"").split("\n");if(current.lines=lines,current.added||current.removed){if(!oldRangeStart){var prev=diff[i-1];oldRangeStart=oldLine,newRangeStart=newLine,prev&&(curRange=contextLines(prev.lines.slice(-4)),oldRangeStart-=curRange.length,newRangeStart-=curRange.length)}curRange.push.apply(curRange,map(lines,function(entry){return(current.added?"+":"-")+entry})),eofNL(curRange,i,current),current.added?newLine+=lines.length:oldLine+=lines.length}else{if(oldRangeStart)if(lines.length<=8&&i<diff.length-2)curRange.push.apply(curRange,contextLines(lines));else{var contextSize=Math.min(lines.length,4);ret.push("@@ -"+oldRangeStart+","+(oldLine-oldRangeStart+contextSize)+" +"+newRangeStart+","+(newLine-newRangeStart+contextSize)+" @@"),ret.push.apply(ret,curRange),ret.push.apply(ret,contextLines(lines.slice(0,contextSize))),lines.length<=4&&eofNL(ret,i,current),oldRangeStart=0,newRangeStart=0,curRange=[]}oldLine+=lines.length,newLine+=lines.length}}return ret.join("\n")+"\n"},createPatch:function(fileName,oldStr,newStr,oldHeader,newHeader){return JsDiff.createTwoFilesPatch(fileName,fileName,oldStr,newStr,oldHeader,newHeader)},applyPatch:function(oldStr,uniDiff){for(var diffstr=uniDiff.split("\n"),hunks=[],i=0,remEOFNL=!1,addEOFNL=!1;i<diffstr.length&&!/^@@/.test(diffstr[i]);)i++;for(;i<diffstr.length;i++)if("@"===diffstr[i][0]){var chnukHeader=diffstr[i].split(/@@ -(\d+),(\d+) \+(\d+),(\d+) @@/);hunks.unshift({start:chnukHeader[3],oldlength:+chnukHeader[2],removed:[],newlength:chnukHeader[4],added:[]})}else"+"===diffstr[i][0]?hunks[0].added.push(diffstr[i].substr(1)):"-"===diffstr[i][0]?hunks[0].removed.push(diffstr[i].substr(1)):" "===diffstr[i][0]?(hunks[0].added.push(diffstr[i].substr(1)),hunks[0].removed.push(diffstr[i].substr(1))):"\\"===diffstr[i][0]&&("+"===diffstr[i-1][0]?remEOFNL=!0:"-"===diffstr[i-1][0]&&(addEOFNL=!0));var lines=oldStr.split("\n");for(i=hunks.length-1;i>=0;i--){for(var hunk=hunks[i],j=0;j<hunk.oldlength;j++)if(lines[hunk.start-1+j]!==hunk.removed[j])return!1;Array.prototype.splice.apply(lines,[hunk.start-1,hunk.oldlength].concat(hunk.added))}if(remEOFNL)for(;!lines[lines.length-1];)lines.pop();else addEOFNL&&lines.push("");return lines.join("\n")},convertChangesToXML:function(changes){for(var ret=[],i=0;i<changes.length;i++){var change=changes[i];change.added?ret.push("<ins>"):change.removed&&ret.push("<del>"),ret.push(escapeHTML(change.value)),change.added?ret.push("</ins>"):change.removed&&ret.push("</del>")}return ret.join("")},convertChangesToDMP:function(changes){for(var change,operation,ret=[],i=0;i<changes.length;i++)change=changes[i],operation=change.added?1:change.removed?-1:0,ret.push([operation,change.value]);return ret},canonicalize:canonicalize};"undefined"!=typeof module&&module.exports?module.exports=JsDiff:(__WEBPACK_AMD_DEFINE_ARRAY__=[],__WEBPACK_AMD_DEFINE_RESULT__=function(){return JsDiff}.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__),!(__WEBPACK_AMD_DEFINE_RESULT__!==undefined&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)))}(this)},function(module,exports,__webpack_require__){!function(){function SideBySidePrinter(){}function generateSideBySideFileHtml(file,config){var fileHtml={};return fileHtml.left="",fileHtml.right="",file.blocks.forEach(function(block){fileHtml.left+='<tr>\n <td class="d2h-code-side-linenumber '+diffParser.LINE_TYPE.INFO+'"></td>\n <td class="'+diffParser.LINE_TYPE.INFO+'"> <div class="d2h-code-side-line '+diffParser.LINE_TYPE.INFO+'"> '+utils.escape(block.header)+" </div> </td>\n</tr>\n",fileHtml.right+='<tr>\n <td class="d2h-code-side-linenumber '+diffParser.LINE_TYPE.INFO+'"></td>\n <td class="'+diffParser.LINE_TYPE.INFO+'"> <div class="d2h-code-side-line '+diffParser.LINE_TYPE.INFO+'"></div> </td>\n</tr>\n';for(var oldLines=[],newLines=[],tmpHtml="",i=0;i<block.lines.length;i++){var line=block.lines[i],escapedLine=utils.escape(line.content);if(line.type!=diffParser.LINE_TYPE.CONTEXT||oldLines.length||newLines.length)if(line.type!=diffParser.LINE_TYPE.INSERTS||oldLines.length||newLines.length)if(line.type!=diffParser.LINE_TYPE.DELETES||newLines.length)if(line.type==diffParser.LINE_TYPE.INSERTS&&oldLines.length>newLines.length)newLines.push(line);else{var oldLine,newLine,j=0;if(oldLines.length===newLines.length)for(j=0;j<oldLines.length;j++){oldLine=oldLines[j],newLine=newLines[j],config.isCombined=file.isCombined;var diff=printerUtils.diffHighlight(oldLine.content,newLine.content,config);fileHtml.left+=generateSingleLineHtml(oldLine.type,oldLine.oldNumber,diff.first.line,diff.first.prefix),fileHtml.right+=generateSingleLineHtml(newLine.type,newLine.newNumber,diff.second.line,diff.second.prefix)}else tmpHtml=processLines(oldLines,newLines),fileHtml.left+=tmpHtml.left,fileHtml.right+=tmpHtml.right;oldLines=[],newLines=[],i--}else oldLines.push(line);else fileHtml.left+=generateSingleLineHtml(diffParser.LINE_TYPE.CONTEXT,"","",""),fileHtml.right+=generateSingleLineHtml(line.type,line.newNumber,escapedLine);else fileHtml.left+=generateSingleLineHtml(line.type,line.oldNumber,escapedLine),fileHtml.right+=generateSingleLineHtml(line.type,line.newNumber,escapedLine)}tmpHtml=processLines(oldLines,newLines),fileHtml.left+=tmpHtml.left,fileHtml.right+=tmpHtml.right}),fileHtml}function processLines(oldLines,newLines){var fileHtml={};fileHtml.left="",fileHtml.right="";var maxLinesNumber=Math.max(oldLines.length,newLines.length);for(j=0;j<maxLinesNumber;j++){var oldLine=oldLines[j],newLine=newLines[j];oldLine&&newLine?(fileHtml.left+=generateSingleLineHtml(oldLine.type,oldLine.oldNumber,utils.escape(oldLine.content)),fileHtml.right+=generateSingleLineHtml(newLine.type,newLine.newNumber,utils.escape(newLine.content))):oldLine?(fileHtml.left+=generateSingleLineHtml(oldLine.type,oldLine.oldNumber,utils.escape(oldLine.content)),fileHtml.right+=generateSingleLineHtml(diffParser.LINE_TYPE.CONTEXT,"","","")):newLine?(fileHtml.left+=generateSingleLineHtml(diffParser.LINE_TYPE.CONTEXT,"","",""),fileHtml.right+=generateSingleLineHtml(newLine.type,newLine.newNumber,utils.escape(newLine.content))):console.error("How did it get here?")}return fileHtml}function generateSingleLineHtml(type,number,content,prefix){var htmlPrefix="";prefix&&(htmlPrefix='<span class="d2h-code-line-prefix">'+prefix+"</span>");var htmlContent="";return content&&(htmlContent='<span class="d2h-code-line-ctn">'+content+"</span>"),'<tr>\n <td class="d2h-code-side-linenumber '+type+'">'+number+'</td>\n <td class="'+type+'"> <div class="d2h-code-side-line '+type+'">'+htmlPrefix+htmlContent+"</div> </td>\n </tr>\n"}function generateEmptyDiff(){var fileHtml={};return fileHtml.right="",fileHtml.left='<tr>\n <td class="'+diffParser.LINE_TYPE.INFO+'"> <div class="d2h-code-side-line '+diffParser.LINE_TYPE.INFO+'">File without changes </div> </td>\n</tr>\n',fileHtml}var diffParser=__webpack_require__(1).DiffParser,printerUtils=__webpack_require__(5).PrinterUtils,utils=__webpack_require__(2).Utils;SideBySidePrinter.prototype.generateSideBySideJsonHtml=function(diffFiles,config){return'<div class="d2h-wrapper">\n'+diffFiles.map(function(file){var diffs;return diffs=file.blocks.length?generateSideBySideFileHtml(file,config):generateEmptyDiff(),'<div class="d2h-file-wrapper" data-lang="'+file.language+'">\n <div class="d2h-file-header">\n <div class="d2h-file-stats">\n <span class="d2h-lines-added">+'+file.addedLines+'</span>\n <span class="d2h-lines-deleted">-'+file.deletedLines+'</span>\n </div>\n <div class="d2h-file-name">'+printerUtils.getDiffName(file)+'</div>\n </div>\n <div class="d2h-files-diff">\n <div class="d2h-file-side-diff">\n <div class="d2h-code-wrapper">\n <table class="d2h-diff-table">\n <tbody class="d2h-diff-tbody">\n '+diffs.left+' </tbody>\n </table>\n </div>\n </div>\n <div class="d2h-file-side-diff">\n <div class="d2h-code-wrapper">\n <table class="d2h-diff-table">\n <tbody class="d2h-diff-tbody">\n '+diffs.right+" </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n"}).join("\n")+"</div>\n"},module.exports.SideBySidePrinter=new SideBySidePrinter}(this)}]);