v-code-diff
Advanced tools
Comparing version
@@ -1,1 +0,1 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue-demi"),t=require("diff2html"),n=require("diff");require("highlight.js/styles/googlecode.css"),require("diff2html/bundles/css/diff2html.min.css");var r=require("highlight.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function d(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var o=d(t),a=i(r);const l=(t,n={},r)=>{if(e.isVue2)return e.h(t,n,r);const{props:i,domProps:d,on:o,...a}=n;const l={...a,...i,...d,...(e=>e?Object.entries(e).reduce(((e,[t,n])=>({...e,[t=`on${t=t.charAt(0).toUpperCase()+t.slice(1)}`]:n})),{}):null)(o)};return e.h(t,l,r)};var s=[],p=[];!function(e,t){if(e&&"undefined"!=typeof document){var n,r=!0===t.prepend?"prepend":"append",i=!0===t.singleTag,d="string"==typeof t.container?document.querySelector(t.container):document.getElementsByTagName("head")[0];if(i){var o=s.indexOf(d);-1===o&&(o=s.push(d)-1,p[o]={}),n=p[o]&&p[o][r]?p[o][r]:p[o][r]=a()}else n=a();65279===e.charCodeAt(0)&&(e=e.substring(1)),n.styleSheet?n.styleSheet.cssText+=e:n.appendChild(document.createTextNode(e))}function a(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),t.attributes)for(var n=Object.keys(t.attributes),i=0;i<n.length;i++)e.setAttribute(n[i],t.attributes[n[i]]);var o="prepend"===r?"afterbegin":"beforeend";return d.insertAdjacentElement(o,e),e}}(".hljs {\n display: inline-block;\n padding: 0;\n background: transparent;\n vertical-align: middle;\n}\n\n.d2h-wrapper {\n position: relative;\n line-height: normal;\n}\n.d2h-wrapper .d2h-files-diff {\n position: relative;\n}\n.d2h-wrapper .d2h-files-diff > .d2h-file-side-diff ~ .d2h-file-side-diff {\n position: absolute;\n}\n.d2h-wrapper .d2h-file-side-diff {\n margin-bottom: -5px;\n}\n.d2h-wrapper .d2h-code-side-emptyplaceholder {\n max-height: 19px;\n}\n.d2h-wrapper .d2h-code-side-line,\n.d2h-wrapper .d2h-code-line {\n width: auto;\n}\n.d2h-wrapper .d2h-code-side-line .d2h-info {\n height: 18px;\n}\n.d2h-wrapper .d2h-code-linenumber,\n.d2h-wrapper .d2h-code-side-linenumber {\n height: 19px;\n}",{});var h=e.defineComponent({name:"CodeDiff",props:{oldString:{type:String,default:""},newString:{type:String,default:""},context:{type:Number,default:10},outputFormat:{type:String,default:"line-by-line"},drawFileList:{type:Boolean,default:!1},renderNothingWhenEmpty:{type:Boolean,default:!1},fileName:{type:String,default:""},isShowNoChange:{type:Boolean,default:!1}},setup(t){const r=e.computed((()=>((e,t,r,i,d,a,l,s)=>{s&&(e="File Without Change\tOldString: ======================== \n"+e,t="File Without Change\tNewString: ======================== \n"+t);const p=n.createPatch(l,e,t,"","",{context:r}),h=o.parse(p,{outputFormat:i,drawFileList:d,matching:"lines",renderNothingWhenEmpty:a});return function(e){return e.replace(/<span class="d2h-code-line-ctn">(.+?)<\/span>/g,'<span class="d2h-code-line-ctn"><code>$1</code></span>')}(o.html(h,{outputFormat:i,drawFileList:d,matching:"lines",renderNothingWhenEmpty:a}))})(t.oldString,t.newString,t.context,t.outputFormat,t.drawFileList,t.renderNothingWhenEmpty,t.fileName,t.isShowNoChange)));return e.onMounted((()=>{document.querySelectorAll(".d2h-wrapper code").forEach((e=>{a.default.highlightElement(e)}))})),{html:r}},render(){return l("div",{domProps:{innerHTML:this.html}})}});h.install=e=>{e.component(h.name,h)};const u=[h],c=e=>{u.forEach((t=>{e.component(t.name,t)}))};var f={install:c};exports.CodeDiff=h,exports.default=f,exports.install=c; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue-demi"),n=require("diff"),t=require("diff2html"),r=require("highlight.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}require("diff2html/bundles/css/diff2html.min.css");var i=o(t),s=l(r);const a=(n,t={},r)=>{if(e.isVue2)return e.h(n,t,r);const{props:l,domProps:o,on:i,...s}=t;const a={...s,...l,...o,...(e=>e?Object.entries(e).reduce(((e,[n,t])=>({...e,[n=`on${n=n.charAt(0).toUpperCase()+n.slice(1)}`]:t})),{}):null)(i)};return e.h(n,a,r)};var d=[],h=[];!function(e,n){if(e&&"undefined"!=typeof document){var t,r=!0===n.prepend?"prepend":"append",l=!0===n.singleTag,o="string"==typeof n.container?document.querySelector(n.container):document.getElementsByTagName("head")[0];if(l){var i=d.indexOf(o);-1===i&&(i=d.push(o)-1,h[i]={}),t=h[i]&&h[i][r]?h[i][r]:h[i][r]=s()}else t=s();65279===e.charCodeAt(0)&&(e=e.substring(1)),t.styleSheet?t.styleSheet.cssText+=e:t.appendChild(document.createTextNode(e))}function s(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),n.attributes)for(var t=Object.keys(n.attributes),l=0;l<t.length;l++)e.setAttribute(t[l],n.attributes[t[l]]);var i="prepend"===r?"afterbegin":"beforeend";return o.insertAdjacentElement(i,e),e}}(".hljs {\n display: inline-block;\n padding: 0;\n background: transparent;\n vertical-align: middle;\n}\n\n/*\n\nGoogle Code style (c) Aahan Krish <geekpanth3r@gmail.com>\n\n*/\n.hljs-comment,\n.hljs-quote {\n color: #800;\n}\n\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-section,\n.hljs-title,\n.hljs-name {\n color: #008;\n}\n\n.hljs-variable,\n.hljs-template-variable {\n color: #660;\n}\n\n.hljs-string,\n.hljs-selector-attr,\n.hljs-selector-pseudo,\n.hljs-regexp {\n color: #080;\n}\n\n.hljs-literal,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-meta,\n.hljs-number,\n.hljs-link {\n color: #066;\n}\n\n.hljs-title,\n.hljs-doctag,\n.hljs-type,\n.hljs-attr,\n.hljs-built_in,\n.hljs-builtin-name,\n.hljs-params {\n color: #606;\n}\n\n.hljs-attribute,\n.hljs-subst {\n color: #000;\n}\n\n.hljs-formula {\n background-color: #eee;\n font-style: italic;\n}\n\n.hljs-selector-id,\n.hljs-selector-class {\n color: #9B703F;\n}\n\n.hljs-addition {\n background-color: #baeeba;\n}\n\n.hljs-deletion {\n background-color: #ffc8bd;\n}\n\n.hljs-doctag,\n.hljs-strong {\n font-weight: bold;\n}\n\n.hljs-emphasis {\n font-style: italic;\n}\n\n.d2h-wrapper {\n position: relative;\n line-height: normal;\n}\n.d2h-wrapper .d2h-files-diff {\n position: relative;\n}\n.d2h-wrapper .d2h-files-diff > .d2h-file-side-diff ~ .d2h-file-side-diff {\n position: absolute;\n}\n.d2h-wrapper .d2h-file-side-diff {\n margin-bottom: -5px;\n}\n.d2h-wrapper .d2h-code-side-emptyplaceholder {\n max-height: 19px;\n}\n.d2h-wrapper .d2h-code-side-line,\n.d2h-wrapper .d2h-code-line {\n width: auto;\n}\n.d2h-wrapper .d2h-code-side-line .d2h-info {\n height: 18px;\n}\n.d2h-wrapper .d2h-code-linenumber,\n.d2h-wrapper .d2h-code-side-linenumber {\n height: 19px;\n}\n\n.d2h-wrapper .d2h-file-header {\n display: none;\n}",{});var c=e.defineComponent({name:"CodeDiff",props:{oldString:{type:String,default:""},newString:{type:String,default:""},context:{type:Number,default:10},outputFormat:{type:String,default:"line-by-line"},drawFileList:{type:Boolean,default:!1},renderNothingWhenEmpty:{type:Boolean,default:!1},fileName:{type:String,default:""},isShowNoChange:{type:Boolean,default:!1}},setup(t){const r=e.computed((()=>((e,t,r,l,o,s,a,d)=>{d&&(e="File Without Change\tOldString: ======================== \n"+e,t="File Without Change\tNewString: ======================== \n"+t);const h=n.createPatch(a,e,t,"","",{context:r});return function(e){return e.replace(/<span class="d2h-code-line-ctn">(.+?)<\/span>/g,'<span class="d2h-code-line-ctn"><code>$1</code></span>')}(i.html(h,{outputFormat:l,drawFileList:o,matching:"lines",renderNothingWhenEmpty:s}))})(t.oldString,t.newString,t.context,t.outputFormat,t.drawFileList,t.renderNothingWhenEmpty,t.fileName,t.isShowNoChange)));return e.onMounted((()=>{document.querySelectorAll(".d2h-wrapper code").forEach((e=>{s.default.highlightElement(e)}))})),{html:r}},render(){return a("div",{domProps:{innerHTML:this.html}})}});c.install=e=>{e.component(c.name,c)};const p=[c],u=e=>{p.forEach((n=>{e.component(n.name,n)}))};var f={install:u};exports.CodeDiff=c,exports.default=f,exports.install=u; |
@@ -1,1 +0,1 @@ | ||
import{isVue2 as e,h as t,defineComponent as n,computed as r,onMounted as i}from"vue-demi";import*as o from"diff2html";import{createPatch as d}from"diff";import"highlight.js/styles/googlecode.css";import"diff2html/bundles/css/diff2html.min.css";import a from"highlight.js";const l=(n,r={},i)=>{if(e)return t(n,r,i);const{props:o,domProps:d,on:a,...l}=r;const p={...l,...o,...d,...(e=>e?Object.entries(e).reduce(((e,[t,n])=>({...e,[t=`on${t=t.charAt(0).toUpperCase()+t.slice(1)}`]:n})),{}):null)(a)};return t(n,p,i)};var p=[],s=[];!function(e,t){if(e&&"undefined"!=typeof document){var n,r=!0===t.prepend?"prepend":"append",i=!0===t.singleTag,o="string"==typeof t.container?document.querySelector(t.container):document.getElementsByTagName("head")[0];if(i){var d=p.indexOf(o);-1===d&&(d=p.push(o)-1,s[d]={}),n=s[d]&&s[d][r]?s[d][r]:s[d][r]=a()}else n=a();65279===e.charCodeAt(0)&&(e=e.substring(1)),n.styleSheet?n.styleSheet.cssText+=e:n.appendChild(document.createTextNode(e))}function a(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),t.attributes)for(var n=Object.keys(t.attributes),i=0;i<n.length;i++)e.setAttribute(n[i],t.attributes[n[i]]);var d="prepend"===r?"afterbegin":"beforeend";return o.insertAdjacentElement(d,e),e}}(".hljs {\n display: inline-block;\n padding: 0;\n background: transparent;\n vertical-align: middle;\n}\n\n.d2h-wrapper {\n position: relative;\n line-height: normal;\n}\n.d2h-wrapper .d2h-files-diff {\n position: relative;\n}\n.d2h-wrapper .d2h-files-diff > .d2h-file-side-diff ~ .d2h-file-side-diff {\n position: absolute;\n}\n.d2h-wrapper .d2h-file-side-diff {\n margin-bottom: -5px;\n}\n.d2h-wrapper .d2h-code-side-emptyplaceholder {\n max-height: 19px;\n}\n.d2h-wrapper .d2h-code-side-line,\n.d2h-wrapper .d2h-code-line {\n width: auto;\n}\n.d2h-wrapper .d2h-code-side-line .d2h-info {\n height: 18px;\n}\n.d2h-wrapper .d2h-code-linenumber,\n.d2h-wrapper .d2h-code-side-linenumber {\n height: 19px;\n}",{});var h=n({name:"CodeDiff",props:{oldString:{type:String,default:""},newString:{type:String,default:""},context:{type:Number,default:10},outputFormat:{type:String,default:"line-by-line"},drawFileList:{type:Boolean,default:!1},renderNothingWhenEmpty:{type:Boolean,default:!1},fileName:{type:String,default:""},isShowNoChange:{type:Boolean,default:!1}},setup(e){const t=r((()=>((e,t,n,r,i,a,l,p)=>{p&&(e="File Without Change\tOldString: ======================== \n"+e,t="File Without Change\tNewString: ======================== \n"+t);const s=d(l,e,t,"","",{context:n}),h=o.parse(s,{outputFormat:r,drawFileList:i,matching:"lines",renderNothingWhenEmpty:a});return function(e){return e.replace(/<span class="d2h-code-line-ctn">(.+?)<\/span>/g,'<span class="d2h-code-line-ctn"><code>$1</code></span>')}(o.html(h,{outputFormat:r,drawFileList:i,matching:"lines",renderNothingWhenEmpty:a}))})(e.oldString,e.newString,e.context,e.outputFormat,e.drawFileList,e.renderNothingWhenEmpty,e.fileName,e.isShowNoChange)));return i((()=>{document.querySelectorAll(".d2h-wrapper code").forEach((e=>{a.highlightElement(e)}))})),{html:t}},render(){return l("div",{domProps:{innerHTML:this.html}})}});h.install=e=>{e.component(h.name,h)};const c=[h],f=e=>{c.forEach((t=>{e.component(t.name,t)}))};var m={install:f};export default m;export{h as CodeDiff,f as install}; | ||
import{isVue2 as n,h as e,defineComponent as t,computed as l,onMounted as r}from"vue-demi";import{createPatch as o}from"diff";import*as i from"diff2html";import s from"highlight.js";import"diff2html/bundles/css/diff2html.min.css";const a=(t,l={},r)=>{if(n)return e(t,l,r);const{props:o,domProps:i,on:s,...a}=l;const d={...a,...o,...i,...(n=>n?Object.entries(n).reduce(((n,[e,t])=>({...n,[e=`on${e=e.charAt(0).toUpperCase()+e.slice(1)}`]:t})),{}):null)(s)};return e(t,d,r)};var d=[],h=[];!function(n,e){if(n&&"undefined"!=typeof document){var t,l=!0===e.prepend?"prepend":"append",r=!0===e.singleTag,o="string"==typeof e.container?document.querySelector(e.container):document.getElementsByTagName("head")[0];if(r){var i=d.indexOf(o);-1===i&&(i=d.push(o)-1,h[i]={}),t=h[i]&&h[i][l]?h[i][l]:h[i][l]=s()}else t=s();65279===n.charCodeAt(0)&&(n=n.substring(1)),t.styleSheet?t.styleSheet.cssText+=n:t.appendChild(document.createTextNode(n))}function s(){var n=document.createElement("style");if(n.setAttribute("type","text/css"),e.attributes)for(var t=Object.keys(e.attributes),r=0;r<t.length;r++)n.setAttribute(t[r],e.attributes[t[r]]);var i="prepend"===l?"afterbegin":"beforeend";return o.insertAdjacentElement(i,n),n}}(".hljs {\n display: inline-block;\n padding: 0;\n background: transparent;\n vertical-align: middle;\n}\n\n/*\n\nGoogle Code style (c) Aahan Krish <geekpanth3r@gmail.com>\n\n*/\n.hljs-comment,\n.hljs-quote {\n color: #800;\n}\n\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-section,\n.hljs-title,\n.hljs-name {\n color: #008;\n}\n\n.hljs-variable,\n.hljs-template-variable {\n color: #660;\n}\n\n.hljs-string,\n.hljs-selector-attr,\n.hljs-selector-pseudo,\n.hljs-regexp {\n color: #080;\n}\n\n.hljs-literal,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-meta,\n.hljs-number,\n.hljs-link {\n color: #066;\n}\n\n.hljs-title,\n.hljs-doctag,\n.hljs-type,\n.hljs-attr,\n.hljs-built_in,\n.hljs-builtin-name,\n.hljs-params {\n color: #606;\n}\n\n.hljs-attribute,\n.hljs-subst {\n color: #000;\n}\n\n.hljs-formula {\n background-color: #eee;\n font-style: italic;\n}\n\n.hljs-selector-id,\n.hljs-selector-class {\n color: #9B703F;\n}\n\n.hljs-addition {\n background-color: #baeeba;\n}\n\n.hljs-deletion {\n background-color: #ffc8bd;\n}\n\n.hljs-doctag,\n.hljs-strong {\n font-weight: bold;\n}\n\n.hljs-emphasis {\n font-style: italic;\n}\n\n.d2h-wrapper {\n position: relative;\n line-height: normal;\n}\n.d2h-wrapper .d2h-files-diff {\n position: relative;\n}\n.d2h-wrapper .d2h-files-diff > .d2h-file-side-diff ~ .d2h-file-side-diff {\n position: absolute;\n}\n.d2h-wrapper .d2h-file-side-diff {\n margin-bottom: -5px;\n}\n.d2h-wrapper .d2h-code-side-emptyplaceholder {\n max-height: 19px;\n}\n.d2h-wrapper .d2h-code-side-line,\n.d2h-wrapper .d2h-code-line {\n width: auto;\n}\n.d2h-wrapper .d2h-code-side-line .d2h-info {\n height: 18px;\n}\n.d2h-wrapper .d2h-code-linenumber,\n.d2h-wrapper .d2h-code-side-linenumber {\n height: 19px;\n}\n\n.d2h-wrapper .d2h-file-header {\n display: none;\n}",{});var p=t({name:"CodeDiff",props:{oldString:{type:String,default:""},newString:{type:String,default:""},context:{type:Number,default:10},outputFormat:{type:String,default:"line-by-line"},drawFileList:{type:Boolean,default:!1},renderNothingWhenEmpty:{type:Boolean,default:!1},fileName:{type:String,default:""},isShowNoChange:{type:Boolean,default:!1}},setup(n){const e=l((()=>((n,e,t,l,r,s,a,d)=>{d&&(n="File Without Change\tOldString: ======================== \n"+n,e="File Without Change\tNewString: ======================== \n"+e);const h=o(a,n,e,"","",{context:t});return function(n){return n.replace(/<span class="d2h-code-line-ctn">(.+?)<\/span>/g,'<span class="d2h-code-line-ctn"><code>$1</code></span>')}(i.html(h,{outputFormat:l,drawFileList:r,matching:"lines",renderNothingWhenEmpty:s}))})(n.oldString,n.newString,n.context,n.outputFormat,n.drawFileList,n.renderNothingWhenEmpty,n.fileName,n.isShowNoChange)));return r((()=>{document.querySelectorAll(".d2h-wrapper code").forEach((n=>{s.highlightElement(n)}))})),{html:e}},render(){return a("div",{domProps:{innerHTML:this.html}})}});p.install=n=>{n.component(p.name,p)};const c=[p],m=n=>{c.forEach((e=>{n.component(e.name,e)}))};var u={install:m};export default u;export{p as CodeDiff,m as install}; |
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue-demi"),require("diff2html"),require("diff"),require("highlight.js/styles/googlecode.css"),require("diff2html/bundles/css/diff2html.min.css"),require("highlight.js")):"function"==typeof define&&define.amd?define(["exports","vue-demi","diff2html","diff","highlight.js/styles/googlecode.css","diff2html/bundles/css/diff2html.min.css","highlight.js"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["v-code-diff"]={},e.VueDemi,e.Diff2Html,e.diff,null,null,e.hljs)}(this,(function(e,t,n,i,r,d,o){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var s=a(n),f=l(o);const h=(e,n={},i)=>{if(t.isVue2)return t.h(e,n,i);const{props:r,domProps:d,on:o,...l}=n;const a={...l,...r,...d,...(e=>e?Object.entries(e).reduce(((e,[t,n])=>({...e,[t=`on${t=t.charAt(0).toUpperCase()+t.slice(1)}`]:n})),{}):null)(o)};return t.h(e,a,i)};var p=[],u=[];!function(e,t){if(e&&"undefined"!=typeof document){var n,i=!0===t.prepend?"prepend":"append",r=!0===t.singleTag,d="string"==typeof t.container?document.querySelector(t.container):document.getElementsByTagName("head")[0];if(r){var o=p.indexOf(d);-1===o&&(o=p.push(d)-1,u[o]={}),n=u[o]&&u[o][i]?u[o][i]:u[o][i]=l()}else n=l();65279===e.charCodeAt(0)&&(e=e.substring(1)),n.styleSheet?n.styleSheet.cssText+=e:n.appendChild(document.createTextNode(e))}function l(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),t.attributes)for(var n=Object.keys(t.attributes),r=0;r<n.length;r++)e.setAttribute(n[r],t.attributes[n[r]]);var o="prepend"===i?"afterbegin":"beforeend";return d.insertAdjacentElement(o,e),e}}(".hljs {\n display: inline-block;\n padding: 0;\n background: transparent;\n vertical-align: middle;\n}\n\n.d2h-wrapper {\n position: relative;\n line-height: normal;\n}\n.d2h-wrapper .d2h-files-diff {\n position: relative;\n}\n.d2h-wrapper .d2h-files-diff > .d2h-file-side-diff ~ .d2h-file-side-diff {\n position: absolute;\n}\n.d2h-wrapper .d2h-file-side-diff {\n margin-bottom: -5px;\n}\n.d2h-wrapper .d2h-code-side-emptyplaceholder {\n max-height: 19px;\n}\n.d2h-wrapper .d2h-code-side-line,\n.d2h-wrapper .d2h-code-line {\n width: auto;\n}\n.d2h-wrapper .d2h-code-side-line .d2h-info {\n height: 18px;\n}\n.d2h-wrapper .d2h-code-linenumber,\n.d2h-wrapper .d2h-code-side-linenumber {\n height: 19px;\n}",{});var c=t.defineComponent({name:"CodeDiff",props:{oldString:{type:String,default:""},newString:{type:String,default:""},context:{type:Number,default:10},outputFormat:{type:String,default:"line-by-line"},drawFileList:{type:Boolean,default:!1},renderNothingWhenEmpty:{type:Boolean,default:!1},fileName:{type:String,default:""},isShowNoChange:{type:Boolean,default:!1}},setup(e){const n=t.computed((()=>((e,t,n,r,d,o,l,a)=>{a&&(e="File Without Change\tOldString: ======================== \n"+e,t="File Without Change\tNewString: ======================== \n"+t);const f=i.createPatch(l,e,t,"","",{context:n}),h=s.parse(f,{outputFormat:r,drawFileList:d,matching:"lines",renderNothingWhenEmpty:o});return function(e){return e.replace(/<span class="d2h-code-line-ctn">(.+?)<\/span>/g,'<span class="d2h-code-line-ctn"><code>$1</code></span>')}(s.html(h,{outputFormat:r,drawFileList:d,matching:"lines",renderNothingWhenEmpty:o}))})(e.oldString,e.newString,e.context,e.outputFormat,e.drawFileList,e.renderNothingWhenEmpty,e.fileName,e.isShowNoChange)));return t.onMounted((()=>{document.querySelectorAll(".d2h-wrapper code").forEach((e=>{f.default.highlightElement(e)}))})),{html:n}},render(){return h("div",{domProps:{innerHTML:this.html}})}});c.install=e=>{e.component(c.name,c)};const m=[c],g=e=>{m.forEach((t=>{e.component(t.name,t)}))};var y={install:g};e.CodeDiff=c,e.default=y,e.install=g,Object.defineProperty(e,"__esModule",{value:!0})})); | ||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("vue-demi"),require("diff"),require("diff2html"),require("highlight.js"),require("diff2html/bundles/css/diff2html.min.css")):"function"==typeof define&&define.amd?define(["exports","vue-demi","diff","diff2html","highlight.js","diff2html/bundles/css/diff2html.min.css"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self)["v-code-diff"]={},e.VueDemi,e.diff,e.d2h,e.hljs)}(this,(function(e,n,t,r,l){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var d=o(r),s=i(l);const a=(e,t={},r)=>{if(n.isVue2)return n.h(e,t,r);const{props:l,domProps:i,on:o,...d}=t;const s={...d,...l,...i,...(e=>e?Object.entries(e).reduce(((e,[n,t])=>({...e,[n=`on${n=n.charAt(0).toUpperCase()+n.slice(1)}`]:t})),{}):null)(o)};return n.h(e,s,r)};var h=[],c=[];!function(e,n){if(e&&"undefined"!=typeof document){var t,r=!0===n.prepend?"prepend":"append",l=!0===n.singleTag,i="string"==typeof n.container?document.querySelector(n.container):document.getElementsByTagName("head")[0];if(l){var o=h.indexOf(i);-1===o&&(o=h.push(i)-1,c[o]={}),t=c[o]&&c[o][r]?c[o][r]:c[o][r]=d()}else t=d();65279===e.charCodeAt(0)&&(e=e.substring(1)),t.styleSheet?t.styleSheet.cssText+=e:t.appendChild(document.createTextNode(e))}function d(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),n.attributes)for(var t=Object.keys(n.attributes),l=0;l<t.length;l++)e.setAttribute(t[l],n.attributes[t[l]]);var o="prepend"===r?"afterbegin":"beforeend";return i.insertAdjacentElement(o,e),e}}(".hljs {\n display: inline-block;\n padding: 0;\n background: transparent;\n vertical-align: middle;\n}\n\n/*\n\nGoogle Code style (c) Aahan Krish <geekpanth3r@gmail.com>\n\n*/\n.hljs-comment,\n.hljs-quote {\n color: #800;\n}\n\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-section,\n.hljs-title,\n.hljs-name {\n color: #008;\n}\n\n.hljs-variable,\n.hljs-template-variable {\n color: #660;\n}\n\n.hljs-string,\n.hljs-selector-attr,\n.hljs-selector-pseudo,\n.hljs-regexp {\n color: #080;\n}\n\n.hljs-literal,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-meta,\n.hljs-number,\n.hljs-link {\n color: #066;\n}\n\n.hljs-title,\n.hljs-doctag,\n.hljs-type,\n.hljs-attr,\n.hljs-built_in,\n.hljs-builtin-name,\n.hljs-params {\n color: #606;\n}\n\n.hljs-attribute,\n.hljs-subst {\n color: #000;\n}\n\n.hljs-formula {\n background-color: #eee;\n font-style: italic;\n}\n\n.hljs-selector-id,\n.hljs-selector-class {\n color: #9B703F;\n}\n\n.hljs-addition {\n background-color: #baeeba;\n}\n\n.hljs-deletion {\n background-color: #ffc8bd;\n}\n\n.hljs-doctag,\n.hljs-strong {\n font-weight: bold;\n}\n\n.hljs-emphasis {\n font-style: italic;\n}\n\n.d2h-wrapper {\n position: relative;\n line-height: normal;\n}\n.d2h-wrapper .d2h-files-diff {\n position: relative;\n}\n.d2h-wrapper .d2h-files-diff > .d2h-file-side-diff ~ .d2h-file-side-diff {\n position: absolute;\n}\n.d2h-wrapper .d2h-file-side-diff {\n margin-bottom: -5px;\n}\n.d2h-wrapper .d2h-code-side-emptyplaceholder {\n max-height: 19px;\n}\n.d2h-wrapper .d2h-code-side-line,\n.d2h-wrapper .d2h-code-line {\n width: auto;\n}\n.d2h-wrapper .d2h-code-side-line .d2h-info {\n height: 18px;\n}\n.d2h-wrapper .d2h-code-linenumber,\n.d2h-wrapper .d2h-code-side-linenumber {\n height: 19px;\n}\n\n.d2h-wrapper .d2h-file-header {\n display: none;\n}",{});var f=n.defineComponent({name:"CodeDiff",props:{oldString:{type:String,default:""},newString:{type:String,default:""},context:{type:Number,default:10},outputFormat:{type:String,default:"line-by-line"},drawFileList:{type:Boolean,default:!1},renderNothingWhenEmpty:{type:Boolean,default:!1},fileName:{type:String,default:""},isShowNoChange:{type:Boolean,default:!1}},setup(e){const r=n.computed((()=>((e,n,r,l,i,o,s,a)=>{a&&(e="File Without Change\tOldString: ======================== \n"+e,n="File Without Change\tNewString: ======================== \n"+n);const h=t.createPatch(s,e,n,"","",{context:r});return function(e){return e.replace(/<span class="d2h-code-line-ctn">(.+?)<\/span>/g,'<span class="d2h-code-line-ctn"><code>$1</code></span>')}(d.html(h,{outputFormat:l,drawFileList:i,matching:"lines",renderNothingWhenEmpty:o}))})(e.oldString,e.newString,e.context,e.outputFormat,e.drawFileList,e.renderNothingWhenEmpty,e.fileName,e.isShowNoChange)));return n.onMounted((()=>{document.querySelectorAll(".d2h-wrapper code").forEach((e=>{s.default.highlightElement(e)}))})),{html:r}},render(){return a("div",{domProps:{innerHTML:this.html}})}});f.install=e=>{e.component(f.name,f)};const p=[f],u=e=>{p.forEach((n=>{e.component(n.name,n)}))};var m={install:u};e.CodeDiff=f,e.default=m,e.install=u,Object.defineProperty(e,"__esModule",{value:!0})})); |
@@ -1,3 +0,1 @@ | ||
import 'highlight.js/styles/googlecode.css'; | ||
import 'diff2html/bundles/css/diff2html.min.css'; | ||
export declare const createHtml: (oldString: any, newString: any, context: any, outputFormat: any, drawFileList: any, renderNothingWhenEmpty: any, fileName: any, isShowNoChange: any) => any; |
@@ -1,2 +0,2 @@ | ||
import './style.scss'; | ||
import './styles'; | ||
declare const _default: import("vue-demi").DefineComponent<{ | ||
@@ -3,0 +3,0 @@ oldString: { |
{ | ||
"name": "v-code-diff", | ||
"description": "A diff plugin of vue, support vue2 and vue3", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"scripts": { | ||
@@ -47,3 +47,3 @@ "dev": "vite", | ||
"diff2html": "^3.4.5", | ||
"highlight.js": "^10.7.3", | ||
"highlight.js": "^10.5.0", | ||
"vue-demi": "latest" | ||
@@ -50,0 +50,0 @@ }, |
@@ -10,2 +10,7 @@ # VCodeDiff | ||
# Attention! | ||
This plugin will be slower than [vue-code-diff](https://github.com/ddchef/vue-code-diff) because [vue-code-diff](https://github.com/ddchef/vue-code-diff) uses plugin [highlight.js](https://github.com/highlightjs/highlight.js) version 9, and this version has security issues. My plugin uses version 10, but the test found that the performance is not as good as version 9 | ||
I am looking for a solution or mitigation, which may be to use highlighting as an option, or to use asynchronous tasks to render (so that it does not block the ui), or to solve the problem in terms of performance. If you have a good idea, you are also welcome to raise an issue or pr to help me. | ||
# Installation | ||
@@ -133,6 +138,11 @@ | ||
# Todo | ||
-[ ] faster render | ||
# ChangeLog | ||
### 0.0.4 | ||
1. Fix the problem of abnormal rendering in some browsers (such as safari) | ||
### 0.0.3 | ||
1. context default value changed from 5 to 10 | ||
1. Prop: `context` default value changed from 5 to 10 | ||
2. fix possible line-height conflict(such as `antd.css` in [antd-vue](https://github.com/vueComponent/ant-design-vue)) | ||
@@ -139,0 +149,0 @@ ### 0.0.1 |
@@ -1,5 +0,3 @@ | ||
import * as Diff2Html from 'diff2html' | ||
import { createPatch } from 'diff' | ||
import 'highlight.js/styles/googlecode.css' | ||
import 'diff2html/bundles/css/diff2html.min.css' | ||
import * as d2h from 'diff2html' | ||
@@ -15,3 +13,3 @@ export const createHtml = (oldString, newString, context, outputFormat, drawFileList, renderNothingWhenEmpty, fileName, isShowNoChange) => { | ||
const dd = createPatch(fileName, oldString, newString, '', '', { context: context }) | ||
const outStr = Diff2Html.parse(dd, { | ||
const html = d2h.html(dd, { | ||
outputFormat: outputFormat, | ||
@@ -22,9 +20,3 @@ drawFileList: drawFileList, | ||
}) | ||
const html = Diff2Html.html(outStr, { | ||
outputFormat: outputFormat, | ||
drawFileList: drawFileList, | ||
matching: 'lines', | ||
renderNothingWhenEmpty: renderNothingWhenEmpty | ||
}) | ||
return highlight(html) | ||
} |
@@ -5,3 +5,3 @@ import { computed, defineComponent, onMounted } from 'vue-demi' | ||
import hljs from 'highlight.js' | ||
import './style.scss' | ||
import './styles' | ||
@@ -8,0 +8,0 @@ export default defineComponent({ |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
30951
17.14%20
17.65%272
2.26%169
6.29%3
Infinity%Updated