Socket
Socket
Sign inDemoInstall

@tkskto/vue-component-analyzer

Package Overview
Dependencies
223
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.8.0 to 0.9.0

2

dist/client.js

@@ -1,1 +0,1 @@

class e{constructor(e){this.type=e,this.currentTarget=null}}e.COMPLETE="complete",e.CHANGE_PROPERTY="changeProperty";class t{constructor(e,t,s=0){this.type=e,this.handler=t,this.priority=s}equalCurrentListener(e,t){return this.type===e&&this.handler===t}}class s{constructor(){this.listeners={}}dispatchEvent(t){let s,i;if(t instanceof e?(i=t.type,s=t):(i=t,s=new e(i)),null!==this.listeners[i]&&void 0!==this.listeners[i]){const e=this.listeners[i].length;s.currentTarget=this;for(let t=0;t<e;t++){const e=this.listeners[i][t];try{e.handler(s)}catch(e){e instanceof Error&&console.error(e.stack)}}}else console.warn('implement "addEventListener" before dispatch')}addEventListener(e,s,i=0){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(new t(e,s,i)),this.listeners[e].sort(((e,t)=>t.priority-e.priority))}removeEventListener(e,t){if(this.hasEventListener(e,t))for(let s=0;s<this.listeners[e].length;s++){if(this.listeners[e][s].equalCurrentListener(e,t))return void this.listeners[e].splice(s,1)}}clearEventListener(){this.listeners={}}containEventListener(e){return!!this.listeners[e]&&this.listeners[e].length>0}hasEventListener(e,t){if(!this.listeners[e])return!1;for(let s=0;s<this.listeners[e].length;s++){if(this.listeners[e][s].equalCurrentListener(e,t))return!0}return!1}}class i extends s{constructor(){super(),this._data={entries:[],count:{}},this._viewType="GRAPH",this._env="browser",this._visibleSettings=!1,this._visibleProps=!0,this._visibleFileSize=!0,this._visibleLastUpdated=!0,this._visibleReferenceCount=!0,this.getHowManyDaysAgo=e=>{const t=e.getTime(),s=this._todayTime-t;return Math.floor(s/864e5)},this._today=new Date,this._todayTime=this._today.getTime()}get data(){return this._data}set data(e){this._data=e}get viewType(){return this._viewType}set viewType(e){this._viewType=e,this.dispatchEvent(i.EVENT.SETTING_CHANGED)}get visibleSettings(){return this._visibleSettings}set visibleSettings(e){this._visibleSettings=e,this.dispatchEvent(i.EVENT.SETTING_CHANGED)}get visibleProps(){return this._visibleProps}set visibleProps(e){this._visibleProps=e,this.dispatchEvent(i.EVENT.SETTING_CHANGED)}get visibleFileSize(){return this._visibleFileSize}set visibleFileSize(e){this._visibleFileSize=e,this.dispatchEvent(i.EVENT.SETTING_CHANGED)}get visibleLastUpdated(){return this._visibleLastUpdated}set visibleLastUpdated(e){this._visibleLastUpdated=e,this.dispatchEvent(i.EVENT.SETTING_CHANGED)}get visibleReferenceCount(){return this._visibleReferenceCount}set visibleReferenceCount(e){this._visibleReferenceCount=e,this.dispatchEvent(i.EVENT.SETTING_CHANGED)}get env(){return this._env}set env(e){this._env=e}}i.EVENT={SETTING_CHANGED:"settingChanged"};class n{constructor(e,t,s){this._model=s,this._children=[],this._name=e.name,this._props=e.props,this._fileSize=e.size,this._lastModifiedTime=e.lastModifiedTime,this._count=t}renderChildren(){let e="";for(let t=0,s=this._children.length;t<s;t++)e+=this._children[t].render();return`<div class="group">\n ${e}\n </div>`}renderProps(){return this._props?`<pre class="file__props">props: ${JSON.stringify(this._props,null,"\t")}</pre>`:""}renderMetaData(){let e="";const t=(this._fileSize/1024).toFixed(2);return t&&(e+=`<span class="file__meta meta__fileSize">FileSize: ${t} KB</span>`),e+=`<span class="file__meta meta__lastUpdated">LastUpdated: ${0===this._lastModifiedTime?0:this._model.getHowManyDaysAgo(new Date(this._lastModifiedTime))} days ago</span>`,e}renderSummary(){let e=this._name;return this._name.endsWith(".vue")?e=`<svg class="icon" viewBox="0 0 128 128" width="24" height="24"><use xlink:href="#logo"></use></svg>${e}`:this._name.endsWith(".js")?e=`<img class="icon" src="https://raw.githubusercontent.com/voodootikigod/logo.js/master/js.png" alt="">${e}`:this._name.endsWith(".ts")&&(e=`<img class="icon" src="../dist/icon/icon-ts.png" alt="">${e}`),`<summary>${e}</summary>`}renderDetails(){return`<details class="detail"${"node"===this._model.env?" open":""}>\n ${this.renderSummary()}\n ${this.renderProps()}\n ${this.renderMetaData()}\n </details>`}render(){const e=this.renderDetails();let t="",s="";return this._children.length>0?t=this.renderChildren():s=" -no-child",this.isJS()&&(s+=" js"),this.isTS()&&(s+=" ts"),`<div class="seed${s}">\n <div class="file">\n <div class="filename">\n <div class="file__text">${e}</div>\n ${this.getCountText()}\n </div>\n </div>\n ${t}\n </div>`}getCountText(){return 0===this._count?"":1===this._count?'<span class="file__count">1 time referenced.</span>':`<span class="file__count">${this._count} times referenced.</span>`}get children(){return this._children}set children(e){this._children=e}isJS(){return this._name.endsWith(".js")}isTS(){return this._name.endsWith(".ts")}}class r{constructor(e,t){this._elm=e,this._model=t,this._type=e.dataset.settingName,e.addEventListener("change",this.onChange.bind(this))}onChange(){switch(this._type){case"props":this._model.visibleProps=this._elm.checked;break;case"fileSize":this._model.visibleFileSize=this._elm.checked;break;case"lastUpdated":this._model.visibleLastUpdated=this._elm.checked;break;case"referenceCount":this._model.visibleReferenceCount=this._elm.checked;break;default:throw new Error(`not supported type: ${this._type}`)}}}class l{constructor(e,t,s){this._elm=e,this._type=t,this._model=s,e.addEventListener("change",this.onChange.bind(this))}onChange(){this._model.viewType=this._type}}class o{constructor(e){this._isOpen=!1,this._details=null,this._textElement=document.getElementById("btn-toggle-visible-state-text"),this._details=document.querySelectorAll(".detail"),e.addEventListener("click",this.onClick.bind(this))}open(){this._details&&this._details.forEach((e=>{e.open=!0})),this._textElement&&(this._textElement.textContent="collapse all")}close(){this._details&&this._details.forEach((e=>{e.open=!1})),this._textElement&&(this._textElement.textContent="expand all")}onClick(){this._isOpen=!this._isOpen,this._isOpen?this.open():this.close()}}const a=new class{constructor(){this._contents=document.getElementById("dialog-contents"),this._btnClose=document.getElementById("btn-dialog-close"),this._btnExport=document.getElementById("btn-export"),this._btnClose&&this._btnClose.addEventListener("click",this.close.bind(this))}show(){document.body.classList.add("-dialog-show"),(e=>{let t=Array.from(document.querySelectorAll("a, button, summary"));e&&(t=t.filter((t=>null===t.closest(e)))),t.forEach((e=>{e.classList.add("-focus-disabled"),e.setAttribute("tabindex","-1")}))})("#dialog")}close(){document.body.classList.remove("-dialog-show"),document.querySelectorAll(".-focus-disabled").forEach((e=>{e.classList.remove("-focus-disabled"),e.removeAttribute("tabindex")}))}load(){this.show(),this._contents&&(this._contents.innerHTML="<p>now loading...</p>")}complete(e){this._contents&&(this._contents.innerHTML=e)}showExportDialog(e){this._btnExport.href=e.src,this.complete(e.outerHTML)}};const h=new class{constructor(){this._style="",this.getStyle=async()=>{const e=document.querySelector("#style");let t="";return e&&(t=await fetch(e.href).then((e=>e.text()))),t},this.getCurrentStyleText=async()=>{if(this._style)return this._style;const e=await this.getStyle();return this._style=e.replace('@charset "UTF-8";',"").trim(),this._style}}},d=e=>new Promise(((t,s)=>{const i=new Image;i.addEventListener("load",(()=>{t(i)})),i.addEventListener("error",s),i.src=e})),c=async()=>{const e=document.querySelector(".root.html");if(e){const t=e.scrollWidth,s=e.scrollHeight,i=await(async(e,t,s)=>{const i=e.cloneNode(!0);return i.querySelectorAll("img, script, svg").forEach((e=>{e.parentElement&&e.parentElement.removeChild(e)})),`<svg width="${t}" height="${s}" viewBox="0 0 ${t} ${s}" xmlns="http://www.w3.org/2000/svg"><foreignObject width="${t}" height="${s}" requiredExtensions="http://www.w3.org/1999/xhtml"><body xmlns="http://www.w3.org/1999/xhtml"><style>${await h.getCurrentStyleText()}</style>${i.outerHTML}</body></foreignObject></svg>`})(e,t,s),n=await d(`data:image/svg+xml;base64,${btoa(i)}`),r=await(async(e,t,s)=>{const i=document.createElement("canvas");i.width=t,i.height=s;const n=i.getContext("2d");n&&n.drawImage(e,0,0);const r=i.toDataURL("image/png",100);return await d(r)})(n,t,s);return r}return new Image},u=new i,_=new class{constructor(e){this._tree=[],this.ready=()=>{const{data:e}=this._model,{entries:t}=e;for(let s=0,i=t.length;s<i;s++){const i=t[s];if(e){const e=new n(i,0,this._model);this._tree.push(this.generateSeed(i,e))}}},this._model=e}generateSeed(e,t){const s=[],{children:i}=e,r=[],{count:l}=this._model.data;for(let e=0,t=i.length;e<t;e++){const t=i[e],s=new n(t,l[t.name],this._model);r.push(s),this.generateSeed(t,s)}return t.children=r,s.push(t),s}renderLine(e,t,s){let i=" ";for(let e=0;e<t;e++)i+="│ ";return i+=s?"└─ ":"├─ ",i+=e,`${i}\n`}renderEntry(e,t){let s="";for(let i=0,n=e.children.length;i<n;i++){const r=e.children[i];s+=this.renderLine(r.name,t,i===n-1),s+=this.renderEntry(r,t+1)}return s}render(){let e="";this.ready();for(let t=0,s=this._tree.length;t<s;t++){const[s]=this._tree[t];e+=s.render()}e=`<div class="root html">${e}</div>`;const{entries:t}=this._model.data;let s="";for(let e=0,i=t.length;e<i;e++){s+=`${t[e].name}\n`,s+=this.renderEntry(t[e],0),e<i-1&&(s+="\n")}return s=`<div class="root text"><pre class="tree">${s}</pre></div>`,e+s}}(u);let m;try{window.enableWebSocket&&(m=new WebSocket(`ws://${location.host}`))}catch(e){console.warn("Couldn't connect to analyzer websocket server so you'll have to reload page manually to see updates in the treemap")}document.addEventListener("DOMContentLoaded",(()=>{m?m.addEventListener("message",(e=>{const t=JSON.parse(e.data),s=document.querySelector("#app");if(!s)return;u.data=t;const n=_.render();s.innerHTML=n,function(e){const{body:t}=document,s=document.getElementById("btn-settings"),n=t.querySelectorAll(".js-settings-toggle"),o=document.getElementById("js-view-switch-graph"),a=document.getElementById("js-view-switch-text");new l(o,"GRAPH",e),new l(a,"TEXT",e);const h=function(){t.className=`${e.viewType}`,e.visibleSettings&&t.classList.add("show-settings"),e.visibleProps||t.classList.add("no-props"),e.visibleFileSize||t.classList.add("no-fileSize"),e.visibleLastUpdated||t.classList.add("no-lastUpdated"),e.visibleReferenceCount||t.classList.add("no-referenceCount")};n.forEach((t=>{new r(t,e)})),e.addEventListener(i.EVENT.SETTING_CHANGED,h),s&&s.addEventListener("click",(()=>{e.visibleSettings=!e.visibleSettings})),h()}(u),function(){const e=document.querySelector("#btn-capture");e&&e.addEventListener("click",(async()=>{try{a.load();const e=await c();await a.showExportDialog(e)}catch(e){console.error(e)}}))}(),(()=>{const e=document.getElementById("btn-toggle-visible-state");e&&new o(e)})()})):console.warn("Couldn't connect to analyzer websocket server so you'll have to reload page manually to see updates in the treemap")}));
class e{constructor(e){this.type=e,this.currentTarget=null}}e.COMPLETE="complete",e.CHANGE_PROPERTY="changeProperty";class t{constructor(e,t,s=0){this.type=e,this.handler=t,this.priority=s}equalCurrentListener(e,t){return this.type===e&&this.handler===t}}class s{constructor(){this.listeners={}}dispatchEvent(t){let s,i;if(t instanceof e?(i=t.type,s=t):(i=t,s=new e(i)),null!==this.listeners[i]&&void 0!==this.listeners[i]){const e=this.listeners[i].length;s.currentTarget=this;for(let t=0;t<e;t++){const e=this.listeners[i][t];try{e.handler(s)}catch(e){e instanceof Error&&console.error(e.stack)}}}else console.warn('implement "addEventListener" before dispatch')}addEventListener(e,s,i=0){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(new t(e,s,i)),this.listeners[e].sort(((e,t)=>t.priority-e.priority))}removeEventListener(e,t){if(this.hasEventListener(e,t))for(let s=0;s<this.listeners[e].length;s++){if(this.listeners[e][s].equalCurrentListener(e,t))return void this.listeners[e].splice(s,1)}}clearEventListener(){this.listeners={}}containEventListener(e){return!!this.listeners[e]&&this.listeners[e].length>0}hasEventListener(e,t){if(!this.listeners[e])return!1;for(let s=0;s<this.listeners[e].length;s++){if(this.listeners[e][s].equalCurrentListener(e,t))return!0}return!1}}class i extends s{constructor(){super(),this._data={entries:[],count:{}},this._viewType="GRAPH",this._env="browser",this._visibleSettings=!1,this._visibleProps=!0,this._visibleFileSize=!0,this._visibleLastUpdated=!0,this._visibleReferenceCount=!0,this.getHowManyDaysAgo=e=>{const t=e.getTime(),s=this._todayTime-t;return Math.floor(s/864e5)},this._today=new Date,this._todayTime=this._today.getTime()}get data(){return this._data}set data(e){this._data=e}get viewType(){return this._viewType}set viewType(e){this._viewType=e,this.dispatchEvent(i.EVENT.SETTING_CHANGED)}get visibleSettings(){return this._visibleSettings}set visibleSettings(e){this._visibleSettings=e,this.dispatchEvent(i.EVENT.SETTING_CHANGED)}get visibleProps(){return this._visibleProps}set visibleProps(e){this._visibleProps=e,this.dispatchEvent(i.EVENT.SETTING_CHANGED)}get visibleFileSize(){return this._visibleFileSize}set visibleFileSize(e){this._visibleFileSize=e,this.dispatchEvent(i.EVENT.SETTING_CHANGED)}get visibleLastUpdated(){return this._visibleLastUpdated}set visibleLastUpdated(e){this._visibleLastUpdated=e,this.dispatchEvent(i.EVENT.SETTING_CHANGED)}get visibleReferenceCount(){return this._visibleReferenceCount}set visibleReferenceCount(e){this._visibleReferenceCount=e,this.dispatchEvent(i.EVENT.SETTING_CHANGED)}get env(){return this._env}set env(e){this._env=e}}i.EVENT={SETTING_CHANGED:"settingChanged"};class n{constructor(e,t,s){this._model=s,this._children=[],this._name=e.name,this._props=e.props,this._fileSize=e.size,this._lastModifiedTime=e.lastModifiedTime,this._count=t}renderChildren(){let e="";for(let t=0,s=this._children.length;t<s;t++)e+=this._children[t].render();return`<div class="group">\n ${e}\n </div>`}renderProps(){return this._props?`<pre class="file__props">${this._props}</pre>`:""}renderMetaData(){let e="";const t=(this._fileSize/1024).toFixed(2);return t&&(e+=`<span class="file__meta meta__fileSize">FileSize: ${t} KB</span>`),e+=`<span class="file__meta meta__lastUpdated">LastUpdated: ${0===this._lastModifiedTime?0:this._model.getHowManyDaysAgo(new Date(this._lastModifiedTime))} days ago</span>`,e}renderSummary(){let e=this._name;return this._name.endsWith(".vue")?e=`<svg class="icon" viewBox="0 0 128 128" width="24" height="24"><use xlink:href="#logo"></use></svg>${e}`:this._name.endsWith(".js")?e=`<img class="icon" src="https://raw.githubusercontent.com/voodootikigod/logo.js/master/js.png" alt="">${e}`:this._name.endsWith(".ts")&&(e=`<img class="icon" src="../dist/icon/icon-ts.png" alt="">${e}`),`<summary>${e}</summary>`}renderDetails(){return`<details class="detail"${"node"===this._model.env?" open":""}>\n ${this.renderSummary()}\n ${this.renderProps()}\n ${this.renderMetaData()}\n </details>`}render(){const e=this.renderDetails();let t="",s="";return this._children.length>0?t=this.renderChildren():s=" -no-child",this.isJS()&&(s+=" js"),this.isTS()&&(s+=" ts"),`<div class="seed${s}">\n <div class="file">\n <div class="filename">\n <div class="file__text">${e}</div>\n ${this.getCountText()}\n </div>\n </div>\n ${t}\n </div>`}getCountText(){return 0===this._count?"":1===this._count?'<span class="file__count">1 time referenced.</span>':`<span class="file__count">${this._count} times referenced.</span>`}get children(){return this._children}set children(e){this._children=e}isJS(){return this._name.endsWith(".js")}isTS(){return this._name.endsWith(".ts")}}class r{constructor(e,t){this._elm=e,this._model=t,this._type=e.dataset.settingName,e.addEventListener("change",this.onChange.bind(this))}onChange(){switch(this._type){case"props":this._model.visibleProps=this._elm.checked;break;case"fileSize":this._model.visibleFileSize=this._elm.checked;break;case"lastUpdated":this._model.visibleLastUpdated=this._elm.checked;break;case"referenceCount":this._model.visibleReferenceCount=this._elm.checked;break;default:throw new Error(`not supported type: ${this._type}`)}}}class l{constructor(e,t,s){this._elm=e,this._type=t,this._model=s,e.addEventListener("change",this.onChange.bind(this))}onChange(){this._model.viewType=this._type}}class o{constructor(e){this._isOpen=!1,this._details=null,this._textElement=document.getElementById("btn-toggle-visible-state-text"),this._details=document.querySelectorAll(".detail"),e.addEventListener("click",this.onClick.bind(this))}open(){this._details&&this._details.forEach((e=>{e.open=!0})),this._textElement&&(this._textElement.textContent="collapse all")}close(){this._details&&this._details.forEach((e=>{e.open=!1})),this._textElement&&(this._textElement.textContent="expand all")}onClick(){this._isOpen=!this._isOpen,this._isOpen?this.open():this.close()}}const a=new class{constructor(){this._contents=document.getElementById("dialog-contents"),this._btnClose=document.getElementById("btn-dialog-close"),this._btnExport=document.getElementById("btn-export"),this._btnClose&&this._btnClose.addEventListener("click",this.close.bind(this))}show(){document.body.classList.add("-dialog-show"),(e=>{let t=Array.from(document.querySelectorAll("a, button, summary"));t=t.filter((t=>null===t.closest(e))),t.forEach((e=>{e.classList.add("-focus-disabled"),e.setAttribute("tabindex","-1")}))})("#dialog")}close(){document.body.classList.remove("-dialog-show"),document.querySelectorAll(".-focus-disabled").forEach((e=>{e.classList.remove("-focus-disabled"),e.removeAttribute("tabindex")}))}load(){this.show(),this._contents&&(this._contents.innerHTML="<p>now loading...</p>")}complete(e){this._contents&&(this._contents.innerHTML=e)}showExportDialog(e){this._btnExport.href=e.src,this.complete(e.outerHTML)}};const h=new class{constructor(){this._style="",this.getStyle=async()=>{const e=document.querySelector("#style");let t="";return e&&(t=await fetch(e.href).then((e=>e.text()))),t},this.getCurrentStyleText=async()=>{if(this._style)return this._style;const e=await this.getStyle();return this._style=e.replace('@charset "UTF-8";',"").trim(),this._style}}},d=e=>new Promise(((t,s)=>{const i=new Image;i.addEventListener("load",(()=>{t(i)})),i.addEventListener("error",s),i.src=e})),c=async()=>{const e=document.querySelector(".root.html");if(e){const t=e.scrollWidth,s=e.scrollHeight,i=await(async(e,t,s)=>{const i=e.cloneNode(!0);return i.querySelectorAll("img, script, svg").forEach((e=>{e.parentElement&&e.parentElement.removeChild(e)})),`<svg width="${t}" height="${s}" viewBox="0 0 ${t} ${s}" xmlns="http://www.w3.org/2000/svg"><foreignObject width="${t}" height="${s}" requiredExtensions="http://www.w3.org/1999/xhtml"><body xmlns="http://www.w3.org/1999/xhtml"><style>${await h.getCurrentStyleText()}</style>${i.outerHTML}</body></foreignObject></svg>`})(e,t,s),n=await d(`data:image/svg+xml;base64,${btoa(i)}`),r=await(async(e,t,s)=>{const i=document.createElement("canvas");i.width=t,i.height=s;const n=i.getContext("2d");n&&n.drawImage(e,0,0);const r=i.toDataURL("image/png",100);return await d(r)})(n,t,s);return r}return new Image},u=new i,_=new class{constructor(e){this._tree=[],this.ready=()=>{const{data:e}=this._model,{entries:t}=e;for(let s=0,i=t.length;s<i;s++){const i=t[s];if(e){const e=new n(i,0,this._model);this._tree.push(this.generateSeed(i,e))}}},this._model=e}generateSeed(e,t){const s=[],{children:i}=e,r=[],{count:l}=this._model.data;for(let e=0,t=i.length;e<t;e++){const t=i[e],s=new n(t,l[t.name],this._model);r.push(s),this.generateSeed(t,s)}return t.children=r,s.push(t),s}renderLine(e,t,s){let i=" ";for(let e=0;e<t;e++)i+="│ ";return i+=s?"└─ ":"├─ ",i+=e,`${i}\n`}renderEntry(e,t){let s="";for(let i=0,n=e.children.length;i<n;i++){const r=e.children[i];s+=this.renderLine(r.name,t,i===n-1),s+=this.renderEntry(r,t+1)}return s}render(){let e="";this.ready();for(let t=0,s=this._tree.length;t<s;t++){const[s]=this._tree[t];e+=s.render()}e=`<div class="root html">${e}</div>`;const{entries:t}=this._model.data;let s="";for(let e=0,i=t.length;e<i;e++){s+=`${t[e].name}\n`,s+=this.renderEntry(t[e],0),e<i-1&&(s+="\n")}return s=`<div class="root text"><pre class="tree">${s}</pre></div>`,e+s}}(u);let m;try{window.enableWebSocket&&(m=new WebSocket(`ws://${location.host}`))}catch(e){console.warn("Couldn't connect to analyzer websocket server so you'll have to reload page manually to see updates in the treemap")}document.addEventListener("DOMContentLoaded",(()=>{m?m.addEventListener("message",(e=>{const t=JSON.parse(e.data),s=document.querySelector("#app");if(!s)return;u.data=t;const n=_.render();s.innerHTML=n,function(e){const{body:t}=document,s=document.getElementById("btn-settings"),n=t.querySelectorAll(".js-settings-toggle"),o=document.getElementById("js-view-switch-graph"),a=document.getElementById("js-view-switch-text");new l(o,"GRAPH",e),new l(a,"TEXT",e);const h=function(){t.className=`${e.viewType}`,e.visibleSettings&&t.classList.add("show-settings"),e.visibleProps||t.classList.add("no-props"),e.visibleFileSize||t.classList.add("no-fileSize"),e.visibleLastUpdated||t.classList.add("no-lastUpdated"),e.visibleReferenceCount||t.classList.add("no-referenceCount")};n.forEach((t=>{new r(t,e)})),e.addEventListener(i.EVENT.SETTING_CHANGED,h),s&&s.addEventListener("click",(()=>{e.visibleSettings=!e.visibleSettings})),h()}(u),function(){const e=document.querySelector("#btn-capture");e&&e.addEventListener("click",(async()=>{try{a.load();const e=await c();await a.showExportDialog(e)}catch(e){console.error(e)}}))}(),(()=>{const e=document.getElementById("btn-toggle-visible-state");e&&new o(e)})()})):console.warn("Couldn't connect to analyzer websocket server so you'll have to reload page manually to see updates in the treemap")}));
{
"name": "@tkskto/vue-component-analyzer",
"version": "0.8.0",
"version": "0.9.0",
"description": "Analyze dependency tree for Vue.js SFC (Single File Component)",

@@ -12,2 +12,3 @@ "type": "module",

"scripts": {
"prepare": "husky",
"dev": "run-p dev:*",

@@ -52,38 +53,40 @@ "dev:typeScript": "tsc -p src/server/tsconfig.json -w",

"dependencies": {
"@typescript-eslint/parser": "5.59.0",
"commander": "10.0.1",
"ejs": "3.1.9",
"express": "4.18.2",
"globby": "13.1.4",
"mkdirp": "3.0.0",
"@typescript-eslint/parser": "7.11.0",
"commander": "12.1.0",
"ejs": "3.1.10",
"express": "4.19.2",
"get-tsconfig": "4.7.5",
"globby": "14.0.1",
"js-beautify": "1.15.1",
"mkdirp": "3.0.1",
"opener": "1.5.2",
"vue-eslint-parser": "9.1.1",
"ws": "8.13.0"
"vue-eslint-parser": "9.4.2",
"ws": "8.17.0"
},
"devDependencies": {
"@mitsue/eslint-config": "4.1.0",
"@rollup/plugin-commonjs": "24.0.1",
"@rollup/plugin-json": "6.0.0",
"@rollup/plugin-node-resolve": "15.0.2",
"@rollup/plugin-terser": "0.4.1",
"@rollup/plugin-typescript": "11.1.0",
"@types/ejs": "3.1.2",
"@types/express": "4.17.17",
"@types/jest": "29.5.1",
"@types/mkdirp": "1.0.2",
"@types/node": "18.15.11",
"@types/opener": "1.4.0",
"@types/ws": "8.5.4",
"@typescript-eslint/eslint-plugin": "5.59.0",
"eslint": "8.38.0",
"husky": "8.0.3",
"jest": "29.5.0",
"lint-staged": "13.2.1",
"npm-run-all": "^4.1.5",
"@rollup/plugin-commonjs": "25.0.8",
"@rollup/plugin-json": "6.1.0",
"@rollup/plugin-node-resolve": "15.2.3",
"@rollup/plugin-terser": "0.4.4",
"@rollup/plugin-typescript": "11.1.6",
"@types/ejs": "3.1.5",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/js-beautify": "1.14.3",
"@types/mkdirp": "2.0.0",
"@types/node": "20.12.12",
"@types/opener": "1.4.3",
"@types/ws": "8.5.10",
"@typescript-eslint/eslint-plugin": "7.11.0",
"eslint": "8.57.0",
"husky": "9.0.11",
"jest": "29.7.0",
"lint-staged": "15.2.5",
"npm-run-all2": "6.2.0",
"nyc": "15.1.0",
"rollup": "3.20.6",
"rollup-plugin-license": "3.0.1",
"ts-jest": "29.1.0",
"ts-node": "10.9.1",
"typescript": "5.0.4"
"rollup": "4.18.0",
"ts-jest": "29.1.4",
"ts-node": "10.9.2",
"typescript": "5.4.5"
},

@@ -90,0 +93,0 @@ "lint-staged": {

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc