From 7cafc8358ccc5f87f2ae8534e204405b78a6d730 Mon Sep 17 00:00:00 2001 From: wenbo <616421019@qq.com> Date: Sun, 28 Mar 2021 18:59:48 +0800 Subject: [PATCH 1/2] mark mind pro --- package.json | 9 +- src/main/onedrive.js | 2 +- src/renderer/App.vue | 506 +++++++++++++++---- src/renderer/components/editor.vue | 45 +- src/renderer/components/profile.vue | 30 +- src/renderer/components/signup.vue | 174 +++++++ src/renderer/components/treeList.vue | 116 ++++- src/renderer/locales/en.json | 19 +- src/renderer/locales/zh.json | 27 +- src/renderer/main.js | 3 + src/renderer/mind/assist/callout.js | 10 +- src/renderer/mind/export/exportKityMind.js | 2 +- src/renderer/mind/export/exportOPML.js | 4 +- src/renderer/mind/import/importMindmaster.js | 231 +++++++++ src/renderer/mind/import/importXmind.js | 11 +- src/renderer/mind/layout/MindLayout2.js | 253 ++++++++-- src/renderer/mind/list/list.js | 39 +- src/renderer/mind/mind.js | 98 ++-- src/renderer/mind/node.js | 8 +- src/renderer/router/index.js | 5 + 20 files changed, 1348 insertions(+), 244 deletions(-) create mode 100644 src/renderer/components/signup.vue create mode 100644 src/renderer/mind/import/importMindmaster.js diff --git a/package.json b/package.json index d3b35f0..6a16555 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mind", - "version": "1.1.9", + "version": "1.2.0", "author": "", "description": "an mind map and outliner software", "license": null, @@ -116,15 +116,16 @@ "quill": "^1.3.7", "request": "^2.88.2", "svg.js": "^2.7.1", + "turndown": "^7.0.0", + "turndown-plugin-gfm": "^1.0.2", "twemoji": "^12.1.5", "vue": "^2.5.16", "vue-electron": "^1.0.6", "vue-i18n": "^8.17.3", "vue-router": "^3.0.1", + "vuejs-dialog": "^1.4.2", "vuex": "^3.0.1", - "vuex-electron": "^1.0.0", - "turndown": "^7.0.0", - "turndown-plugin-gfm": "^1.0.2" + "vuex-electron": "^1.0.0" }, "devDependencies": { "ajv": "^6.5.0", diff --git a/src/main/onedrive.js b/src/main/onedrive.js index 3dc1cff..6f37306 100644 --- a/src/main/onedrive.js +++ b/src/main/onedrive.js @@ -343,7 +343,7 @@ function getFile(e,id,url){ process.on('uncaughtException', function(err) { - + console.log(err); }); diff --git a/src/renderer/App.vue b/src/renderer/App.vue index 54a3ac6..f256615 100644 --- a/src/renderer/App.vue +++ b/src/renderer/App.vue @@ -50,10 +50,9 @@ @click="about.show = false" > -

MarkMind

-

{{ about.version }}

-

Twitter: @MarkMind

-

github: @MarkMindLtd

+

MarkMind Pro

+

v{{ about.version }}

+ @@ -105,6 +104,7 @@ import importKityMind from "./mind/import/importKityMind"; import importXmind from "./mind/import/importXmind"; import importMarkdown from "./mind/import/importMarkdown"; import importTxt from "./mind/import/importTxt"; +import importMindMaster from "./mind/import/importMindmaster"; import i18n from "./locales/index"; import Onedrive from "./components/onedrive"; import tomato from "./components/tomato"; @@ -117,7 +117,10 @@ var turndownPluginGfm = require('turndown-plugin-gfm'); let Store = require("electron-store"); var store = new Store(); var profile = store.get("config"); -var activeCode = store.get("activeCode"); +var userData = store.get("user"); +var testTime=store.get("testTime"); + +var allowUse=true; let canvasWidth = profile.canvasWidth; let canvasHeight = profile.canvasHeight; @@ -169,6 +172,72 @@ function transferDataToList(data) { return arr; } +function listToTree(list) { + var obj = {}; + var root = null; + list.forEach(d => { + if (!obj[d.id]) { + obj[d.id] = d; + d.children = []; + } + if (d.pid) { + if (obj[d.pid]) { + obj[d.pid].children.push(d); + d.children = []; + } + } else { + root = d; + } + + }); + return root; +}; + +function aesEncrypt(data, key) { + const cipher = crypto.createCipher('aes-192-ctr', key); + var crypted = cipher.update(data, 'utf8', 'hex'); + crypted += cipher.final('hex'); + return crypted; +} + +function aesDecrypt(encrypted, key) { + try{ + const decipher = crypto.createDecipher('aes-192-ctr', key); + var decrypted = decipher.update(encrypted, 'hex', 'utf8'); + decrypted += decipher.final('utf8'); + return decrypted; + }catch(err){ + console.log(err); + return false; + } +} + +function InputSecret(vueItem,text,cb){ + + vueItem.$dialog.prompt({ + title: "", + body: i18n.t('profile.secretTip'), + message:"" + },{ + okText: i18n.t('profile.secretConfirm'), + cancelText: i18n.t('profile.secretCancel'), + promptHelp:'' + }).then(dialog=>{ + if(dialog.data){ + var d= aesDecrypt(text,dialog.data); + if(d){ + cb(d); + }else{ + InputSecret(vueItem,text,cb); + } + }else{ + InputSecret(vueItem,text,cb); + } + }).catch(err=>{ + vueItem.$router.push('/list'); + }) +} + export default { name: "app", components: { @@ -191,7 +260,7 @@ export default { msg: "", about: { show: false, - version: "1.1.9", + version: "1.2.0", }, logo: logo, showactive: false, @@ -211,9 +280,12 @@ export default { var openFilePath = this.$store.state.MindData.openFile; if (openFilePath.trim()) { this.$router.push("/refresh"); - this.$store.dispatch("setMindData", {}); this.openFile(openFilePath); } + if(!testTime){ + let t=new Date().getTime()+''; + store.set('testTime',aesEncrypt(t,'1q2w3e4r!@#')); + } }, mounted() { @@ -224,11 +296,11 @@ export default { var me = this; this.checkVersion(); + + var openFilePath = this.$store.state.MindData.openFile; - this.$store.dispatch("vip", { - vip: true, - }); + ipcRenderer.on("cmd", (e, arg) => { this.menu(arg["type"]); @@ -238,6 +310,10 @@ export default { this.$router.push("/list"); } + if(userData&&userData.activeCode){ + this.activeSoft(userData.activeCode); + } + document.addEventListener("paste", (e) => { e.preventDefault(); var text; @@ -398,6 +474,26 @@ export default { toggleMenu() { this.showMenu = !this.showMenu; }, + exportData(data){ + var root = null + var mindData = data; + mindData.mindData.forEach((data, i) => { + if (i == 0) { + root = listToTree(data); + } else { + root.children.push(listToTree(data)); + } + }); + + if (mindData.induceData && mindData.induceData.length) { + mindData.induceData.forEach(d => { + + root.children.push(listToTree(d.mindData)); + }); + } + + return root; + }, dataToList(data) { var list = []; function pushList(data) { @@ -448,6 +544,7 @@ export default { }, save(isCreate, path, arg) { var me = this; + // console.log(this.$store.state.MindData.folderPath); var path = path || this.$store.state.MindData.folderPath; if (path) { try { @@ -481,7 +578,18 @@ export default { if (!data) { return; } - zip.file(file, JSON.stringify(data)); + data.canvasSize=profile.canvasWidth; + // console.log(data); + if(profile.secret){ + var obj={ + secret:true, + data:aesEncrypt(JSON.stringify(data),profile.secret) + } + zip.file(file,JSON.stringify(obj)); + }else{ + zip.file(file,JSON.stringify(data)); + } + zip.generateAsync({ type: "nodebuffer" }).then(function (content) { if (me.$route.name == "editor") { var mind = document.getElementById("mind").mind; @@ -552,8 +660,17 @@ export default { if (!data) { return; } - - zip.file(file, JSON.stringify(data)); + data.canvasSize=profile.canvasSize; + if(profile.secret){ + console.log(data); + var obj={ + secret:true, + data:aesEncrypt(JSON.stringify(data),profile.secret) + } + zip.file(file,JSON.stringify(obj)); + }else{ + zip.file(file,JSON.stringify(data)); + } zip.generateAsync({ type: "nodebuffer" }).then(function (content) { dialog .showSaveDialog({ @@ -587,6 +704,7 @@ export default { }); }); }, + listGetData(list, zip, flag) { var data = JSON.parse(JSON.stringify(list.getData(zip, flag))); var children = data.children; @@ -623,7 +741,10 @@ export default { }); } - var m = JSON.parse(JSON.stringify(this.$store.state.MindData)); + // var m = JSON.parse(JSON.stringify(this.$store.state.MindData)); + var m = { + mindData:window.markmindData + } var oldInduceData = m.mindData.induceData; var newInduceData = []; @@ -702,40 +823,75 @@ export default { res.forEach((data, i) => { images.image[keys[i]] = types[i] + data; }); - me.$store.dispatch("setImage", images).then(() => { + // me.$store.dispatch("setImage", images).then(() => { for (var k in files) { if (k.endsWith(".json")) { files[k].async("text").then((res) => { + var mindData = JSON.parse(res); + if(mindData.secret){ + InputSecret(me,mindData.data,function(data){ + if(data){ + me.$store.dispatch("setFilePath", { path: path }); + + window.markmindData = JSON.parse(data); + markmindData.images = images; + if (flag) return; + var p = "/"; + setTimeout(() => { + me.$router.push("/list"); + }, 0); + } + }); + }else{ + + me.$store.dispatch("setFilePath", { path: path }); + window.markmindData = mindData; + markmindData.images = images; + + if (flag) return; + var p = "/"; + setTimeout(() => { + me.$router.push("/list"); + }, 0); + } - me.$store.dispatch("setFilePath", { path: p }); - me.$store.dispatch("setMindData", mindData).then(() => { - if (flag) return; - var p = "/"; - setTimeout(() => { - me.$router.push("/list"); - }, 0); - }); + + }); } } - }); + // }); }); } else { for (var k in files) { if (k.endsWith(".json")) { files[k].async("text").then((res) => { var mindData = JSON.parse(res); - - me.$store.dispatch("setFilePath", { path: p }); - me.$store.dispatch("setMindData", mindData).then(() => { - if (flag) return; - var p = "/"; - - setTimeout(() => { - me.$router.push("/list"); - }, 0); - }); + if(mindData.secret){ + InputSecret(me,mindData.data,function(data){ + if(data){ + me.$store.dispatch("setFilePath", { path: path }); + window.markmindData = JSON.parse(data); + markmindData.images = {}; + if (flag) return; + var p = "/"; + setTimeout(() => { + me.$router.push("/list"); + }, 0); + } + }); + }else{ + me.$store.dispatch("setFilePath", { path: path }); + window.markmindData = mindData; + markmindData.images = {}; + + if (flag) return; + var p = "/"; + setTimeout(() => { + me.$router.push("/list"); + }, 0); + } }); } } @@ -752,15 +908,60 @@ export default { shell.openExternal(url); }, - activeSoft() { + activeSoft(code) { var me = this; - var code = this.$refs.activeCode.value; if (!code) return; if (!navigator.onLine) { this.message(i18n.t("node.offline")); return; } + + var now =new Date().getTime(); + + if(testTime){ + var _t=aesDecrypt(testTime,'1q2w3e4r!@#'); + if(_t){ + if(now>(parseInt(_t) + 86400000*30)){ + allowUse=false; + } + } + } + + var salt="whoisyourdaddy!@qwerasdf"; + var result=aesDecrypt(code,salt); + + if(result){ + var r = JSON.parse(result); + var endDate = new Date(r.endDate).getTime(); + if(now>endDate){ + if(!allowUse){ + setTimeout(()=>{ + me.$router.push('/signup'); + },0); + } + return { + flag:false, + msg:i18n.t('node.dateLimit') + } + }else{ + this.$store.dispatch("vip", { + vip: true, + }); + allowUse=true; + return { + flag:true, + endDate:r.endDate + } + } + }else{ + if(!allowUse){ + setTimeout(()=>{ + me.$router.push('/signup'); + },0); + } + return false; + } }, getData() { if (this.$route.name == "editor") { @@ -770,9 +971,9 @@ export default { var list = document.getElementById("list").list; var data = this.listGetData(list, null, false); } - var m = JSON.parse(JSON.stringify(this.$store.state.MindData)); - data.scrollTop = m.mindData.scrollTop; - data.scrollLeft = m.mindData.scrollLeft; + // var m = JSON.parse(JSON.stringify(this.$store.state.MindData)); + data.scrollTop = window.markmindData.scrollTop; + data.scrollLeft = window.markmindData.scrollLeft; return data; }, openlink(link){ @@ -783,12 +984,19 @@ export default { this.showMenu = false; switch (id) { case "New File": + if(!allowUse){ + alert(i18n.t('node.allowUse')) + return + } if (this.$route.name == "editor") { var mind = document.getElementById("mind").mind; var needSave = mind.dirty(); - } else { + } else if(this.$route.name == "list"){ var list = document.getElementById("list").list; var needSave = list.dirty(); + }else{ + this.$router.push('/list'); + return; } if (needSave) { @@ -798,12 +1006,23 @@ export default { } me.$store.dispatch("setFilePath", { path: "" }); me.$router.push("/refresh"); - this.$store.dispatch("setMindData", {}).then(() => { - me.$router.push("/list"); - }); + window.markmindData={ + image:{} + }; + setTimeout(()=>{ + me.$router.push("/list"); + },20); + + // this.$store.dispatch("setMindData", {}).then(() => { + + // }); break; case "Open File": + if(!allowUse){ + alert(i18n.t('node.allowUse')) + return + } dialog .showOpenDialog({ properties: ["openFile"], @@ -825,12 +1044,19 @@ export default { break; case "Setting": + if(!allowUse){ + alert(i18n.t('node.allowUse')) + return + } if (this.$route.name == "editor") { var mind = document.getElementById("mind").mind; var needSave = mind.dirty(); - } else { + } else if(this.$route.name == "list"){ var list = document.getElementById("list").list; var needSave = list.dirty(); + }else{ + this.$router.push("/profile"); + return; } if (needSave) { @@ -844,11 +1070,13 @@ export default { this.$router.push("/profile"); break; case "Export-FreeMind": - var data = this.getData(); - this.$store.dispatch("setMindData", data).then(() => { - var listData = JSON.parse( - JSON.stringify(this.$store.getters.getData) - ); + var data = this.getData(); + // window.markmindData = data; + //markmindData.images = {}; + var exportData={}; + $.extend(true,exportData,data); + // this.$store.dispatch("setMindData", data).then(() => { + var listData = this.exportData(exportData); var d = exportFreeMind(listData); // this.$store.dispatch("setMindData", m.mindData); dialog @@ -862,14 +1090,14 @@ export default { fs.writeFileSync(filePath, d); } }); - }); + // }); break; case "Export-OPML": var data = this.getData(); - this.$store.dispatch("setMindData", data).then(() => { - var listData = JSON.parse( - JSON.stringify(this.$store.getters.getData) - ); + var exportData={}; + $.extend(true,exportData,data); + var listData = this.exportData(exportData); + // this.$store.dispatch("setMindData", data).then(() => { var d = exportOPML(listData, listData.text || "markmind"); // this.$store.dispatch("setMindData", m.mindData); dialog @@ -883,17 +1111,16 @@ export default { fs.writeFileSync(filePath, d); } }); - }); + // }); break; case "Export-MarkDown": var data = this.getData(); - this.$store.dispatch("setMindData", data).then(() => { - var listData = JSON.parse( - JSON.stringify(this.$store.getters.getData) - ); - var md = exportMd(listData); - // console.log(m.marks); + var exportData={}; + $.extend(true,exportData,data); + var listData = this.exportData(exportData); + //this.$store.dispatch("setMindData", data).then(() => { + var md = exportMd(listData); // this.$store.dispatch("setMindData", m.mindData); dialog .showSaveDialog({ @@ -907,14 +1134,17 @@ export default { } }) .catch((e) => {}); - }); + // }); break; case "Export-KityMind": var data = this.getData(); - this.$store.dispatch("setMindData", data).then(() => { - var listData = JSON.parse( - JSON.stringify(this.$store.getters.getData) - ); + var exportData={}; + $.extend(true,exportData,data); + var listData = this.exportData(exportData); + // this.$store.dispatch("setMindData", data).then(() => { + // var listData = JSON.parse( + // JSON.stringify(this.$store.getters.getData) + // ); var d = JSON.stringify(exportKityMind(listData)); // this.$store.dispatch("setMindData", m.mindData); dialog @@ -928,7 +1158,7 @@ export default { fs.writeFileSync(filePath, d); } }); - }); + // }); break; case "Import-OPML": dialog @@ -960,11 +1190,13 @@ export default { marks: [], }; me.$store.dispatch("setFilePath", { path: "" }); - me.$store.dispatch("setMindData", mindData).then(() => { + window.markmindData = mindData; + markmindData.images = {}; + // me.$store.dispatch("setMindData", mindData).then(() => { setTimeout(() => { me.$router.push("/list"); }, 0); - }); + //}); }) .catch((e) => {}); }); @@ -997,9 +1229,11 @@ export default { scrollTop: 3800, marks: mdata.marks, }; - me.$store.dispatch("setMindData", mindData).then(() => { + window.markmindData = mindData; + markmindData.images = {}; + // me.$store.dispatch("setMindData", mindData).then(() => { me.$router.push("/list"); - }); + // }); }); } }); @@ -1050,25 +1284,28 @@ export default { res.forEach((data, i) => { images.image[keys[i]] = types[i] + data; }); - me.$store.dispatch("setImage", images).then(() => { + // me.$store.dispatch("setImage", images).then(() => { for (var k in files) { if (k == "content.json") { files[k].async("text").then((res) => { var mindData = JSON.parse(res); me.$store.dispatch("setFilePath", { path: "" }); - me.$store - .dispatch( - "setMindData", - importXmind(mindData[0]) - ) - .then(() => { - var p = "/"; - me.$router.push("/list"); - }); + var data = importXmind(mindData[0]); + window.markmindData = data; + markmindData.images = images; + // me.$store + // .dispatch( + // "setMindData", + // importXmind(mindData[0]) + // ) + //.then(() => { + var p = "/"; + me.$router.push("/list"); + // }); }); } } - }); + // }); }); } else { for (var k in files) { @@ -1076,11 +1313,14 @@ export default { files[k].async("text").then((res) => { var mindData = JSON.parse(res); me.$store.dispatch("setFilePath", { path: "" }); - me.$store - .dispatch("setMindData", importXmind(mindData[0])) - .then(() => { + var data = importXmind(mindData[0]); + window.markmindData = data; + markmindData.images = {}; + // me.$store + // .dispatch("setMindData", importXmind(mindData[0])) + // .then(() => { me.$router.push("/list"); - }); + // }); }); } } @@ -1091,6 +1331,45 @@ export default { }); break; + case 'Import-MindMaster': + dialog + .showOpenDialog({ + properties: ["openFile"], + filters: [{ name: "MindMaster", extensions: ["emmx"] }], + }) + .then(({ filePaths }) => { + if (filePaths.length) { + var p = filePaths[0]; + me.$router.push("/refresh"); + fs.readFile(p, function (err, data) { + if (err) throw err; + var zip = JSZip.loadAsync(data); + zip.then(function (e) { + e.files['page/page.xml'].async('text').then(res=>{ + var xml=$.parseXML(res); + var data=importMindMaster(xml); + window.markmindData = data; + markmindData.images = {}; + me.$router.push("/list"); + }).catch(err=>{ + + }); + + // e.files['rels/page_rels.xml'].async('text').then(res=>{ + // var xml=$.parseXML(res); + // console.log(xml); + // }).catch(err=>{ + + // }); + + + }); + }); + } + }); + + break; + case "Import-MarkDown": dialog .showOpenDialog({ @@ -1105,9 +1384,12 @@ export default { if (err) throw err; var data = importMarkdown(data.toString("utf-8")); me.$store.dispatch("setFilePath", { path: "" }); - me.$store.dispatch("setMindData", data).then(() => { + + window.markmindData = data; + markmindData.images = {}; + // me.$store.dispatch("setMindData", data).then(() => { me.$router.push("/list"); - }); + // }); }); } }); @@ -1127,9 +1409,11 @@ export default { if (err) throw err; var data = importTxt(data.toString("utf-8")); me.$store.dispatch("setFilePath", { path: "" }); - me.$store.dispatch("setMindData", data).then(() => { + window.markmindData = data; + markmindData.images = {}; + //me.$store.dispatch("setMindData", data).then(() => { me.$router.push("/list"); - }); + //}); }); } }); @@ -1209,6 +1493,9 @@ export default { case "Activate": this.showactive = true; break; + case "Login": + this.$router.push('/signup'); + break; case "Save To Onedrive": ipcRenderer.send("refreshToken"); this.$store.dispatch("setShowOneDrive", true); @@ -1983,30 +2270,48 @@ html.print { .bg-red { background-color: red; + border-radius:3px; + padding: 0 3px; } .bg-orange { background-color: orange; + border-radius:3px; + padding: 0 3px; } .bg-green { background-color: green; + border-radius:3px; + padding: 0 3px; } .bg-yellow { background-color: yellow; + border-radius:3px; + padding: 0 3px; } .bg-blue { background-color: blue; + border-radius:3px; + padding: 0 3px; } .bg-gray { background-color: gray; + border-radius:3px; + padding: 0 3px; } .bg-greenyellow { background-color: greenyellow; + border-radius:3px; + padding: 0 3px; } .bg-white { background-color: white; + border-radius:3px; + padding: 0 3px; } .bg-black { background-color: #333; + border-radius:3px; + padding: 0 3px; } .mind-editor .markdown-body blockquote, @@ -2573,14 +2878,6 @@ html.print { background: #fff; } -button { - width: 100%; - height: 24px; - border: 1px solid #d6d6d6; - background: #fff; - margin: 2px 0; -} - .cicada-list .markdown-body blockquote { line-height: 24px; border-left: 0.2em solid #dfe2e5; @@ -2766,10 +3063,23 @@ button { .emptytext { color: rgba(0, 0, 0, 0); background: #f3f3f3; + border-radius:3px; } .emptytext:hover { color: inherit; background: transparent; } + +.node-note{ + box-shadow:0 0 0 #ccc!important; +} +.node-note .win-content{ + background: #fbfae5; + box-shadow: 0px 0px 6px #e0e0e0; +} +mark{ + padding:0 3px; + border-radius:3px; +} diff --git a/src/renderer/components/editor.vue b/src/renderer/components/editor.vue index 2df481b..b617d1c 100644 --- a/src/renderer/components/editor.vue +++ b/src/renderer/components/editor.vue @@ -103,7 +103,7 @@ { - this.$router.push("/list"); - }); + this.storeData(); + this.$router.push("/list"); }, //context menu command(e) { @@ -1476,6 +1491,10 @@ export default { // canvas.width = width * scale; // canvas.height = height * scale; // canvas.getContext("2d").scale(scale, scale); + if(width>16000){ + alert('Image size is too large'); + return + } var box = that.mind.getMindBox(); if (profile.canvasWidth == 8000) { @@ -1806,7 +1825,7 @@ export default { }); }, removeWireFrame() { - console.log(this.selecWireFrame) + //console.log(this.selecWireFrame) this.mind.execute("removeWireFrame", { wf: this.selecWireFrame }); this.showWireFrame = false; }, @@ -2522,4 +2541,6 @@ a { .relate-ship h3 { line-height: 28px !important; } + + diff --git a/src/renderer/components/profile.vue b/src/renderer/components/profile.vue index 7b4e336..71d1e06 100644 --- a/src/renderer/components/profile.vue +++ b/src/renderer/components/profile.vue @@ -30,7 +30,7 @@
{{ $t("profile.lang") }}: - @@ -48,6 +48,14 @@
+
+ {{ $t("profile.secret") }}: +
+
{{ $t("profile.shortcut") }}:
+
{{ $t("profile.canvasSize") }}
@@ -145,6 +154,11 @@ export default { "12000x12000", "14000x14000", "16000x16000", + "18000x18000", + "20000x20000", + "24000x24000", + "28000x28000", + "30000x30000", ], theme: profile.theme, lang: profile.language, @@ -155,6 +169,7 @@ export default { plantuml: profile.plantumlServer || "", keyModel: profile.keyModel || "default", math: profile.math, + secret:profile.secret||'' }; }, mounted() { @@ -184,6 +199,7 @@ export default { plantumlServer: this.plantuml, keyModel: this.keyModel, math: this.math, + secret:this.secret }, }; store.set("config", config); @@ -195,6 +211,11 @@ export default { 2: 12000, 3: 14000, 4: 16000, + 5: 18000, + 6: 20000, + 7: 24000, + 8: 28000, + 9: 30000 }; this.size = i; this.width = obj[i]; @@ -209,6 +230,13 @@ export default { }; \ No newline at end of file diff --git a/src/renderer/components/treeList.vue b/src/renderer/components/treeList.vue index adf1909..ad26af9 100644 --- a/src/renderer/components/treeList.vue +++ b/src/renderer/components/treeList.vue @@ -428,8 +428,6 @@ import uuid from "../mind/uuid"; import $ from "jquery"; import theme from "../mind/theme"; -import { saveAs } from "file-saver"; - import List, { Node } from "../mind/list/list"; function debounce(func, wait) { @@ -444,7 +442,33 @@ function debounce(func, wait) { func.apply(context, args); }, wait); }; -} +}; + +function listToTree(list) { + var obj = {}; + var root = null; + list.forEach(d => { + if (!obj[d.id]) { + obj[d.id] = d; + d.children = []; + } + }); + + list.forEach(d => { + if(d.isRoot||d.nodeType=='induce'||d.nodeType=='freeNode'||d.rootType=='induce'){ + root = d; + } + + if (d.pid) { + if (obj[d.pid]) { + obj[d.pid].children.push(d); + d.children = []; + } + } + }); + return root; +}; + var store = new Store(); var profile = store.get("config"); @@ -662,7 +686,7 @@ export default { focusItem.shoudRender = true; }, 0); } - console.log("shiftTabCtrl"); + return; } @@ -762,7 +786,7 @@ export default { if (focusItem) { if (focusItem == me.list.showingNode) { var n = new Node({ - id: +new Date(), + id: uuid(), text: "", }); @@ -1176,6 +1200,8 @@ export default { document.onmousewheel = null; $(document).off("click"); $("body").off("click"); + $("#list").off("focus"); + $("#list").off("blur"); if (this.list) { this.list.off("showLink", this.showLinkEvent); this.list.off("showNode", this.showNodeEvent); @@ -1190,18 +1216,22 @@ export default { }, mounted() { - var mindData = JSON.parse(JSON.stringify(this.$store.state.MindData)); - var images = mindData.images; + var mindData = window.markmindData; var me = this; try { - var data = JSON.parse(JSON.stringify(this.$store.getters.getData)); + var data = this.getData(mindData); if (mindData) { if (mindData.theme) { theme.use(mindData.theme); } + var images = mindData.images||{}; } } catch (e) { + window.markmindData={ + image:{} + }; + // console.log(markmindData) theme.use("blue"); this.$store.dispatch("setFilePath", { path: "" }); this.$store.dispatch("setTag", "local"); @@ -1223,6 +1253,8 @@ export default { }; } + + this.el = document.getElementById("list"); this.list = new List(this.el); @@ -1305,6 +1337,10 @@ export default { this.list.init(data, images); + if(!this.list.root.isExpand){ + this.list.root.expand(); + } + $("body").off("click"); $("body").on("click", ".li-node .node-priority", function (e) { e.stopPropagation(); @@ -1395,9 +1431,50 @@ export default { window.onresize = () => { this.hidden(); }; + + $("#list").off('focus').on("focus", ".li-node .text", function (e) { + e.preventDefault(); + e.stopPropagation(); + var node =$(this).closest(".li-node").get(0).node; + + if (node.shoudRender) { + node._oldMdText = node.data.mdText; + node.textDom.innerHTML = node.data.mdText; + node.focus(); + } + }); + + $("#list").off('blur').on("blur", ".li-node .text", function (e) { + e.preventDefault(); + e.stopPropagation(); + var node =$(this).closest(".li-node").get(0).node; + node.cancelEdit(); + }); + + }, methods: { + getData(d){ + var root = null + var mindData={}; + var mindData = $.extend(true, mindData, d); + // console.log(d); + mindData.mindData.forEach((data, i) => { + if (i == 0) { + root = listToTree(data); + } else { + root.children.push(listToTree(data)); + } + }); + + if (mindData.induceData && mindData.induceData.length) { + mindData.induceData.forEach(da => { + root.children.push(listToTree(da.mindData)); + }); + } + return root; + }, showColorList() { this.showColor = true; }, @@ -1675,7 +1752,10 @@ export default { }); } - var m = JSON.parse(JSON.stringify(this.$store.state.MindData)); + // var m = JSON.parse(JSON.stringify(this.$store.state.MindData)); + var m = { + mindData:window.markmindData + } var oldInduceData = m.mindData.induceData; var newInduceData = []; @@ -1704,16 +1784,19 @@ export default { m.mindData.relateLinkData = []; } - return this.$store.dispatch("setMindData", m.mindData); + //return this.$store.dispatch("setMindData", m.mindData); + if(window.markmindData.images){ + m.mindData.images=window.markmindData.images + }; + window.markmindData = m.mindData; }, enterMind() { if (!this.list.stack.dirty()) { this.$router.push("/"); return; } - this.saveToStore(true).then(() => { - this.$router.push("/"); - }); + this.saveToStore(true); + this.$router.push("/"); }, refresh(e) { @@ -2047,10 +2130,11 @@ export default { .li-node .node-remark { background: #f5f5f5; outline: transparent solid 2px; - padding: 2px 4px; + padding: 2px 6px; color: inherit; font-size: 12px; - line-height: 24px; + line-height: 20px; + border-radius:3px } .theme-dark .li-node .node-remark { background: #2d2d2d; @@ -2419,6 +2503,8 @@ export default { user-select: none; box-shadow: 0 0 6px #ccc; max-width: 260px; + z-index:4000; + border-radius:4px; } .win-toolbar > span { diff --git a/src/renderer/locales/en.json b/src/renderer/locales/en.json index 2767717..29fda71 100644 --- a/src/renderer/locales/en.json +++ b/src/renderer/locales/en.json @@ -37,6 +37,7 @@ "sure":"Sure", "open":"Open", "active":"Activated", + "expired":"Expired", "end":"End Date", "activeTitle":"Please Enter Activation Code", "activeBtn":"Activate Now", @@ -76,8 +77,10 @@ "top":"top", "left":"left", "right":"right", - "bottom":"bottom" - + "bottom":"bottom", + "register":"Sign Up", + "dateLimit":"Active Code Expired", + "allowUse":"You Should To Purchase An Activation Code To Continue To Use" }, "topMenu":[ { @@ -228,6 +231,11 @@ "name":"About", "type":"menu" }, + { + "id":"Login", + "name":"Login", + "type":"menu" + }, { "id":10, "type":"split" @@ -479,7 +487,12 @@ "math":"Formula Parse Type", "katex":"Katex", "mathjax":"Mathjax Image", - "mathTip":"When Export Mindmap To PNG,Select This Item" + "mathTip":"When Export Mindmap To PNG,Select This Item", + "secret":"Use This Password When Save File", + "secretTip":"Enter Your Password:", + "secretBtns":["Confirm","Cancel"], + "secretConfirm":"Confirm", + "secretCancel":"Cancel" } } \ No newline at end of file diff --git a/src/renderer/locales/zh.json b/src/renderer/locales/zh.json index 7dca0d1..fd14aca 100644 --- a/src/renderer/locales/zh.json +++ b/src/renderer/locales/zh.json @@ -37,6 +37,7 @@ "sure":"确定", "open":"打开", "active":"已激活", + "expired":"已过期", "end":"结束日期", "activeTitle":"请输入激活码", "activeBtn":"立即激活", @@ -76,7 +77,10 @@ "top":"上", "left":"左", "right":"右", - "bottom":"下" + "bottom":"下", + "register":"没有账号,去注册", + "dateLimit":"激活码已过期,请重新购买", + "allowUse":"试用期结束,需要购买激活码才能继续使用" }, "topMenu":[ { @@ -134,7 +138,13 @@ "id":"Import-Xmind Zen", "name":"Xmind Zen", "type":"menu" - },{ + }, + { + "id":"Import-MindMaster", + "name":"MindMaster", + "type":"menu" + }, + { "id":"Import-KityMind", "name":"百度脑图", "type":"menu" @@ -227,6 +237,11 @@ "name":"关于", "type":"menu" }, + { + "id":"Login", + "name":"用户登录", + "type":"menu" + }, { "id":11, "type":"split" @@ -479,7 +494,13 @@ "math":"解析公式", "katex":"Katex", "mathjax":"Mathjax To Image", - "mathTip":"当导出思维导图为图片时,选择该项可以导出比较美观的公式" + "mathTip":"当导出思维导图为图片时,选择该项可以导出比较美观的公式", + "secret":"保存文件时的加密密码", + "secretTip":"文件已加密,请输入密码:", + "secretBtns":["确认","取消"], + "secretConfirm":"确认", + "secretCancel":"取消" + } } \ No newline at end of file diff --git a/src/renderer/main.js b/src/renderer/main.js index e53ca4e..43cc355 100644 --- a/src/renderer/main.js +++ b/src/renderer/main.js @@ -8,6 +8,9 @@ import store from './store' import i18n from './locales/index' import '../renderer/exportWord/exportword' +import 'vuejs-dialog/dist/vuejs-dialog.min.css'; +import VuejsDialog from 'vuejs-dialog'; +Vue.use(VuejsDialog); var path =require('path'); let ipcRenderer=require('electron').ipcRenderer; diff --git a/src/renderer/mind/assist/callout.js b/src/renderer/mind/assist/callout.js index 4d43141..6d59d2c 100644 --- a/src/renderer/mind/assist/callout.js +++ b/src/renderer/mind/assist/callout.js @@ -1,7 +1,15 @@ import Node from '../node' export default class Callout { - constructor(node,data={text:'callout',nodeType:'callout'},color='#f06'){ + constructor(node,data={ + text:'callout', + nodeType:'callout', + paddingLeft: 6, + paddingRight: 6, + paddingBottom: 2, + paddingTop: 2, + fontSize:12 + },color='#f06'){ this.node=node; this.data=data; this.color=color; diff --git a/src/renderer/mind/export/exportKityMind.js b/src/renderer/mind/export/exportKityMind.js index c2b2e05..bbea793 100644 --- a/src/renderer/mind/export/exportKityMind.js +++ b/src/renderer/mind/export/exportKityMind.js @@ -34,7 +34,7 @@ const createJson=(arr)=>{ var obj={ data:{ id:ele.id, - text:ele.text, + text:htmlToText(ele.text), priority:ele.priority, progress:ele.percent?(parseInt(ele.percent/10)-1):'', hyperlink:ele.link, diff --git a/src/renderer/mind/export/exportOPML.js b/src/renderer/mind/export/exportOPML.js index 971116c..fd23326 100644 --- a/src/renderer/mind/export/exportOPML.js +++ b/src/renderer/mind/export/exportOPML.js @@ -4,7 +4,7 @@ const exportOPML=(data,title)=>{ var nodeXml= createXml(data); console.log(nodeXml); var xml=` - + ${title} @@ -22,7 +22,7 @@ const createXml=(data)=>{ var text=htmlToText(data.text); var html='{ diff --git a/src/renderer/mind/import/importMindmaster.js b/src/renderer/mind/import/importMindmaster.js new file mode 100644 index 0000000..5b7176f --- /dev/null +++ b/src/renderer/mind/import/importMindmaster.js @@ -0,0 +1,231 @@ +import uuid from '../uuid' +import $ from 'jquery' +let Store=require('electron-store'); +var store=new Store(); +var profile=store.get('config'); + +let canvasWidth=profile.canvasWidth; +let canvasHeight=profile.canvasHeight; + +var mind=null; +var nodes = {}; +var root=null; +var summary=[]; +var summaryBoundary={}; + +var color=['#fda16c','#74bdf7','#71FF5E','orange','#D4D4AA','yellow']; + +const importMindmaster=function(data){ + nodes = {}; + root=null; + summary=[]; + summaryBoundary={}; + mind={ + "theme":'blue', + "mindData":[], + "induceData":[], + "wireFrameData":[], + "relateLink":[], + + "background":'', + "relateLinkData":[], + "calloutData":[], + 'marks':[] + }; + + var elements = data.children[0].children; + for (var i=0,len = elements.length;it.trim().length); + var text=t.join('
'); + nodeData.text=text; + } + if(item.tagName=='Note'){ + var textArr=$(item).text().trim().split('\n'); + var t=textArr.filter(t=>t.trim().length); + var text=t.join('
'); + nodeData.remark=text; + } + if(item.tagName=='HyperLinks'){ + nodeData.link=$(item).find('Address').attr('V'); + } + if($ele.attr('Type')=='SummaryTopic'){ + if(item.tagName=='LevelData'){ + nodeData.superids = $(item).find('Super').attr('V'); + if($(item).find('SubLevel')){ + nodeData.childrenIds = $(item).find('SubLevel').attr('V'); + } + } + }else{ + if(item.tagName=='LevelData'){ + nodeData.childrenIds = $(item).find('SubLevel').attr('V'); + } + } + + }); + + //主节点 + if($ele.attr('Type') == 'MainIdea'){ + nodeData.main=1; + nodeData.isRoot=1; + nodeData.x=canvasWidth/2; + nodeData.y=canvasHeight/2; + root=nodeData; + } + + //总结根节点 + if($ele.attr('Type') == 'SummaryTopic'){ + nodeData.eleType = 'SummaryTopic'; + nodeData.nodeType="induce"; + summary.push(nodeData); + } + + nodes[$ele.attr('ID')] = nodeData; + + } + + //callout + if($ele.attr('Type')&&$ele.attr('Type')=='Callout'){ + var callout={ + nodeId:'', + color:'#f06', + rootData:{ + text:'', + id:$ele.attr('ID'), + paddingLeft: 6, + paddingRight: 6, + paddingBottom: 2, + paddingTop: 2, + fontSize:12 + } + }; + + $ele.children().each(function(i,item){ + if(item.tagName == 'Text'){ + var textArr=$(item).text().trim().split('\n'); + var t=textArr.filter(t=>t.trim().length); + var text=t.join('
'); + + callout.rootData.text=text; + } + if(item.tagName=='Data'){ + callout.nodeId=$(item).attr('V'); + } + }); + + mind.calloutData.push(callout); + } + + //summary + if($ele.attr('Type')&&$ele.attr('Type')=='Summary'){ + var sd={ + id:$ele.attr('ID'), + nodes:'' + }; + $ele.children().each(function(i,item){ + if(item.tagName=='BoundaryData'){ + sd.nodes=$(item).find('Shapes').attr('V'); + }; + }); + summaryBoundary[$ele.attr('ID')]=sd; + } + + } + + + combineData(nodes); + + var mainlist=[]; + transferData(root,null,mainlist,true); + mind.mindData.push(mainlist); + + //summary + if(summary&&summary.length){ + summary.forEach(item=>{ + var induceData={ + induceData:{ + range:'', + id:item.id + } + }; + if(item.superids){ + if(summaryBoundary[item.superids]){ + var v = summaryBoundary[item.superids].nodes.split(';'); + induceData.induceData.nodeId=v[0]; + induceData.induceData.endNodeId=v[0]; + var mData=[]; + var da = nodes[item.id]; + if(da){ + transferData(da,null,mData); + } + induceData.mindData=mData; + mind.induceData.push(induceData); + } + } + }); + } + return mind; +}; + + +function combineData(nodes){ + for(var i in nodes){ + if(nodes[i].childrenIds){ + var cids=nodes[i].childrenIds.split(';'); + if(cids.length){ + cids.forEach(cid=>{ + if(nodes[cid]){ + nodes[i].children.push(nodes[cid]); + nodes[cid].pid=nodes[i].id; + } + }); + } + } + } +} + +function transferData(data,parentId,list,mainFlag){ + if(!parentId){ + data.layout={}; + data.layout.layoutName="minder2"; + data.layout.direct="right"; + if(mainFlag){ + data.isRoot=true; + data.main=true; + data.x=canvasWidth/2; + data.y=canvasHeight/2; + }else{ + data.layout.layoutName="minder1"; + } + } + + list.push(data); + + data.children&&data.children.forEach(c=>{ + transferData(c,data.id,list); + }); +} + + +export default importMindmaster; diff --git a/src/renderer/mind/import/importXmind.js b/src/renderer/mind/import/importXmind.js index 63f6e73..ebdac9c 100644 --- a/src/renderer/mind/import/importXmind.js +++ b/src/renderer/mind/import/importXmind.js @@ -126,7 +126,7 @@ function transferData(data,parentId,list,mainFlag){ if(data.href){ node.link=data.href; } - if(data.notes){ + if(data.notes && data.notes.plain && data.notes.plain.content){ node.remark=data.notes.plain.content.replace(/\n/g,"
").trim(); } if(data.image){ @@ -166,7 +166,7 @@ function transferData(data,parentId,list,mainFlag){ //induce data.summaries&&data.summaries.forEach(sum=>{ - var r=sum.range.substring(1,sum.range.length-1); + var r=sum.range.substring(1,sum.range.length-1); // console.log(r,'induce'); var s=r.split(',')[0]; var e=r.split(',')[1]; @@ -242,7 +242,12 @@ function transferData(data,parentId,list,mainFlag){ color:'#f06', rootData:{ text:c.title, - id:c.id + id:c.id, + paddingLeft: 6, + paddingRight: 6, + paddingBottom: 2, + paddingTop: 2, + fontSize:12 } } mind.calloutData.push(callout); diff --git a/src/renderer/mind/layout/MindLayout2.js b/src/renderer/mind/layout/MindLayout2.js index 5ccebf2..6098cb9 100644 --- a/src/renderer/mind/layout/MindLayout2.js +++ b/src/renderer/mind/layout/MindLayout2.js @@ -26,8 +26,9 @@ export default class MindLayout1 extends MindLayout { if (!this.root.isExpand()) { return; } - var lineWidth = theme.use().config['lineWidth'] || 2; - var stroke = theme.use().config['stroke']; + var config=theme.use().config; + var lineWidth =config['lineWidth'] || 1; + var stroke = config['stroke']; var rights = root.children.filter((item) => { return item.direct == 'right' @@ -60,7 +61,6 @@ export default class MindLayout1 extends MindLayout { rt.forEach((child, i) => { var childBox = child.getBox(); - var childPos = child.getPosition(); var toy = childBox.height / 2 + childPos.y; @@ -68,23 +68,44 @@ export default class MindLayout1 extends MindLayout { var p1 = [rootPos.x + rootBox.width / 2 + 6 + rtd * i, rootPos.y + rootBox.height / 2]; if (Math.abs(c) > 2) { - var p2 = [p1[0], toy - 2 * c / Math.abs(c)]; - var p3 = [p1[0] + 2, toy] + var p2 = [p1[0], toy - 5 * c / Math.abs(c)]; + var p3 = [p1[0] + 5, toy] } else { var p2 = [p1[0], toy - c / 2]; var p3 = [p1[0] + Math.abs(c) / 2, toy]; } + var p4 = [childPos.x, toy]; let _stroke = child.stroke || stroke || 'rgb(160,160,160)'; - var line = me.group.polyline(me.linePoint([p1, p2, p3, p4], lineWidth + 2)).stroke({ + var zs= me.linePoint([ + p2 + ], lineWidth)[0]; + var ze= me.linePoint([ + p3 + ], lineWidth)[0]; + + var path = `M${zs[0]} ${zs[1]},Q${zs[0]} ${ze[1]},${ze[0]} ${ze[1]}`; + var bsline = me.group.path().stroke({ + color: _stroke, + width: lineWidth+2, + linecap: 'round', + linejoin: 'round' + }); + bsline.plot(path); + bsline.fill('none'); + var line = me.group.line(me.linePoint([p1, p2], lineWidth + 2)).stroke({ + color: _stroke, + width: lineWidth + 2, + linecap: 'round', + linejoin: 'round' + }).fill('none'); + var line = me.group.line(me.linePoint([p3, p4], lineWidth + 2)).stroke({ color: _stroke, width: lineWidth + 2, linecap: 'round', linejoin: 'round' }).fill('none'); - child.line = line; - }); rb.reverse().forEach((child, i) => { @@ -96,8 +117,8 @@ export default class MindLayout1 extends MindLayout { var p1 = [rootPos.x + rootBox.width / 2 + 6 + rbd * i, rootPos.y + rootBox.height / 2]; if (Math.abs(c) > 2) { - var p2 = [p1[0], toy - 2 * c / Math.abs(c)]; - var p3 = [p1[0] + 2, toy] + var p2 = [p1[0], toy - 5 * c / Math.abs(c)]; + var p3 = [p1[0] + 5, toy] } else { var p2 = [p1[0], toy - c / 2]; var p3 = [p1[0] + Math.abs(c) / 2, toy]; @@ -105,13 +126,39 @@ export default class MindLayout1 extends MindLayout { var p4 = [childPos.x, toy]; let _stroke = child.stroke || stroke || 'rgb(160,160,160)'; - var line = me.group.polyline(me.linePoint([p1, p2, p3, p4], lineWidth + 2)).stroke({ + + var zs= me.linePoint([ + p2 + ], lineWidth)[0]; + var ze= me.linePoint([ + p3 + ], lineWidth)[0]; + + var path = `M${zs[0]} ${zs[1]},Q${zs[0]} ${ze[1]},${ze[0]} ${ze[1]}`; + var bsline = me.group.path().stroke({ + color: _stroke, + width: lineWidth+2, + linecap: 'round', + linejoin: 'round' + }); + bsline.plot(path); + bsline.fill('none'); + + + var line = me.group.line(me.linePoint([p1, p2], lineWidth + 2)).stroke({ + color: _stroke, + width: lineWidth + 2, + linecap: 'round', + linejoin: 'round' + }).fill('none'); + + var line = me.group.line(me.linePoint([p3, p4], lineWidth + 2)).stroke({ color: _stroke, width: lineWidth + 2, linecap: 'round', linejoin: 'round' }).fill('none'); - child.line = line; + }); @@ -139,8 +186,8 @@ export default class MindLayout1 extends MindLayout { var p1 = [rootPos.x + rootBox.width / 2 - 6 - ltd * i, rootPos.y + rootBox.height / 2]; if (Math.abs(c) > 2) { - var p2 = [p1[0], toy - 2 * c / Math.abs(c)]; - var p3 = [p1[0] - 2, toy] + var p2 = [p1[0], toy - 5 * c / Math.abs(c)]; + var p3 = [p1[0] - 5, toy] } else { var p2 = [p1[0], toy - c / 2]; var p3 = [p1[0] - Math.abs(c) / 2, toy]; @@ -148,13 +195,36 @@ export default class MindLayout1 extends MindLayout { var p4 = [childPos.x + childBox.width, toy]; let _stroke = child.stroke || stroke || 'rgb(160,160,160)'; - var line = me.group.polyline(me.linePoint([p1, p2, p3, p4], lineWidth + 2)).stroke({ + var zs= me.linePoint([ + p2 + ], lineWidth)[0]; + var ze= me.linePoint([ + p3 + ], lineWidth)[0]; + + var path = `M${zs[0]} ${zs[1]},Q${zs[0]} ${ze[1]},${ze[0]} ${ze[1]}`; + var bsline = me.group.path().stroke({ + color: _stroke, + width: lineWidth+2, + linecap: 'round', + linejoin: 'round' + }); + bsline.plot(path); + bsline.fill('none'); + var line = me.group.line(me.linePoint([p1, p2], lineWidth + 2)).stroke({ color: _stroke, width: lineWidth + 2, linecap: 'round', linejoin: 'round' }).fill('none'); - child.line = line; + + var line = me.group.line(me.linePoint([p3, p4], lineWidth + 2)).stroke({ + color: _stroke, + width: lineWidth + 2, + linecap: 'round', + linejoin: 'round' + }).fill('none'); + }); @@ -166,8 +236,8 @@ export default class MindLayout1 extends MindLayout { var c = toy - (rootBox.height / 2 + rootPos.y); var p1 = [rootPos.x + rootBox.width / 2 - 6 - lbd * i, rootPos.y + rootBox.height / 2]; if (Math.abs(c) > 2) { - var p2 = [p1[0], toy - 2 * c / Math.abs(c)]; - var p3 = [p1[0] - 2, toy] + var p2 = [p1[0], toy - 5 * c / Math.abs(c)]; + var p3 = [p1[0] - 5, toy] } else { var p2 = [p1[0], toy - c / 2]; var p3 = [p1[0] - Math.abs(c) / 2, toy]; @@ -175,13 +245,38 @@ export default class MindLayout1 extends MindLayout { var p4 = [childPos.x + childBox.width, toy]; let _stroke = child.stroke || stroke || 'rgb(160,160,160)'; - var line = me.group.polyline(me.linePoint([p1, p2, p3, p4], lineWidth + 2)).stroke({ + + var zs= me.linePoint([ + p2 + ], lineWidth)[0]; + var ze= me.linePoint([ + p3 + ], lineWidth)[0]; + + var path = `M${zs[0]} ${zs[1]},Q${zs[0]} ${ze[1]},${ze[0]} ${ze[1]}`; + var bsline = me.group.path().stroke({ + color: _stroke, + width: lineWidth+2, + linecap: 'round', + linejoin: 'round' + }); + bsline.plot(path); + bsline.fill('none'); + + var line = me.group.line(me.linePoint([p1, p2], lineWidth + 2)).stroke({ color: _stroke, width: lineWidth + 2, linecap: 'round', linejoin: 'round' }).fill('none'); - child.line = line; + + var line = me.group.line(me.linePoint([p3, p4], lineWidth + 2)).stroke({ + color: _stroke, + width: lineWidth + 2, + linecap: 'round', + linejoin: 'round' + }).fill('none'); + }); @@ -246,12 +341,20 @@ export default class MindLayout1 extends MindLayout { var p2 = [from.x + dis / 2, from.y]; var p5 = [to.x, to.y]; if (child.isFirst()) { - var p3 = [from.x + dis / 2, to.y + 2]; - var p4 = [from.x + dis / 2 + 2, to.y]; + var p3 = [from.x + dis / 2, to.y + 5]; + var p4 = [from.x + dis / 2 + 5, to.y]; var point = [p1, p2, p3, p4, p5]; } else { - var p4 = [from.x + dis / 2, to.y]; - var point = [p1, p2, p4, p5]; + var d=Math.abs(to.y-from.y); + if(d<3){ + var p4 = [from.x + dis / 2, to.y]; + var point = [p1, p2, p4, p5]; + }else{ + var p3 = [from.x + dis / 2, to.y + 5]; + var p4 = [from.x + dis / 2 + 5, to.y]; + var point = [p1, p2, p3, p4, p5]; + } + } } else { @@ -259,12 +362,20 @@ export default class MindLayout1 extends MindLayout { var p2 = [from.x + dis / 2, from.y]; var p5 = [to.x, to.y]; if (child.isLast()) { - var p3 = [from.x + dis / 2, to.y - 2]; - var p4 = [from.x + dis / 2 + 2, to.y]; + var p3 = [from.x + dis / 2, to.y - 5]; + var p4 = [from.x + dis / 2 + 5, to.y]; var point = [p1, p2, p3, p4, p5]; } else { - var p4 = [from.x + dis / 2, to.y]; - var point = [p1, p2, p4, p5]; + var d=Math.abs(to.y-from.y); + if(d<3){ + var p4 = [from.x + dis / 2, to.y]; + var point = [p1, p2, p4, p5]; + }else{ + var p3 = [from.x + dis / 2, to.y - 5]; + var p4 = [from.x + dis / 2 + 5, to.y]; + var point = [p1, p2, p3, p4, p5]; + } + } } @@ -275,12 +386,19 @@ export default class MindLayout1 extends MindLayout { var p2 = [from.x - dis / 2, from.y]; var p5 = [to.x, to.y]; if (child.isFirst()) { - var p3 = [from.x - dis / 2, to.y + 2]; - var p4 = [from.x - dis / 2 - 2, to.y]; + var p3 = [from.x - dis / 2, to.y + 5]; + var p4 = [from.x - dis / 2 - 5, to.y]; var point = [p1, p2, p3, p4, p5]; } else { - var p4 = [from.x - dis / 2, to.y]; - var point = [p1, p2, p4, p5]; + var d=Math.abs(to.y-from.y); + if(d<3){ + var p4 = [from.x - dis / 2, to.y]; + var point = [p1, p2, p4, p5]; + }else{ + var p3 = [from.x - dis / 2, to.y + 5]; + var p4 = [from.x - dis / 2 - 5, to.y]; + var point = [p1, p2, p3, p4, p5]; + } } @@ -289,27 +407,70 @@ export default class MindLayout1 extends MindLayout { var p2 = [from.x - dis / 2, from.y]; var p5 = [to.x, to.y]; if (child.isLast()) { - var p3 = [from.x - dis / 2, to.y - 2]; - var p4 = [from.x - dis / 2 - 2, to.y]; + var p3 = [from.x - dis / 2, to.y - 5]; + var p4 = [from.x - dis / 2 - 5, to.y]; var point = [p1, p2, p3, p4, p5]; } else { - var p4 = [from.x - dis / 2, to.y]; - var point = [p1, p2, p4, p5]; + var d=Math.abs(to.y-from.y); + if(d<3){ + var p4 = [from.x - dis / 2, to.y]; + var point = [p1, p2, p4, p5]; + }else{ + var p3 = [from.x - dis / 2, to.y - 5]; + var p4 = [from.x - dis / 2 - 5, to.y]; + var point = [p1, p2, p3, p4, p5]; + } + } } } } - - var line = me.group.polyline(me.linePoint(point, lineWidth)); - line.fill('none'); - line.stroke({ - color: _stroke, - width: lineWidth, - linecap: 'round', - linejoin: 'round' - }); - child.line = line; + if(p3){ + var line = me.group.polyline(me.linePoint([p1,p2,p3], lineWidth)); + line.fill('none'); + line.stroke({ + color: _stroke, + width: lineWidth, + linecap: 'round', + linejoin: 'round' + }); + + var zs= me.linePoint([ + p3 + ], lineWidth)[0]; + var ze= me.linePoint([ + p4 + ], lineWidth)[0]; + + var path = `M${zs[0]} ${zs[1]},Q${zs[0]} ${ze[1]},${ze[0]} ${ze[1]}`; + var bsline = me.group.path().stroke({ + color: _stroke, + width: lineWidth, + linecap: 'round', + linejoin: 'round' + }); + bsline.plot(path); + bsline.fill('none'); + var line = me.group.line(me.linePoint([p4,p5], lineWidth)); + line.fill('none'); + line.stroke({ + color: _stroke, + width: lineWidth, + linecap: 'round', + linejoin: 'round' + }); + }else{ + var line = me.group.polyline(me.linePoint(point, lineWidth)); + line.fill('none'); + line.stroke({ + color: _stroke, + width: lineWidth, + linecap: 'round', + linejoin: 'round' + }); + } + createLine(child); }); diff --git a/src/renderer/mind/list/list.js b/src/renderer/mind/list/list.js index 8cad454..717733e 100644 --- a/src/renderer/mind/list/list.js +++ b/src/renderer/mind/list/list.js @@ -166,7 +166,7 @@ class List { } if (imgData) { - var images = imgData.img || {}; + var images = imgData.img || imgData.image||{}; } @@ -177,10 +177,13 @@ class List { if (ndata.isImageNode) { if (!ndata.image) { var key = 'images/' + ndata.id + '-' + ndata.imageName; - ndata.image = images[key] || images['resources/' + ndata.imageName]; - if (!ndata.imageWidth) ndata.imageWidth = 200; - if (!ndata.imageHeight) ndata.imageHeight = 200; - + if(images[key]||images['resources/' + ndata.imageName]){ + ndata.image = images[key] || images['resources/' + ndata.imageName]; + if (!ndata.imageWidth) ndata.imageWidth = 200; + if (!ndata.imageHeight) ndata.imageHeight = 200; + }else{ + ndata.isImageNode=false; + } } } var n = new Node(ndata, parent, me); @@ -536,7 +539,11 @@ class List { } } n.children.forEach(node => { - node.data.pid = n.getId(); + if(node.isRoot||node.nodeType=='induce'||node.rootType=='induce'){ + + }else{ + node.data.pid = n.getId(); + } getData(node, d.children); }); @@ -1412,20 +1419,20 @@ class Node { // } // }; - this.textDom.onfocus = () => { + // this.textDom.onfocus = () => { - if (this.shoudRender) { - this._oldMdText = this.data.mdText; - this.textDom.innerHTML = this.data.mdText; + // if (this.shoudRender) { + // this._oldMdText = this.data.mdText; + // this.textDom.innerHTML = this.data.mdText; - me.focus(); - } + // me.focus(); + // } - }; + // }; - this.textDom.onblur = (e) => { - this.cancelEdit(); - } + // this.textDom.onblur = (e) => { + // this.cancelEdit(); + // } } diff --git a/src/renderer/mind/mind.js b/src/renderer/mind/mind.js index a30edce..6908630 100644 --- a/src/renderer/mind/mind.js +++ b/src/renderer/mind/mind.js @@ -43,6 +43,9 @@ class Mind { this.scaleNum = 1; //scale num this.useMarkDown = false; this.refreshTime = null; + + //init cache data; + // this.initWaitData=[]; //300 history num this.stack = new Stack(300); @@ -57,6 +60,10 @@ class Mind { this.stackChange(); this.initEvent(); + // this.initWaitData.unique(); + // if(this.initWaitData.length){ + + // } } dirty() { @@ -69,6 +76,17 @@ class Mind { stackChange() { var me = this; + // function throttle(fn, wait) { + // let timer = null; + // let start = Date.now(); + // return e => { + // if (Date.now() - start >= wait) { + // clearTimeout(timer) + // timer = setTimeout(fn.bind(this, e), wait); + // start = Date.now() + // } + // }; + // } function refresh(node) { var mind = node.getMind(); @@ -105,12 +123,11 @@ class Mind { if(e&&e.detail){ refresh(e.detail.node); } - }, 100) + }, 100); } else { if(e&&e.detail){ refresh(e.detail.node); } - } this.emit('needsave'); @@ -699,7 +716,7 @@ class Mind { } expandLevel(level) { - this.traverseBF(n => { + this.traverseDF(n => { if (n.getLevel() < level) { n.expand(); if (n.nodeType == 'induce') { @@ -1389,14 +1406,14 @@ class Mind { mdata.push(data); if (zip) { if (n.data.isImageNode) { - if (data.image.startsWith('http')) { - return; + if (data.image.startsWith('data:image;')) { + var imageData = data.image.replace(/^data:image\/(\w|\+)+;base64,/, ""); + zip.file(data.id + '-' + data.imageName, imageData, { + base64: true + }); + data.image = ''; } - var imageData = data.image.replace(/^data:image\/(\w|\+)+;base64,/, ""); - zip.file(data.id + '-' + data.imageName, imageData, { - base64: true - }); - data.image = ''; + } } @@ -1510,7 +1527,7 @@ class Mind { init(data, imgData) { this.initialize = true; if (imgData) { - var images = imgData.img || {}; + var images = imgData.img || imgData.image|| {}; } var me = this; this.themeName = data.theme || 'markdown'; @@ -1618,20 +1635,25 @@ class Mind { var induceData = data.induceData; induceData && induceData.forEach(data => { - + if (data.induceData.nodeId) { var n = me.getNodeById(data.induceData.nodeId); var p = n.parent; var r = data.induceData.range; - var ar = r.split(','); - var rangeNode = [] - p.children.forEach((c, i) => { - if (i >= ar[0] && i <= ar[1]) { - rangeNode.push(c); - } - }); - rangeNode.unique(); - var endNode = rangeNode[rangeNode.length - 1]; + var rangeNode = []; + if(r){ + var ar = r.split(','); + p.children.forEach((c, i) => { + if (i >= ar[0] && i <= ar[1]) { + rangeNode.push(c); + } + }); + rangeNode.unique(); + var endNode = rangeNode[rangeNode.length - 1]; + }else{ + var endNode = n; + rangeNode=[n]; + } } if (n) { @@ -1689,7 +1711,6 @@ class Mind { var n = me.getNodeById(data.nodeId); var p = n.parent; if (p) { - var r = data.range; var ar = r.split(','); var rangeNode = [] @@ -1753,25 +1774,30 @@ class Mind { relateLinkData && relateLinkData.forEach(data => { var startNode = me.getNodeById(data.startNodeId); var endNode = me.getNodeById(data.endNodeId); + if (startNode && endNode) { if (!data.gapsx) { var startBox = startNode.getBox(); var endBox = endNode.getBox(); - data.gapsx = data.box.cpx1 - startBox.x; - data.gapsy = data.box.cpy1 - startBox.y; - data.gapex = data.box.cpx2 - endBox.x; - data.gapey = data.box.cpy2 - endBox.y; + + if(data.box && data.box.cpx1){ + data.gapsx = data.box.cpx1 - startBox.x; + data.gapsy = data.box.cpy1 - startBox.y; + data.gapex = data.box.cpx2 - endBox.x; + data.gapey = data.box.cpy2 - endBox.y; + } } - var rl = new RelateLink(startNode, data); - rl.endNode = endNode; - - rl.setBox(data.box); - me.addRelateLink(rl); - rl.unactive(); - if (!data.box) { - waitRefreshRelateLink.push(rl); + if(data.gapsx){ + var rl = new RelateLink(startNode, data); + rl.endNode = endNode; + rl.setBox(data.box); + me.addRelateLink(rl); + rl.unactive(); + if (!data.box) { + waitRefreshRelateLink.push(rl); + } } } }); @@ -1783,6 +1809,10 @@ class Mind { rl.refresh(); }); + this.updateRelateLink(); + + + //setTimeout(() => { //load katex font this.initialize = false; diff --git a/src/renderer/mind/node.js b/src/renderer/mind/node.js index 2df8d16..f4b3e69 100644 --- a/src/renderer/mind/node.js +++ b/src/renderer/mind/node.js @@ -58,10 +58,10 @@ class Node { y: 0, width: 0, height: 0, - borderTopLeftRadius: 2, - borderBottomLeftRadius: 2, - borderTopRightRadius: 2, - borderBottomRightRadius: 2, + borderTopLeftRadius: 4, + borderBottomLeftRadius: 4, + borderTopRightRadius: 4, + borderBottomRightRadius: 4, z: 10, priority: '', percent: '', diff --git a/src/renderer/router/index.js b/src/renderer/router/index.js index 66ed144..7adc2ad 100644 --- a/src/renderer/router/index.js +++ b/src/renderer/router/index.js @@ -24,6 +24,11 @@ export default new Router({ path: '/profile', name: 'profile', component: require('@/components/profile').default + }, + { + path:'/signup', + name:'signup', + component:require('@/components/signup').default } ] }) From fb1ed3896dfc6f7550585451ae7ebea1f6cfb339 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 28 Mar 2021 11:01:06 +0000 Subject: [PATCH 2/2] Bump elliptic from 6.5.2 to 6.5.4 Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.4. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.4) Signed-off-by: dependabot[bot] --- package-lock.json | 1934 +++++++++++++++++++++++++++++++-------------- 1 file changed, 1346 insertions(+), 588 deletions(-) diff --git a/package-lock.json b/package-lock.json index a7444be..6ec9fa9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "mind", - "version": "1.1.6", + "version": "1.2.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -11,9 +11,9 @@ "dev": true }, "7zip-bin": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-4.1.0.tgz", - "integrity": "sha512-AsnBZN3a8/JcNt+KPkGGODaA4c7l3W5+WpeKgGSbstSLxqWtTXqd1ieJGBQ8IFCtRg8DmmKUcSkIkUc0A4p3YA==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.0.3.tgz", + "integrity": "sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA==", "dev": true }, "@braintree/sanitize-url": { @@ -21,6 +21,16 @@ "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-3.1.0.tgz", "integrity": "sha512-GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==" }, + "@develar/schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", + "dev": true, + "requires": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + } + }, "@electron/get": { "version": "1.12.2", "resolved": "https://registry.npm.taobao.org/@electron/get/download/@electron/get-1.12.2.tgz", @@ -55,6 +65,64 @@ } } }, + "@electron/universal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.0.4.tgz", + "integrity": "sha512-ajZoumi4XwqwmZe8YVhu4XGkZBCPyWZsVCQONPTIe9TUlleSN+dic3YpXlaWcilx/HOzTdldTKtabNTeI0gDoA==", + "dev": true, + "requires": { + "@malept/cross-spawn-promise": "^1.1.0", + "asar": "^3.0.3", + "debug": "^4.3.1", + "dir-compare": "^2.4.0", + "fs-extra": "^9.0.1" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, "@iktakahiro/markdown-it-katex": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@iktakahiro/markdown-it-katex/-/markdown-it-katex-3.1.0.tgz", @@ -78,6 +146,58 @@ } } }, + "@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -111,6 +231,15 @@ "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", "dev": true }, + "@types/fs-extra": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.9.tgz", + "integrity": "sha512-5TqDycCl0oMzwzd1cIjSJWMKMvLCDVErle4ZTjU4EmHDURR/+yZghe6GDHMCpHtcVfq0x0gMoOM546/5TbYHrg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/glob": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", @@ -134,6 +263,39 @@ "integrity": "sha512-8RkBivJrDCyPpBXhVZcjh7cQxVBSmRk9QM7hOketZzp6Tg79c0N8kkpAIito9bnJ3HCVCHVYz+KHTEbfQNfeVQ==", "dev": true }, + "@types/plist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/plist/-/plist-3.0.2.tgz", + "integrity": "sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*", + "xmlbuilder": ">=11.0.1" + } + }, + "@types/verror": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.4.tgz", + "integrity": "sha512-OjJdqx6QlbyZw9LShPwRW+Kmiegeg3eWNI41MQQKaG3vjdU2L9SRElntM51HmHBY1cu7izxQJ1lMYioQh3XMBg==", + "dev": true, + "optional": true + }, + "@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "dev": true + }, "@vue/component-compiler-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.1.1.tgz", @@ -483,12 +645,6 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -563,66 +719,95 @@ } }, "app-builder-bin": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.7.1.tgz", - "integrity": "sha512-ubIBeiL9XysjMW4HETBKxj3DC8ika6dGyC0vftPc0kZwGh1iXQ5bycsjoAqY/3t3BBEEIg0VruicvBaUl1pOSQ==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.5.12.tgz", + "integrity": "sha512-lQARM2AielmFoBeIo6LZigAe+58Wwe07ZWkt+wVeDxzyieNmeWjlvz/V5dKzinydwdHd+CNswN86sww46yijjA==", "dev": true }, "app-builder-lib": { - "version": "20.44.4", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.44.4.tgz", - "integrity": "sha512-1K1xfrhyqDgnibwyuYMgvfwGilGLMF31YwOUJ8IXreyjRef9lUjWW+BZuBXqk4Uqd0C0EYPjhofgpuN0WoAQ+A==", + "version": "22.10.5", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.10.5.tgz", + "integrity": "sha512-/W8nlGamJCtKlQtsMWwU9vb+cX4pTNY+rJWCuc7oXUykVSMS50W7LhQusIjCelNfymUQ1XCu6cXEY/ylqhX12A==", "dev": true, "requires": { - "7zip-bin": "~4.1.0", - "app-builder-bin": "2.7.1", + "7zip-bin": "~5.0.3", + "@develar/schema-utils": "~2.6.5", + "@electron/universal": "1.0.4", "async-exit-hook": "^2.0.1", "bluebird-lst": "^1.0.9", - "builder-util": "10.1.2", - "builder-util-runtime": "8.2.5", + "builder-util": "22.10.5", + "builder-util-runtime": "8.7.3", "chromium-pickle-js": "^0.2.0", - "debug": "^4.1.1", - "ejs": "^2.6.2", - "electron-osx-sign": "0.4.11", - "electron-publish": "20.44.4", - "fs-extra-p": "^8.0.2", - "hosted-git-info": "^2.7.1", + "debug": "^4.3.2", + "ejs": "^3.1.6", + "electron-publish": "22.10.5", + "fs-extra": "^9.1.0", + "hosted-git-info": "^3.0.8", "is-ci": "^2.0.0", - "isbinaryfile": "^4.0.1", - "js-yaml": "^3.13.1", + "istextorbinary": "^5.12.0", + "js-yaml": "^4.0.0", "lazy-val": "^1.0.4", "minimatch": "^3.0.4", - "normalize-package-data": "^2.5.0", - "plist": "^3.0.1", - "read-config-file": "3.2.2", - "sanitize-filename": "^1.6.1", - "semver": "^6.1.1", - "temp-file": "^3.3.3" + "normalize-package-data": "^3.0.0", + "read-config-file": "6.0.0", + "sanitize-filename": "^1.6.3", + "semver": "^7.3.4", + "temp-file": "^3.3.7" }, "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" } }, "ms": { @@ -632,9 +817,24 @@ "dev": true }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } @@ -698,6 +898,27 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, + "asar": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/asar/-/asar-3.0.3.tgz", + "integrity": "sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "chromium-pickle-js": "^0.2.0", + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "dependencies": { + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + } + } + }, "asciimath-to-latex": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/asciimath-to-latex/-/asciimath-to-latex-0.3.2.tgz", @@ -795,6 +1016,12 @@ "resolved": "https://r.cnpmjs.org/asynckit/download/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -2044,6 +2271,12 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, + "binaryextensions": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-4.15.0.tgz", + "integrity": "sha512-MkUl3szxXolQ2scI1PM14WOT951KnaTNJ0eMKg7WzOI4kvSxyNo/Cygx4LOBNhwyINhAuSQpJW1rYD9aBSxGaw==", + "dev": true + }, "bindings": { "version": "1.5.0", "resolved": "https://r.cnpmjs.org/bindings/download/bindings-1.5.0.tgz", @@ -2140,60 +2373,100 @@ "version": "3.0.1", "resolved": "https://registry.npm.taobao.org/boolean/download/boolean-3.0.1.tgz", "integrity": "sha1-NezytKLuGRsLRJhvFOtfBSpcu08=", - "dev": true + "dev": true, + "optional": true }, "boxen": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", - "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.0.0.tgz", + "integrity": "sha512-5bvsqw+hhgUi3oYGK0Vf4WpIkyemp60WBInn7+WNfoISzAqk/HX4L7WNROq38E6UR/y3YADpv6pEm4BfkeEAdA==", "dev": true, "requires": { "ansi-align": "^3.0.0", - "camelcase": "^5.3.1", - "chalk": "^2.4.2", - "cli-boxes": "^2.2.0", - "string-width": "^3.0.0", - "term-size": "^1.2.0", - "type-fest": "^0.3.0", - "widest-line": "^2.0.0" + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.0", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } } } @@ -2335,32 +2608,16 @@ "isarray": "^1.0.0" } }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz", "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true }, - "buffer-fill": { + "buffer-equal": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", "dev": true }, "buffer-from": { @@ -2381,49 +2638,90 @@ "dev": true }, "builder-util": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-10.1.2.tgz", - "integrity": "sha512-LQMh36Cg0r4ZfKqNlaUclndS/IXxZ3OdCgmXvw1vdP3QwYT2NkyE7LfMikAFIHpXOs6zsVH+iW+Fe/AX1jfFag==", + "version": "22.10.5", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.10.5.tgz", + "integrity": "sha512-/MkLhmyo1gU3xMwXJxccQaRj/9tm5eTd6ZyebTf8SYouY4r3hRser+LxhOm/f8Z9W6oJvfPe0jc9TFsxYfMcsg==", "dev": true, "requires": { - "7zip-bin": "~4.1.0", - "@types/debug": "^4.1.4", - "app-builder-bin": "2.7.1", + "7zip-bin": "~5.0.3", + "@types/debug": "^4.1.5", + "@types/fs-extra": "^9.0.7", + "app-builder-bin": "3.5.12", "bluebird-lst": "^1.0.9", - "builder-util-runtime": "^8.2.5", - "chalk": "^2.4.2", - "debug": "^4.1.1", - "fs-extra-p": "^8.0.2", + "builder-util-runtime": "8.7.3", + "chalk": "^4.1.0", + "debug": "^4.3.2", + "fs-extra": "^9.1.0", "is-ci": "^2.0.0", - "js-yaml": "^3.13.1", - "source-map-support": "^0.5.12", - "stat-mode": "^0.3.0", - "temp-file": "^3.3.3" + "js-yaml": "^4.0.0", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.3.7" }, "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "ms": "^2.1.1" + "color-convert": "^2.0.1" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } }, "ms": { @@ -2439,36 +2737,49 @@ "dev": true }, "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true } } }, "builder-util-runtime": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.2.5.tgz", - "integrity": "sha512-YILT+YUlxrE3yNB6mDC1tF+Q24mr1LSYdjP5U861jbBeDZfvy1/VPDzW3boMVrDtzYnDnvkYrzLJnoh6TXA75w==", + "version": "8.7.3", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.3.tgz", + "integrity": "sha512-1Q2ReBqFblimF5g/TLg2+0M5Xzv0Ih5LxJ/BMWXvEy/e6pQKeeEpbkPMGsN6OiQgkygaZo5VXCXIjOkOQG5EoQ==", "dev": true, "requires": { - "bluebird-lst": "^1.0.9", - "debug": "^4.1.1", - "fs-extra-p": "^8.0.2", + "debug": "^4.3.2", "sax": "^1.2.4" }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -2586,6 +2897,12 @@ "upper-case": "^1.1.1" } }, + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + }, "caniuse-api": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", @@ -2939,9 +3256,9 @@ } }, "cli-boxes": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", - "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", "dev": true }, "cli-cursor": { @@ -2953,6 +3270,17 @@ "restore-cursor": "^1.0.1" } }, + "cli-truncate": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", + "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", + "dev": true, + "optional": true, + "requires": { + "slice-ansi": "^1.0.0", + "string-width": "^2.0.0" + } + }, "cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", @@ -3126,12 +3454,6 @@ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, - "compare-version": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", - "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=", - "dev": true - }, "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", @@ -3274,26 +3596,44 @@ } }, "configstore": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz", - "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", "dev": true, "requires": { - "dot-prop": "^4.1.0", + "dot-prop": "^5.2.0", "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" }, "dependencies": { - "dot-prop": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", - "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } } } @@ -3418,6 +3758,29 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, + "crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "dev": true, + "optional": true, + "requires": { + "buffer": "^5.1.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "optional": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } + } + }, "create-ecdh": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", @@ -3503,9 +3866,9 @@ } }, "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "dev": true }, "css-b64-images": { @@ -4232,6 +4595,35 @@ "randombytes": "^2.0.0" } }, + "dir-compare": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-2.4.0.tgz", + "integrity": "sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==", + "dev": true, + "requires": { + "buffer-equal": "1.0.0", + "colors": "1.0.3", + "commander": "2.9.0", + "minimatch": "3.0.4" + }, + "dependencies": { + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + } + } + }, "dir-glob": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", @@ -4242,39 +4634,92 @@ } }, "dmg-builder": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.7.2.tgz", - "integrity": "sha512-xfYOwhHjOSOIqkk8A0h8zcaio/WyzrAWpMTu9hzV3Z5PI4tOG0Pq6a9Lh/mHr1r3bydif8R21qGvKU1Re9CpUg==", + "version": "22.10.5", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.10.5.tgz", + "integrity": "sha512-58FEpfH8PEFqjbUNka4bYr52snRT8+LSXrP4gy6EZWOVICbOlmTOYj988pfoLam5C5iXb3odmyUQqwWOxlsEUw==", "dev": true, "requires": { - "app-builder-lib": "~20.44.4", - "bluebird-lst": "^1.0.9", - "builder-util": "~10.1.2", - "fs-extra-p": "^8.0.2", - "iconv-lite": "^0.4.24", - "js-yaml": "^3.13.1", - "parse-color": "^1.0.0", - "sanitize-filename": "^1.6.1" + "app-builder-lib": "22.10.5", + "builder-util": "22.10.5", + "dmg-license": "^1.0.8", + "fs-extra": "^9.1.0", + "iconv-lite": "^0.6.2", + "js-yaml": "^4.0.0", + "sanitize-filename": "^1.6.3" }, "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true } } }, + "dmg-license": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.8.tgz", + "integrity": "sha512-47GOb6b4yVzpovXC34heXElpH++ICg9GuWBeOTaokUNLAoAdWpE4VehudYEEtu96j2jXsgQWYf78nW7r+0Y3eg==", + "dev": true, + "optional": true, + "requires": { + "@types/plist": "^3.0.1", + "@types/verror": "^1.10.3", + "ajv": "^6.10.0", + "cli-truncate": "^1.1.0", + "crc": "^3.8.0", + "iconv-corefoundation": "^1.1.5", + "plist": "^3.0.1", + "smart-buffer": "^4.0.2", + "verror": "^1.10.0" + } + }, "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", @@ -4344,6 +4789,11 @@ "domelementtype": "1" } }, + "domino": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/domino/-/domino-2.1.6.tgz", + "integrity": "sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==" + }, "domutils": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", @@ -4378,15 +4828,15 @@ } }, "dotenv": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", - "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", "dev": true }, "dotenv-expand": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz", - "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", "dev": true }, "duplexer3": { @@ -4424,6 +4874,16 @@ "zrender": "4.3.0" } }, + "editions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/editions/-/editions-6.1.0.tgz", + "integrity": "sha512-h6nWEyIocfgho9J3sTSuhU/WoFOu1hTX75rPBebNrbF38Y9QFDjCDizYXdikHTySW7Y3mSxli8bpDz9RAtc7rA==", + "dev": true, + "requires": { + "errlop": "^4.0.0", + "version-range": "^1.0.0" + } + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -4431,10 +4891,13 @@ "dev": true }, "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "dev": true + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "dev": true, + "requires": { + "jake": "^10.6.1" + } }, "electron": { "version": "8.2.0", @@ -4456,24 +4919,83 @@ } }, "electron-builder": { - "version": "20.44.4", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.44.4.tgz", - "integrity": "sha512-H8zzP01albkKh2Ec1zc0A7RGriUkHb5M99NJskaYtgKtGATTAGH+r9OIWVk5Hk9c1dLMVudbqEeaSlygMF2asw==", + "version": "22.10.5", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.10.5.tgz", + "integrity": "sha512-0q/289UUJUhRou6lZKDz/wzK6WprIQ6VXMTmaI+w9qXvSNugPC9UA5s2zXInOkjZOvO/xKnjeyiavrVSHYF3tA==", "dev": true, "requires": { - "app-builder-lib": "20.44.4", + "@types/yargs": "^15.0.13", + "app-builder-lib": "22.10.5", "bluebird-lst": "^1.0.9", - "builder-util": "10.1.2", - "builder-util-runtime": "8.2.5", - "chalk": "^2.4.2", - "dmg-builder": "6.7.2", - "fs-extra-p": "^8.0.2", + "builder-util": "22.10.5", + "builder-util-runtime": "8.7.3", + "chalk": "^4.1.0", + "dmg-builder": "22.10.5", + "fs-extra": "^9.1.0", "is-ci": "^2.0.0", "lazy-val": "^1.0.4", - "read-config-file": "3.2.2", - "sanitize-filename": "^1.6.1", - "update-notifier": "^3.0.0", - "yargs": "^13.2.4" + "read-config-file": "6.0.0", + "sanitize-filename": "^1.6.3", + "update-notifier": "^5.1.0", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } } }, "electron-debug": { @@ -4539,55 +5061,86 @@ } } }, - "electron-osx-sign": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.11.tgz", - "integrity": "sha512-VVd40nrnVqymvFrY9ZkOYgHJOvexHHYTR3di/SN+mjJ0OWhR1I8BRVj3U+Yamw6hnkZZNKZp52rqL5EFAAPFkQ==", + "electron-publish": { + "version": "22.10.5", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.10.5.tgz", + "integrity": "sha512-dHyuazv3P3j1Xyv7pdwTwAvxWab2pCb0G0Oa6qWQoCc4b1/mRGY00M7AvYW1cPuUijj9zYAf1HmXfM6MifaMlA==", "dev": true, "requires": { - "bluebird": "^3.5.0", - "compare-version": "^0.1.2", - "debug": "^2.6.8", - "isbinaryfile": "^3.0.2", - "minimist": "^1.2.0", - "plist": "^3.0.1" + "@types/fs-extra": "^9.0.7", + "bluebird-lst": "^1.0.9", + "builder-util": "22.10.5", + "builder-util-runtime": "8.7.3", + "chalk": "^4.1.0", + "fs-extra": "^9.1.0", + "lazy-val": "^1.0.4", + "mime": "^2.5.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "ms": "2.0.0" + "color-convert": "^2.0.1" } }, - "isbinaryfile": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", - "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "buffer-alloc": "^1.2.0" + "has-flag": "^4.0.0" } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true } } }, - "electron-publish": { - "version": "20.44.4", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.44.4.tgz", - "integrity": "sha512-50NzsKOnNqOpGJzPl04vMyitdguUvp15FWKWtu4KISsHfgdLMWGgxHGZwfMphc/vf364zXvPHsYQza3MASgaEQ==", - "dev": true, - "requires": { - "bluebird-lst": "^1.0.9", - "builder-util": "~10.1.2", - "builder-util-runtime": "^8.2.5", - "chalk": "^2.4.2", - "fs-extra-p": "^8.0.2", - "lazy-val": "^1.0.4", - "mime": "^2.4.4" - } - }, "electron-store": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/electron-store/-/electron-store-5.1.1.tgz", @@ -4611,18 +5164,26 @@ "dev": true }, "elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } } }, "emoji-regex": { @@ -4690,6 +5251,12 @@ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==" }, + "errlop": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/errlop/-/errlop-4.1.0.tgz", + "integrity": "sha512-vul6gGBuVt0M2TPi1/WrcL86+Hb3Q2Tpu3TME3sbVhZrYf7J1ZMHCodI25RQKCVurh56qTfvgM0p3w5cT4reSQ==", + "dev": true + }, "errno": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", @@ -4751,6 +5318,18 @@ "through": "~2.3.6" } }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "dev": true + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -4847,34 +5426,6 @@ "safe-buffer": "^5.1.1" } }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } - } - }, "exit-hook": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", @@ -5216,6 +5767,15 @@ "dev": true, "optional": true }, + "filelist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", + "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -5395,38 +5955,6 @@ "universalify": "^0.1.0" } }, - "fs-extra-p": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-8.1.0.tgz", - "integrity": "sha512-sCLpU5kk5CvrWZvFM9dUlqPgHrE02AEt6XYzF7kDscr5COc7DHfhNfODTXt0bkVNmt5DkvU2uJSYjorxY3bRKA==", - "dev": true, - "requires": { - "bluebird-lst": "^1.0.9", - "fs-extra": "^8.1.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } - } - }, "fs-write-stream-atomic": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", @@ -5467,12 +5995,6 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -5560,12 +6082,20 @@ } }, "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", + "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", "dev": true, "requires": { - "ini": "^1.3.4" + "ini": "2.0.0" + }, + "dependencies": { + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true + } } }, "global-modules": { @@ -5884,10 +6414,30 @@ } }, "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } }, "hpack.js": { "version": "2.1.6", @@ -6006,9 +6556,9 @@ } }, "html2canvas": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.0.0-rc.5.tgz", - "integrity": "sha512-DtNqPxJNXPoTajs+lVQzGS1SULRI4GQaROeU5R41xH8acffHukxRh/NBVcTBsfCkJSkLq91rih5TpbEwUP9yWA==", + "version": "1.0.0-rc.7", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.0.0-rc.7.tgz", + "integrity": "sha512-yvPNZGejB2KOyKleZspjK/NruXVQuowu8NnV2HYG7gW7ytzl+umffbtUI62v2dCHQLDdsK6HIDtyJZ0W3neerA==", "requires": { "css-line-break": "1.1.1" } @@ -6127,6 +6677,17 @@ "integrity": "sha1-pls0RZrWNnrbs3B6gqPJ+RYWcDA=", "dev": true }, + "iconv-corefoundation": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.5.tgz", + "integrity": "sha512-hI4m7udfV04OcjleOmDaR4gwXnH4xumxN+ZmywHDiKf2CmAzsT9SVYe7Y4pdnQbyZfXwAQyrElykbE5PrPRfmQ==", + "dev": true, + "optional": true, + "requires": { + "cli-truncate": "^1.1.0", + "node-addon-api": "^1.6.3" + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -6412,6 +6973,15 @@ "ci-info": "^2.0.0" } }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, "is-data-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", @@ -6455,6 +7025,12 @@ "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", "dev": true }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", @@ -6465,13 +7041,21 @@ } }, "is-installed-globally": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", "dev": true, "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "dependencies": { + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + } } }, "is-lower-case": { @@ -6484,9 +7068,9 @@ } }, "is-npm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-3.0.0.tgz", - "integrity": "sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", "dev": true }, "is-number": { @@ -6632,12 +7216,6 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "isbinaryfile": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.5.tgz", - "integrity": "sha512-Jvz0gpTh1AILHMCBUyqq7xv1ZOQrxTDwyp1/QUq1xFpOBvp4AH5uEobPePJht8KnBGqQIH7We6OR73mXsjG0cA==", - "dev": true - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -6655,6 +7233,37 @@ "resolved": "https://r.cnpmjs.org/isstream/download/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, + "istextorbinary": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-5.12.0.tgz", + "integrity": "sha512-wLDRWD7qpNTYubk04+q3en1+XZGS4vYWK0+SxNSXJLaITMMEK+J3o/TlOMyULeH1qozVZ9uUkKcyMA8odyxz8w==", + "dev": true, + "requires": { + "binaryextensions": "^4.15.0", + "editions": "^6.1.0", + "textextensions": "^5.11.0" + } + }, + "jake": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", + "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", + "dev": true, + "requires": { + "async": "0.9.x", + "chalk": "^2.4.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + } + } + }, "jquery": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz", @@ -7909,6 +8518,13 @@ "lower-case": "^1.1.1" } }, + "node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", + "dev": true, + "optional": true + }, "node-dropbox": { "version": "0.1.8", "resolved": "https://r.cnpmjs.org/node-dropbox/download/node-dropbox-0.1.8.tgz", @@ -7969,15 +8585,50 @@ "dev": true }, "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "normalize-path": { @@ -8510,23 +9161,6 @@ "safe-buffer": "^5.1.1" } }, - "parse-color": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz", - "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=", - "dev": true, - "requires": { - "color-convert": "~0.5.0" - }, - "dependencies": { - "color-convert": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", - "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=", - "dev": true - } - } - }, "parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", @@ -8722,14 +9356,31 @@ } }, "plist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", - "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.2.tgz", + "integrity": "sha512-MSrkwZBdQ6YapHy87/8hDU8MnIcyxBKjeF+McXnr5A9MtffPewTs7G3hlpodT5TacyfIyFTaJEhh3GGcmasTgQ==", "dev": true, + "optional": true, "requires": { - "base64-js": "^1.2.3", + "base64-js": "^1.5.1", "xmlbuilder": "^9.0.7", - "xmldom": "0.1.x" + "xmldom": "^0.5.0" + }, + "dependencies": { + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "optional": true + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true, + "optional": true + } } }, "portfinder": { @@ -9420,6 +10071,15 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, + "pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "dev": true, + "requires": { + "escape-goat": "^2.0.0" + } + }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", @@ -9560,19 +10220,15 @@ } }, "read-config-file": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-3.2.2.tgz", - "integrity": "sha512-PuFpMgZF01VB0ydH1dfitAxCP/fh+qnfbA9cYNIPoxPbz0SMngsrafCtaHDWfER7MwlDz4fmrNBhPkakxxFpTg==", - "dev": true, - "requires": { - "ajv": "^6.9.2", - "ajv-keywords": "^3.4.0", - "bluebird-lst": "^1.0.7", - "dotenv": "^6.2.0", - "dotenv-expand": "^4.2.0", - "fs-extra-p": "^7.0.1", - "js-yaml": "^3.12.1", - "json5": "^2.1.0", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.0.0.tgz", + "integrity": "sha512-PHjROSdpceKUmqS06wqwP92VrM46PZSTubmNIMJ5DrMwg1OgenSTSEHIkCa6TiOJ+y/J0xnG1fFwG3M+Oi1aNA==", + "dev": true, + "requires": { + "dotenv": "^8.2.0", + "dotenv-expand": "^5.1.0", + "js-yaml": "^3.13.1", + "json5": "^2.1.2", "lazy-val": "^1.0.4" }, "dependencies": { @@ -9582,31 +10238,10 @@ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-extra-p": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.1.tgz", - "integrity": "sha512-yhd2OV0HnHt2oitlp+X9hl2ReX4X/7kQeL7/72qzPHTZj5eUPGzAKOvEglU02Fa1OeG2rSy/aKB4WGVaLiF8tw==", - "dev": true, - "requires": { - "bluebird-lst": "^1.0.7", - "fs-extra": "^7.0.1" - } - }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -9614,22 +10249,13 @@ } }, "json5": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.2.tgz", - "integrity": "sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "requires": { "minimist": "^1.2.5" } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } } } }, @@ -9769,9 +10395,9 @@ } }, "registry-auth-token": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.1.1.tgz", - "integrity": "sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", "dev": true, "requires": { "rc": "^1.2.8" @@ -9909,11 +10535,12 @@ "dev": true }, "resolve": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", - "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { + "is-core-module": "^2.2.0", "path-parse": "^1.0.6" } }, @@ -10141,12 +10768,20 @@ "optional": true }, "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", "dev": true, "requires": { - "semver": "^5.0.3" + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "send": { @@ -10380,11 +11015,28 @@ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "optional": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0" + } + }, "slugify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.4.0.tgz", "integrity": "sha512-FtLNsMGBSRB/0JOE2A0fxlqjI6fJsgHGS13iTuVT28kViI4JjUiNqp/vyis0ZXYcMnpR3fzGNkv+6vRlI2GwdQ==" }, + "smart-buffer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", + "dev": true, + "optional": true + }, "snake-case": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", @@ -10639,9 +11291,9 @@ "dev": true }, "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -10649,15 +11301,15 @@ } }, "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -10665,9 +11317,9 @@ } }, "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, "spdy": { @@ -10782,9 +11434,9 @@ } }, "stat-mode": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.3.0.tgz", - "integrity": "sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", + "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", "dev": true }, "static-extend": { @@ -10922,6 +11574,36 @@ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "optional": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "string.prototype.trimleft": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", @@ -11063,37 +11745,6 @@ "requires": { "async-exit-hook": "^2.0.1", "fs-extra": "^8.1.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } - } - }, - "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", - "dev": true, - "requires": { - "execa": "^0.7.0" } }, "terser": { @@ -11323,6 +11974,12 @@ } } }, + "textextensions": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-5.12.0.tgz", + "integrity": "sha512-IYogUDaP65IXboCiPPC0jTLLBzYlhhw2Y4b0a2trPgbHNGGGEfuHE6tds+yDcCf4mpNDaGISFzwSSezcXt+d6w==", + "dev": true + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -11514,6 +12171,19 @@ "safe-buffer": "^5.0.1" } }, + "turndown": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/turndown/-/turndown-7.0.0.tgz", + "integrity": "sha512-G1FfxfR0mUNMeGjszLYl3kxtopC4O9DRRiMlMDDVHvU1jaBkGFg4qxIyjIk2aiKLHyDyZvZyu4qBO2guuYBy3Q==", + "requires": { + "domino": "^2.1.6" + } + }, + "turndown-plugin-gfm": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.2.tgz", + "integrity": "sha512-vwz9tfvF7XN/jE0dGoBei3FXWuvll78ohzCZQuOb+ZjWrs3a0XhQVomJEb2Qh4VHTPNRO4GPZh0V7VRbiWwkRg==" + }, "tweetnacl": { "version": "0.14.5", "resolved": "https://r.cnpmjs.org/tweetnacl/download/tweetnacl-0.14.5.tgz", @@ -11547,9 +12217,9 @@ "integrity": "sha512-ND4LZXF4X92/PFrzSgGkq6KPPg8swy/U0yRw1k/+izWRVmq1HYi3khPwV3XIB6FRudgVICAaBhJfW8e8G3HC7Q==" }, "type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, "type-is": { @@ -11682,12 +12352,12 @@ } }, "unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", "dev": true, "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "^2.0.0" } }, "universalify": { @@ -11748,23 +12418,79 @@ "dev": true }, "update-notifier": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-3.0.1.tgz", - "integrity": "sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", "dev": true, "requires": { - "boxen": "^3.0.0", - "chalk": "^2.0.1", - "configstore": "^4.0.0", + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", "has-yarn": "^2.1.0", "import-lazy": "^2.1.0", "is-ci": "^2.0.0", - "is-installed-globally": "^0.1.0", - "is-npm": "^3.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", "is-yarn-global": "^0.3.0", - "latest-version": "^5.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } } }, "upper-case": { @@ -11963,6 +12689,21 @@ "extsprintf": "^1.2.0" } }, + "version-compare": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/version-compare/-/version-compare-1.1.0.tgz", + "integrity": "sha512-zVKtPOJTC9x23lzS4+4D7J+drq80BXVYAmObnr5zqxxFVH7OffJ1lJlAS7LYsQNV56jx/wtbw0UV7XHLrvd6kQ==", + "dev": true + }, + "version-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/version-range/-/version-range-1.1.0.tgz", + "integrity": "sha512-R1Ggfg2EXamrnrV3TkZ6yBNgITDbclB3viwSjbZ3+eK0VVNK4ajkYJTnDz5N0bIMYDtK9MUBvXJUnKO5RWWJ6w==", + "dev": true, + "requires": { + "version-compare": "^1.0.0" + } + }, "vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", @@ -12164,6 +12905,11 @@ "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", "dev": true }, + "vuejs-dialog": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/vuejs-dialog/-/vuejs-dialog-1.4.2.tgz", + "integrity": "sha512-6kRse144WXDFBMKdeuqE43rHy0ZJ81uLOFh62r2d80ICKavQYHIvr+GlTFmoR23190lC4f2w+ZJ8cS4ljkCDMw==" + }, "vuex": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.1.3.tgz", @@ -12899,43 +13645,50 @@ "dev": true }, "widest-line": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", "dev": true, "requires": { - "string-width": "^2.1.1" + "string-width": "^4.0.0" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.0" } } } @@ -13060,9 +13813,9 @@ } }, "xdg-basedir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", "dev": true }, "xml-char-classes": { @@ -13072,16 +13825,18 @@ "dev": true }, "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", - "dev": true + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "optional": true }, "xmldom": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", - "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==", - "dev": true + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.5.0.tgz", + "integrity": "sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==", + "dev": true, + "optional": true }, "xtend": { "version": "4.0.2", @@ -13101,97 +13856,100 @@ "dev": true }, "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "color-convert": "^2.0.1" } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, - "p-locate": { + "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^5.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } + }, + "y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true + }, + "yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true } } },