mirror of
https://github.com/rubickCenter/rubick
synced 2025-06-08 03:24:12 +08:00
✨ API 部分迁移完成
This commit is contained in:
parent
a9827c6db1
commit
951f21f5fa
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
"name": "rubick-system-feature",
|
||||||
"pluginName": "rubick 系统菜单",
|
"pluginName": "rubick 系统菜单",
|
||||||
"description": "rubick 系统菜单",
|
"description": "rubick 系统菜单",
|
||||||
"main": "index.html",
|
"main": "index.html",
|
||||||
|
@ -52,9 +52,6 @@ const store = useStore();
|
|||||||
const init = () => store.dispatch("init");
|
const init = () => store.dispatch("init");
|
||||||
init();
|
init();
|
||||||
|
|
||||||
window.rubick.setSubInput((data: any) => {
|
|
||||||
console.log(data);
|
|
||||||
}, "插件市场");
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
* {
|
* {
|
||||||
|
393
package-lock.json
generated
393
package-lock.json
generated
@ -3118,6 +3118,42 @@
|
|||||||
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
|
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"abort-controller": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
|
||||||
|
"requires": {
|
||||||
|
"event-target-shim": "^5.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"abstract-leveldown": {
|
||||||
|
"version": "6.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz",
|
||||||
|
"integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==",
|
||||||
|
"requires": {
|
||||||
|
"buffer": "^5.5.0",
|
||||||
|
"immediate": "^3.2.3",
|
||||||
|
"level-concat-iterator": "~2.0.0",
|
||||||
|
"level-supports": "~1.0.0",
|
||||||
|
"xtend": "~4.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"buffer": {
|
||||||
|
"version": "5.7.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
|
||||||
|
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
|
||||||
|
"requires": {
|
||||||
|
"base64-js": "^1.3.1",
|
||||||
|
"ieee754": "^1.1.13"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"immediate": {
|
||||||
|
"version": "3.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz",
|
||||||
|
"integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"accepts": {
|
"accepts": {
|
||||||
"version": "1.3.7",
|
"version": "1.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
|
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
|
||||||
@ -3443,6 +3479,11 @@
|
|||||||
"sprintf-js": "~1.0.2"
|
"sprintf-js": "~1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"argsarray": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/argsarray/-/argsarray-0.0.1.tgz",
|
||||||
|
"integrity": "sha1-bnIHtOzbObCviDA/pa4ivajfYcs="
|
||||||
|
},
|
||||||
"arr-diff": {
|
"arr-diff": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
|
||||||
@ -5079,6 +5120,11 @@
|
|||||||
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
|
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"clone-buffer": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg="
|
||||||
|
},
|
||||||
"clone-response": {
|
"clone-response": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
|
||||||
@ -5561,8 +5607,7 @@
|
|||||||
"core-util-is": {
|
"core-util-is": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
|
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"cosmiconfig": {
|
"cosmiconfig": {
|
||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
@ -6178,6 +6223,15 @@
|
|||||||
"resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
|
||||||
"integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg=="
|
"integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg=="
|
||||||
},
|
},
|
||||||
|
"deferred-leveldown": {
|
||||||
|
"version": "5.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz",
|
||||||
|
"integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==",
|
||||||
|
"requires": {
|
||||||
|
"abstract-leveldown": "~6.2.1",
|
||||||
|
"inherits": "^2.0.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"define-properties": {
|
"define-properties": {
|
||||||
"version": "1.1.3",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
|
||||||
@ -6557,6 +6611,11 @@
|
|||||||
"integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
|
"integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"double-ended-queue": {
|
||||||
|
"version": "2.1.0-0",
|
||||||
|
"resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz",
|
||||||
|
"integrity": "sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw="
|
||||||
|
},
|
||||||
"duplexer": {
|
"duplexer": {
|
||||||
"version": "0.1.2",
|
"version": "0.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
|
||||||
@ -6993,6 +7052,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"encoding-down": {
|
||||||
|
"version": "6.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz",
|
||||||
|
"integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==",
|
||||||
|
"requires": {
|
||||||
|
"abstract-leveldown": "^6.2.1",
|
||||||
|
"inherits": "^2.0.3",
|
||||||
|
"level-codec": "^9.0.0",
|
||||||
|
"level-errors": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"end-of-stream": {
|
"end-of-stream": {
|
||||||
"version": "1.4.4",
|
"version": "1.4.4",
|
||||||
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
|
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
|
||||||
@ -7001,6 +7071,14 @@
|
|||||||
"once": "^1.4.0"
|
"once": "^1.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"end-stream": {
|
||||||
|
"version": "0.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/end-stream/-/end-stream-0.1.0.tgz",
|
||||||
|
"integrity": "sha1-MgA/P0OKKwFDFoE3+PpumGbIHtU=",
|
||||||
|
"requires": {
|
||||||
|
"write-stream": "~0.4.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"enhanced-resolve": {
|
"enhanced-resolve": {
|
||||||
"version": "4.5.0",
|
"version": "4.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
|
||||||
@ -7045,7 +7123,6 @@
|
|||||||
"version": "0.1.8",
|
"version": "0.1.8",
|
||||||
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
|
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
|
||||||
"integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
|
"integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"prr": "~1.0.1"
|
"prr": "~1.0.1"
|
||||||
}
|
}
|
||||||
@ -7440,6 +7517,11 @@
|
|||||||
"integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==",
|
"integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"event-target-shim": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="
|
||||||
|
},
|
||||||
"eventemitter3": {
|
"eventemitter3": {
|
||||||
"version": "4.0.7",
|
"version": "4.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
|
||||||
@ -7806,6 +7888,14 @@
|
|||||||
"pend": "~1.2.0"
|
"pend": "~1.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fetch-cookie": {
|
||||||
|
"version": "0.10.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-0.10.1.tgz",
|
||||||
|
"integrity": "sha512-beB+VEd4cNeVG1PY+ee74+PkuCQnik78pgLi5Ah/7qdUfov8IctU0vLUbBT8/10Ma5GMBeI4wtxhGrEfKNYs2g==",
|
||||||
|
"requires": {
|
||||||
|
"tough-cookie": "^2.3.3 || ^3.0.1 || ^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"figgy-pudding": {
|
"figgy-pudding": {
|
||||||
"version": "3.5.2",
|
"version": "3.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
|
||||||
@ -9109,8 +9199,7 @@
|
|||||||
"ieee754": {
|
"ieee754": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
|
||||||
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
|
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"iferr": {
|
"iferr": {
|
||||||
"version": "0.1.5",
|
"version": "0.1.5",
|
||||||
@ -10215,6 +10304,139 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"level": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/level/-/level-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-psRSqJZCsC/irNhfHzrVZbmPYXDcEYhA5TVNwr+V92jF44rbf86hqGp8fiT702FyiArScYIlPSBTDUASCVNSpw==",
|
||||||
|
"requires": {
|
||||||
|
"level-js": "^5.0.0",
|
||||||
|
"level-packager": "^5.1.0",
|
||||||
|
"leveldown": "^5.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level-codec": {
|
||||||
|
"version": "9.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz",
|
||||||
|
"integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==",
|
||||||
|
"requires": {
|
||||||
|
"buffer": "^5.6.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"buffer": {
|
||||||
|
"version": "5.7.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
|
||||||
|
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
|
||||||
|
"requires": {
|
||||||
|
"base64-js": "^1.3.1",
|
||||||
|
"ieee754": "^1.1.13"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level-concat-iterator": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw=="
|
||||||
|
},
|
||||||
|
"level-errors": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==",
|
||||||
|
"requires": {
|
||||||
|
"errno": "~0.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level-iterator-stream": {
|
||||||
|
"version": "4.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz",
|
||||||
|
"integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==",
|
||||||
|
"requires": {
|
||||||
|
"inherits": "^2.0.4",
|
||||||
|
"readable-stream": "^3.4.0",
|
||||||
|
"xtend": "^4.0.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "3.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
|
||||||
|
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
|
||||||
|
"requires": {
|
||||||
|
"inherits": "^2.0.3",
|
||||||
|
"string_decoder": "^1.1.1",
|
||||||
|
"util-deprecate": "^1.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level-js": {
|
||||||
|
"version": "5.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/level-js/-/level-js-5.0.2.tgz",
|
||||||
|
"integrity": "sha512-SnBIDo2pdO5VXh02ZmtAyPP6/+6YTJg2ibLtl9C34pWvmtMEmRTWpra+qO/hifkUtBTOtfx6S9vLDjBsBK4gRg==",
|
||||||
|
"requires": {
|
||||||
|
"abstract-leveldown": "~6.2.3",
|
||||||
|
"buffer": "^5.5.0",
|
||||||
|
"inherits": "^2.0.3",
|
||||||
|
"ltgt": "^2.1.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"buffer": {
|
||||||
|
"version": "5.7.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
|
||||||
|
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
|
||||||
|
"requires": {
|
||||||
|
"base64-js": "^1.3.1",
|
||||||
|
"ieee754": "^1.1.13"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level-packager": {
|
||||||
|
"version": "5.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz",
|
||||||
|
"integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==",
|
||||||
|
"requires": {
|
||||||
|
"encoding-down": "^6.3.0",
|
||||||
|
"levelup": "^4.3.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level-supports": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==",
|
||||||
|
"requires": {
|
||||||
|
"xtend": "^4.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level-write-stream": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/level-write-stream/-/level-write-stream-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-P3+7Z5pVE3wP6zA97nZuEu4Twdw=",
|
||||||
|
"requires": {
|
||||||
|
"end-stream": "~0.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"leveldown": {
|
||||||
|
"version": "5.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/leveldown/-/leveldown-5.6.0.tgz",
|
||||||
|
"integrity": "sha512-iB8O/7Db9lPaITU1aA2txU/cBEXAt4vWwKQRrrWuS6XDgbP4QZGj9BL2aNbwb002atoQ/lIotJkfyzz+ygQnUQ==",
|
||||||
|
"requires": {
|
||||||
|
"abstract-leveldown": "~6.2.1",
|
||||||
|
"napi-macros": "~2.0.0",
|
||||||
|
"node-gyp-build": "~4.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"levelup": {
|
||||||
|
"version": "4.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz",
|
||||||
|
"integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==",
|
||||||
|
"requires": {
|
||||||
|
"deferred-leveldown": "~5.3.0",
|
||||||
|
"level-errors": "~2.0.0",
|
||||||
|
"level-iterator-stream": "~4.0.0",
|
||||||
|
"level-supports": "~1.0.0",
|
||||||
|
"xtend": "~4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"levn": {
|
"levn": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
|
||||||
@ -10442,6 +10664,11 @@
|
|||||||
"yallist": "^3.0.2"
|
"yallist": "^3.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ltgt": {
|
||||||
|
"version": "2.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz",
|
||||||
|
"integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU="
|
||||||
|
},
|
||||||
"magic-string": {
|
"magic-string": {
|
||||||
"version": "0.25.7",
|
"version": "0.25.7",
|
||||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
|
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
|
||||||
@ -11037,6 +11264,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/nanopop/-/nanopop-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/nanopop/-/nanopop-2.1.0.tgz",
|
||||||
"integrity": "sha512-jGTwpFRexSH+fxappnGQtN9dspgE2ipa1aOjtR24igG0pv6JCxImIAmrLRHX+zUF5+1wtsFVbKyfP51kIGAVNw=="
|
"integrity": "sha512-jGTwpFRexSH+fxappnGQtN9dspgE2ipa1aOjtR24igG0pv6JCxImIAmrLRHX+zUF5+1wtsFVbKyfP51kIGAVNw=="
|
||||||
},
|
},
|
||||||
|
"napi-macros": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg=="
|
||||||
|
},
|
||||||
"native-request": {
|
"native-request": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/native-request/-/native-request-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/native-request/-/native-request-1.1.0.tgz",
|
||||||
@ -11083,12 +11315,22 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
|
"node-fetch": {
|
||||||
|
"version": "2.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
|
||||||
|
"integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
|
||||||
|
},
|
||||||
"node-forge": {
|
"node-forge": {
|
||||||
"version": "0.10.0",
|
"version": "0.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz",
|
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz",
|
||||||
"integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==",
|
"integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node-gyp-build": {
|
||||||
|
"version": "4.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz",
|
||||||
|
"integrity": "sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ=="
|
||||||
|
},
|
||||||
"node-ipc": {
|
"node-ipc": {
|
||||||
"version": "9.2.1",
|
"version": "9.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.2.1.tgz",
|
||||||
@ -12616,6 +12858,105 @@
|
|||||||
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
|
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"pouchdb": {
|
||||||
|
"version": "7.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/pouchdb/-/pouchdb-7.2.2.tgz",
|
||||||
|
"integrity": "sha512-5gf5nw5XH/2H/DJj8b0YkvG9fhA/4Jt6kL0Y8QjtztVjb1y4J19Rg4rG+fUbXu96gsUrlyIvZ3XfM0b4mogGmw==",
|
||||||
|
"requires": {
|
||||||
|
"abort-controller": "3.0.0",
|
||||||
|
"argsarray": "0.0.1",
|
||||||
|
"buffer-from": "1.1.1",
|
||||||
|
"clone-buffer": "1.0.0",
|
||||||
|
"double-ended-queue": "2.1.0-0",
|
||||||
|
"fetch-cookie": "0.10.1",
|
||||||
|
"immediate": "3.3.0",
|
||||||
|
"inherits": "2.0.4",
|
||||||
|
"level": "6.0.1",
|
||||||
|
"level-codec": "9.0.2",
|
||||||
|
"level-write-stream": "1.0.0",
|
||||||
|
"leveldown": "5.6.0",
|
||||||
|
"levelup": "4.4.0",
|
||||||
|
"ltgt": "2.2.1",
|
||||||
|
"node-fetch": "2.6.0",
|
||||||
|
"readable-stream": "1.1.14",
|
||||||
|
"spark-md5": "3.0.1",
|
||||||
|
"through2": "3.0.2",
|
||||||
|
"uuid": "8.1.0",
|
||||||
|
"vuvuzela": "1.0.3"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"buffer-from": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
|
||||||
|
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
|
||||||
|
},
|
||||||
|
"immediate": {
|
||||||
|
"version": "3.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz",
|
||||||
|
"integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q=="
|
||||||
|
},
|
||||||
|
"isarray": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||||
|
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
|
||||||
|
},
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "1.1.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
|
||||||
|
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
|
||||||
|
"requires": {
|
||||||
|
"core-util-is": "~1.0.0",
|
||||||
|
"inherits": "~2.0.1",
|
||||||
|
"isarray": "0.0.1",
|
||||||
|
"string_decoder": "~0.10.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"safe-buffer": {
|
||||||
|
"version": "5.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||||
|
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
|
||||||
|
},
|
||||||
|
"string_decoder": {
|
||||||
|
"version": "0.10.31",
|
||||||
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||||
|
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
|
||||||
|
},
|
||||||
|
"through2": {
|
||||||
|
"version": "3.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
|
||||||
|
"integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
|
||||||
|
"requires": {
|
||||||
|
"inherits": "^2.0.4",
|
||||||
|
"readable-stream": "2 || 3"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "3.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
|
||||||
|
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
|
||||||
|
"requires": {
|
||||||
|
"inherits": "^2.0.3",
|
||||||
|
"string_decoder": "^1.1.1",
|
||||||
|
"util-deprecate": "^1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"string_decoder": {
|
||||||
|
"version": "1.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
||||||
|
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
|
||||||
|
"requires": {
|
||||||
|
"safe-buffer": "~5.2.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uuid": {
|
||||||
|
"version": "8.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.1.0.tgz",
|
||||||
|
"integrity": "sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"prelude-ls": {
|
"prelude-ls": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
|
||||||
@ -12705,8 +13046,7 @@
|
|||||||
"prr": {
|
"prr": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
|
||||||
"integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
|
"integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"pseudomap": {
|
"pseudomap": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
@ -12717,8 +13057,7 @@
|
|||||||
"psl": {
|
"psl": {
|
||||||
"version": "1.8.0",
|
"version": "1.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
|
||||||
"integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
|
"integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"public-encrypt": {
|
"public-encrypt": {
|
||||||
"version": "4.0.3",
|
"version": "4.0.3",
|
||||||
@ -13415,8 +13754,7 @@
|
|||||||
"safe-buffer": {
|
"safe-buffer": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"safe-regex": {
|
"safe-regex": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
@ -14057,6 +14395,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
|
"resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
|
||||||
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
|
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
|
||||||
},
|
},
|
||||||
|
"spark-md5": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-0tF3AGSD1ppQeuffsLDIOWlKUd3lS92tFxcsrh5Pe3ZphhnoK+oXIBTzOAThZCiuINZLvpiLH/1VS1/ANEJVig=="
|
||||||
|
},
|
||||||
"spdx-correct": {
|
"spdx-correct": {
|
||||||
"version": "3.1.1",
|
"version": "3.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
|
||||||
@ -14317,7 +14660,6 @@
|
|||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"safe-buffer": "~5.1.0"
|
"safe-buffer": "~5.1.0"
|
||||||
}
|
}
|
||||||
@ -14868,7 +15210,6 @@
|
|||||||
"version": "2.5.0",
|
"version": "2.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
|
||||||
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
|
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"psl": "^1.1.28",
|
"psl": "^1.1.28",
|
||||||
"punycode": "^2.1.1"
|
"punycode": "^2.1.1"
|
||||||
@ -15514,8 +15855,7 @@
|
|||||||
"util-deprecate": {
|
"util-deprecate": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
|
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"util.promisify": {
|
"util.promisify": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
@ -16128,6 +16468,11 @@
|
|||||||
"@vue/devtools-api": "^6.0.0-beta.11"
|
"@vue/devtools-api": "^6.0.0-beta.11"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"vuvuzela": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/vuvuzela/-/vuvuzela-1.0.3.tgz",
|
||||||
|
"integrity": "sha1-O+FF5YJxxzylUnndhR8SpoIRSws="
|
||||||
|
},
|
||||||
"warning": {
|
"warning": {
|
||||||
"version": "4.0.3",
|
"version": "4.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
|
||||||
@ -16966,6 +17311,21 @@
|
|||||||
"typedarray-to-buffer": "^3.1.5"
|
"typedarray-to-buffer": "^3.1.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"write-stream": {
|
||||||
|
"version": "0.4.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/write-stream/-/write-stream-0.4.3.tgz",
|
||||||
|
"integrity": "sha1-g8yMA0fQr2BXqThitOOuAd5cgcE=",
|
||||||
|
"requires": {
|
||||||
|
"readable-stream": "~0.0.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "0.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-0.0.4.tgz",
|
||||||
|
"integrity": "sha1-8y124/uGM0SlSNeZIwBxc2ZbO40="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"ws": {
|
"ws": {
|
||||||
"version": "6.2.2",
|
"version": "6.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz",
|
||||||
@ -16989,8 +17349,7 @@
|
|||||||
"xtend": {
|
"xtend": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||||
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
|
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"y18n": {
|
"y18n": {
|
||||||
"version": "4.0.3",
|
"version": "4.0.3",
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
"got": "^11.8.3",
|
"got": "^11.8.3",
|
||||||
"libnpmsearch": "^3.1.2",
|
"libnpmsearch": "^3.1.2",
|
||||||
"lodash.throttle": "^4.1.1",
|
"lodash.throttle": "^4.1.1",
|
||||||
|
"pouchdb": "^7.2.2",
|
||||||
"vue": "^3.0.0",
|
"vue": "^3.0.0",
|
||||||
"vue-router": "^4.0.0-0",
|
"vue-router": "^4.0.0-0",
|
||||||
"vuex": "^4.0.0-0",
|
"vuex": "^4.0.0-0",
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
const {ipcRenderer} = require("electron");
|
const { ipcRenderer, shell } = require("electron");
|
||||||
|
const os = require("os");
|
||||||
|
|
||||||
const ipcSendSync = (type, data) => {
|
const ipcSendSync = (type, data) => {
|
||||||
const returnValue = ipcRenderer.sendSync("msg-trigger", {
|
const returnValue = ipcRenderer.sendSync("msg-trigger", {
|
||||||
@ -9,11 +10,18 @@ const ipcSendSync = (type, data) => {
|
|||||||
return returnValue;
|
return returnValue;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const ipcSend = (type, data) => {
|
||||||
|
ipcRenderer.send("msg-trigger", {
|
||||||
|
type,
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
window.rubick = {
|
window.rubick = {
|
||||||
hooks: {},
|
hooks: {},
|
||||||
// 事件
|
// 事件
|
||||||
onPluginEnter(cb) {
|
onPluginEnter(cb) {
|
||||||
console.log(window.rubick.hooks)
|
console.log(window.rubick.hooks);
|
||||||
typeof cb === "function" && (window.rubick.hooks.onPluginEnter = cb);
|
typeof cb === "function" && (window.rubick.hooks.onPluginEnter = cb);
|
||||||
},
|
},
|
||||||
onPluginReady(cb) {
|
onPluginReady(cb) {
|
||||||
@ -24,9 +32,9 @@ window.rubick = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
// 窗口交互
|
// 窗口交互
|
||||||
hideMainWindow() {
|
// hideMainWindow() {
|
||||||
ipcSendSync("hideMainWindow");
|
// ipcSendSync("hideMainWindow");
|
||||||
},
|
// },
|
||||||
showMainWindow() {
|
showMainWindow() {
|
||||||
ipcSendSync("showMainWindow");
|
ipcSendSync("showMainWindow");
|
||||||
},
|
},
|
||||||
@ -44,4 +52,66 @@ window.rubick = {
|
|||||||
isFocus,
|
isFocus,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
removeSubInput() {
|
||||||
|
delete window.rubick.hooks.onSubInputChange;
|
||||||
|
ipcSendSync("removeSubInput");
|
||||||
|
},
|
||||||
|
setSubInputValue(text) {
|
||||||
|
ipcSendSync("setSubInputValue", { text });
|
||||||
|
},
|
||||||
|
getPath(name) {
|
||||||
|
return ipcSendSync("getPath", { name });
|
||||||
|
},
|
||||||
|
showNotification(body, clickFeatureCode) {
|
||||||
|
ipcSend("showNotification", { body, clickFeatureCode });
|
||||||
|
},
|
||||||
|
copyImage(img) {
|
||||||
|
return ipcSendSync("copyImage", { img });
|
||||||
|
},
|
||||||
|
copyText(text) {
|
||||||
|
return ipcSendSync("copyText", { text });
|
||||||
|
},
|
||||||
|
copyFile: (file) => {
|
||||||
|
return ipcSendSync("copyFile", { file })
|
||||||
|
},
|
||||||
|
db: {
|
||||||
|
put: (data) => ipcSendSync("dbPut", { data }),
|
||||||
|
get: (id) => ipcSendSync("dbGet", { id }),
|
||||||
|
remove: (doc) => ipcSendSync("dbRemove", { doc }),
|
||||||
|
bulkDocs: (docs) => ipcSendSync("dbBulkDocs", { docs }),
|
||||||
|
allDocs: (key) => ipcSendSync("dbAllDocs", { key }),
|
||||||
|
},
|
||||||
|
isDarkColors() {
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
getFeatures() {
|
||||||
|
return ipcSendSync("getFeatures");
|
||||||
|
},
|
||||||
|
setFeature(feature) {
|
||||||
|
return ipcSendSync("setFeature", { feature });
|
||||||
|
},
|
||||||
|
removeFeature(code) {
|
||||||
|
return ipcSendSync("removeFeature", { code });
|
||||||
|
},
|
||||||
|
|
||||||
|
// 系统
|
||||||
|
shellOpenExternal(url) {
|
||||||
|
shell.openExternal(url);
|
||||||
|
},
|
||||||
|
|
||||||
|
isMacOs() {
|
||||||
|
return os.type() === "Darwin";
|
||||||
|
},
|
||||||
|
|
||||||
|
isWindows() {
|
||||||
|
return os.type() === "Windows_NT";
|
||||||
|
},
|
||||||
|
|
||||||
|
isLinux() {
|
||||||
|
return os.type() === "Linux";
|
||||||
|
},
|
||||||
|
|
||||||
|
shellOpenPath(path) {
|
||||||
|
shell.openPath(path);
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
@ -40,9 +40,23 @@ global.LOCAL_PLUGINS = {
|
|||||||
});
|
});
|
||||||
if (!has) {
|
if (!has) {
|
||||||
global.LOCAL_PLUGINS.PLUGINS.unshift(plugin);
|
global.LOCAL_PLUGINS.PLUGINS.unshift(plugin);
|
||||||
fs.writeFileSync(configPath, JSON.stringify(global.LOCAL_PLUGINS.PLUGINS));
|
fs.writeFileSync(
|
||||||
|
configPath,
|
||||||
|
JSON.stringify(global.LOCAL_PLUGINS.PLUGINS)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
updatePlugin(plugin) {
|
||||||
|
global.LOCAL_PLUGINS.PLUGINS = global.LOCAL_PLUGINS.PLUGINS.map(
|
||||||
|
(origin) => {
|
||||||
|
if (origin.name === plugin.name) {
|
||||||
|
return plugin;
|
||||||
|
}
|
||||||
|
return origin;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
fs.writeFileSync(configPath, JSON.stringify(global.LOCAL_PLUGINS.PLUGINS));
|
||||||
|
},
|
||||||
async deletePlugin(plugin) {
|
async deletePlugin(plugin) {
|
||||||
await pluginInstance.uninstall([plugin.name]);
|
await pluginInstance.uninstall([plugin.name]);
|
||||||
global.LOCAL_PLUGINS.PLUGINS = global.LOCAL_PLUGINS.PLUGINS.filter((p) => plugin.name !== p.name);
|
global.LOCAL_PLUGINS.PLUGINS = global.LOCAL_PLUGINS.PLUGINS.filter((p) => plugin.name !== p.name);
|
||||||
|
3
src/core/@types/index.d.ts
vendored
3
src/core/@types/index.d.ts
vendored
@ -11,4 +11,7 @@ declare module "@ts-type/package-dts/package-json" {
|
|||||||
IDependency
|
IDependency
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
declare module "pouchdb";
|
||||||
|
|
||||||
declare module "*.types";
|
declare module "*.types";
|
||||||
|
170
src/core/db/index.ts
Normal file
170
src/core/db/index.ts
Normal file
@ -0,0 +1,170 @@
|
|||||||
|
import path from "path";
|
||||||
|
import fs from "fs";
|
||||||
|
import PouchDB from "pouchdb";
|
||||||
|
|
||||||
|
import { DBError, Doc, DocRes } from "./types";
|
||||||
|
|
||||||
|
export default class {
|
||||||
|
readonly docMaxByteLength;
|
||||||
|
readonly docAttachmentMaxByteLength;
|
||||||
|
public dbpath;
|
||||||
|
public defaultDbName;
|
||||||
|
public pouchDB: any;
|
||||||
|
|
||||||
|
constructor(dbPath: string) {
|
||||||
|
this.docMaxByteLength = 2 * 1024 * 1024; // 2M
|
||||||
|
this.docAttachmentMaxByteLength = 20 * 1024 * 1024; // 20M
|
||||||
|
this.dbpath = dbPath;
|
||||||
|
this.defaultDbName = path.join(dbPath, "default");
|
||||||
|
}
|
||||||
|
|
||||||
|
init(): void {
|
||||||
|
fs.existsSync(this.dbpath) || fs.mkdirSync(this.dbpath);
|
||||||
|
this.pouchDB = new PouchDB(this.defaultDbName, { auto_compaction: true });
|
||||||
|
}
|
||||||
|
|
||||||
|
getDocId(name: string, id: string): string {
|
||||||
|
return name + "/" + id;
|
||||||
|
}
|
||||||
|
|
||||||
|
replaceDocId(name: string, id: string): string {
|
||||||
|
return id.replace(name + "/", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
errorInfo(name: string, message: string): DBError {
|
||||||
|
return { error: true, name, message };
|
||||||
|
}
|
||||||
|
|
||||||
|
private checkDocSize(doc: Doc<any>) {
|
||||||
|
if (Buffer.byteLength(JSON.stringify(doc)) > this.docMaxByteLength) {
|
||||||
|
return this.errorInfo(
|
||||||
|
"exception",
|
||||||
|
`doc max size ${this.docMaxByteLength / 1024 / 1024} M`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
async put(
|
||||||
|
name: string,
|
||||||
|
doc: Doc<any>,
|
||||||
|
strict = true
|
||||||
|
): Promise<DBError | DocRes> {
|
||||||
|
if (strict) {
|
||||||
|
const err = this.checkDocSize(doc);
|
||||||
|
if (err) return err;
|
||||||
|
}
|
||||||
|
doc._id = this.getDocId(name, doc._id);
|
||||||
|
try {
|
||||||
|
const result: DocRes = await this.pouchDB.put(doc);
|
||||||
|
doc._id = result.id = this.replaceDocId(name, result.id);
|
||||||
|
return result;
|
||||||
|
} catch (e: any) {
|
||||||
|
doc._id = this.replaceDocId(name, doc._id);
|
||||||
|
return { id: doc._id, name: e.name, error: !0, message: e.message };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async get(name: string, id: string): Promise<DocRes | null> {
|
||||||
|
try {
|
||||||
|
const result: DocRes = await this.pouchDB.get(this.getDocId(name, id));
|
||||||
|
result._id = this.replaceDocId(name, result._id);
|
||||||
|
return result;
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async remove(name: string, doc: Doc<any> | string) {
|
||||||
|
try {
|
||||||
|
let target;
|
||||||
|
if ("object" == typeof doc) {
|
||||||
|
target = doc;
|
||||||
|
if (!target._id || "string" !== typeof target._id) {
|
||||||
|
return this.errorInfo("exception", "doc _id error");
|
||||||
|
}
|
||||||
|
target._id = this.getDocId(name, target._id);
|
||||||
|
} else {
|
||||||
|
if ("string" !== typeof doc) {
|
||||||
|
return this.errorInfo("exception", "param error");
|
||||||
|
}
|
||||||
|
target = await this.pouchDB.get(this.getDocId(name, doc));
|
||||||
|
}
|
||||||
|
const result: DocRes = await this.pouchDB.remove(target);
|
||||||
|
target._id = result.id = this.replaceDocId(name, result.id);
|
||||||
|
return result;
|
||||||
|
} catch (e: any) {
|
||||||
|
if ("object" === typeof doc) {
|
||||||
|
doc._id = this.replaceDocId(name, doc._id);
|
||||||
|
}
|
||||||
|
return this.errorInfo(e.name, e.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async bulkDocs(name: string, docs: Array<Doc<any>>): Promise<DBError | Array<DocRes>> {
|
||||||
|
let result;
|
||||||
|
try {
|
||||||
|
if (!Array.isArray(docs)) return this.errorInfo("exception", "not array");
|
||||||
|
if (docs.find((e) => !e._id))
|
||||||
|
return this.errorInfo("exception", "doc not _id field");
|
||||||
|
if (new Set(docs.map((e) => e._id)).size !== docs.length)
|
||||||
|
return this.errorInfo("exception", "_id value exists as");
|
||||||
|
for (const doc of docs) {
|
||||||
|
const err = this.checkDocSize(doc);
|
||||||
|
if (err) return err;
|
||||||
|
doc._id = this.getDocId(name, doc._id)
|
||||||
|
}
|
||||||
|
result = await this.pouchDB.bulkDocs(docs);
|
||||||
|
result = result.map((res: any) => {
|
||||||
|
res.id = this.replaceDocId(name, res.id);
|
||||||
|
return res.error
|
||||||
|
? {
|
||||||
|
id: res.id,
|
||||||
|
name: res.name,
|
||||||
|
error: true,
|
||||||
|
message: res.message
|
||||||
|
}
|
||||||
|
: res;
|
||||||
|
});
|
||||||
|
docs.forEach((doc) => {
|
||||||
|
doc._id = this.replaceDocId(name, doc._id)
|
||||||
|
});
|
||||||
|
} catch (e) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
async allDocs(name: string, key: string | Array<string>): Promise<DBError | Array<DocRes>> {
|
||||||
|
const config: any = { include_docs: true };
|
||||||
|
if (key) {
|
||||||
|
if ("string" == typeof key) {
|
||||||
|
config.startkey = this.getDocId(name, key);
|
||||||
|
config.endkey = config.startkey + "";
|
||||||
|
} else {
|
||||||
|
if (!Array.isArray(key))
|
||||||
|
return this.errorInfo(
|
||||||
|
"exception",
|
||||||
|
"param only key(string) or keys(Array[string])"
|
||||||
|
);
|
||||||
|
config.keys = key.map((key) => this.getDocId(name, key));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
config.startkey = this.getDocId(name, "");
|
||||||
|
config.endkey = config.startkey + "";
|
||||||
|
}
|
||||||
|
const result: Array<any> = [];
|
||||||
|
try {
|
||||||
|
(await this.pouchDB.allDocs(config)).rows.forEach((res: any) => {
|
||||||
|
if (!res.error && res.doc) {
|
||||||
|
res.doc._id = this.replaceDocId(name, res.doc._id);
|
||||||
|
result.push(res.doc);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (e) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
36
src/core/db/types.ts
Normal file
36
src/core/db/types.ts
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
type RevisionId = string;
|
||||||
|
|
||||||
|
// todo 附件和索引
|
||||||
|
export interface Doc<T> {
|
||||||
|
_id: string;
|
||||||
|
data: T;
|
||||||
|
_rev?: RevisionId;
|
||||||
|
_attachments?: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DocRes {
|
||||||
|
id: string;
|
||||||
|
ok: boolean;
|
||||||
|
rev: RevisionId;
|
||||||
|
_id: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DBError {
|
||||||
|
/**
|
||||||
|
* HTTP Status Code during HTTP or HTTP-like operations
|
||||||
|
*/
|
||||||
|
status?: number | undefined;
|
||||||
|
name?: string | undefined;
|
||||||
|
message?: string | undefined;
|
||||||
|
reason?: string | undefined;
|
||||||
|
error?: string | boolean | undefined;
|
||||||
|
id?: string | undefined;
|
||||||
|
rev?: RevisionId | undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AllDocsOptions {
|
||||||
|
include_docs?: boolean;
|
||||||
|
startkey?: string;
|
||||||
|
endkey?: string;
|
||||||
|
keys?: string[];
|
||||||
|
}
|
@ -1,7 +1,9 @@
|
|||||||
import appSearch from "@/core/app-search";
|
import appSearch from "@/core/app-search";
|
||||||
import PluginHandler from "@/core/plugin-handler";
|
import PluginHandler from "@/core/plugin-handler";
|
||||||
|
import LocalDb from "@/core/db";
|
||||||
|
|
||||||
export {
|
export {
|
||||||
appSearch,
|
appSearch,
|
||||||
PluginHandler,
|
PluginHandler,
|
||||||
|
LocalDb,
|
||||||
};
|
};
|
||||||
|
@ -12,9 +12,10 @@ export default () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const createView = (plugin, window: BrowserWindow) => {
|
const createView = (plugin, window: BrowserWindow) => {
|
||||||
const preload = commonConst.dev()
|
const preload =
|
||||||
|
commonConst.dev() && plugin.name === "rubick-system-feature"
|
||||||
? path.resolve(__static, `../feature/public/preload.js`)
|
? path.resolve(__static, `../feature/public/preload.js`)
|
||||||
: path.resolve(plugin.indexPath, `../`, plugin.preload);
|
: path.resolve(plugin.indexPath.replace("file:", ""), `../`, plugin.preload);
|
||||||
|
|
||||||
const ses = session.fromPartition("<" + plugin.name + ">");
|
const ses = session.fromPartition("<" + plugin.name + ">");
|
||||||
ses.setPreloads([`${__static}/preload.js`]);
|
ses.setPreloads([`${__static}/preload.js`]);
|
||||||
@ -54,6 +55,7 @@ export default () => {
|
|||||||
const getView = () => view;
|
const getView = () => view;
|
||||||
|
|
||||||
const executeHooks = (hook, data) => {
|
const executeHooks = (hook, data) => {
|
||||||
|
if (!view) return;
|
||||||
const evalJs = `if(window.rubick && window.rubick.hooks && typeof window.rubick.hooks.on${hook} === 'function' ) {
|
const evalJs = `if(window.rubick && window.rubick.hooks && typeof window.rubick.hooks.on${hook} === 'function' ) {
|
||||||
try {
|
try {
|
||||||
window.rubick.hooks.on${hook}(${data ? JSON.stringify(data) : ""});
|
window.rubick.hooks.on${hook}(${data ? JSON.stringify(data) : ""});
|
||||||
|
@ -1,20 +1,30 @@
|
|||||||
import { BrowserWindow, ipcMain, dialog, webContents } from "electron";
|
import {
|
||||||
|
BrowserWindow,
|
||||||
|
ipcMain,
|
||||||
|
dialog,
|
||||||
|
app,
|
||||||
|
Notification,
|
||||||
|
nativeImage,
|
||||||
|
clipboard,
|
||||||
|
} from "electron";
|
||||||
import { runner } from "../browsers";
|
import { runner } from "../browsers";
|
||||||
|
import path from "path";
|
||||||
|
import fs from "fs";
|
||||||
|
import { LocalDb } from "@/core";
|
||||||
|
import plist from "plist";
|
||||||
|
|
||||||
const runnerInstance = runner();
|
const runnerInstance = runner();
|
||||||
|
const dbInstance = new LocalDb(app.getPath("userData"));
|
||||||
|
|
||||||
function getWorkWebContentsBySender(sender, mainWindow) {
|
dbInstance.init();
|
||||||
const window = BrowserWindow.fromWebContents(sender);
|
|
||||||
console.log(window);
|
|
||||||
|
|
||||||
if (!window) return null;
|
|
||||||
return window.webContents;
|
|
||||||
}
|
|
||||||
|
|
||||||
const API: any = {
|
const API: any = {
|
||||||
|
currentPlugin: null,
|
||||||
|
DBKEY: "RUBICK_DB_DEFAULT",
|
||||||
openPlugin({ plugin }, window) {
|
openPlugin({ plugin }, window) {
|
||||||
runnerInstance.removeView(window);
|
runnerInstance.removeView(window);
|
||||||
runnerInstance.init(plugin, window);
|
runnerInstance.init(plugin, window);
|
||||||
|
API.currentPlugin = plugin;
|
||||||
},
|
},
|
||||||
removePlugin(e, window) {
|
removePlugin(e, window) {
|
||||||
runnerInstance.removeView(window);
|
runnerInstance.removeView(window);
|
||||||
@ -42,6 +52,103 @@ const API: any = {
|
|||||||
sendSubInputChangeEvent({ data }) {
|
sendSubInputChangeEvent({ data }) {
|
||||||
runnerInstance.executeHooks("SubInputChange", data);
|
runnerInstance.executeHooks("SubInputChange", data);
|
||||||
},
|
},
|
||||||
|
removeSubInput(e, window) {
|
||||||
|
window.webContents.executeJavaScript(`window.removeSubInput()`);
|
||||||
|
},
|
||||||
|
setSubInputValue({ data }, window) {
|
||||||
|
window.webContents.executeJavaScript(
|
||||||
|
`window.setSubInputValue(${JSON.stringify({
|
||||||
|
value: data.text,
|
||||||
|
})})`
|
||||||
|
);
|
||||||
|
},
|
||||||
|
getPath({ data }) {
|
||||||
|
return app.getPath(data.name);
|
||||||
|
},
|
||||||
|
showNotification({ data: { body } }) {
|
||||||
|
if (!Notification.isSupported()) return;
|
||||||
|
"string" != typeof body && (body = String(body));
|
||||||
|
const plugin = API.currentPlugin;
|
||||||
|
if (!plugin) return;
|
||||||
|
const notify = new Notification({
|
||||||
|
title: plugin.pluginName,
|
||||||
|
body,
|
||||||
|
icon: plugin.logo,
|
||||||
|
});
|
||||||
|
notify.show();
|
||||||
|
},
|
||||||
|
copyImage: ({ data }) => {
|
||||||
|
const image = nativeImage.createFromDataURL(data.img);
|
||||||
|
clipboard.writeImage(image);
|
||||||
|
},
|
||||||
|
copyText({ data }) {
|
||||||
|
clipboard.writeText(String(data.text));
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
copyFile: ({ data }) => {
|
||||||
|
if (data.file && fs.existsSync(data.file)) {
|
||||||
|
clipboard.writeBuffer(
|
||||||
|
"NSFilenamesPboardType",
|
||||||
|
Buffer.from(plist.build([data.file]))
|
||||||
|
);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
dbPut({ data }) {
|
||||||
|
return dbInstance.put(API.DBKEY, data.data);
|
||||||
|
},
|
||||||
|
dbGet({ data }) {
|
||||||
|
return dbInstance.get(API.DBKEY, data.id);
|
||||||
|
},
|
||||||
|
dbRemove({ data }) {
|
||||||
|
return dbInstance.remove(API.DBKEY, data.doc);
|
||||||
|
},
|
||||||
|
dbBulkDocs({ data }) {
|
||||||
|
return dbInstance.bulkDocs(API.DBKEY, data.docs);
|
||||||
|
},
|
||||||
|
dbAllDocs({ data }) {
|
||||||
|
return dbInstance.bulkDocs(API.DBKEY, data.key);
|
||||||
|
},
|
||||||
|
getFeatures() {
|
||||||
|
return API.currentPlugin.features;
|
||||||
|
},
|
||||||
|
setFeature({ data }, window) {
|
||||||
|
API.currentPlugin = {
|
||||||
|
...API.currentPlugin,
|
||||||
|
features: (() => {
|
||||||
|
let has = false;
|
||||||
|
API.currentPlugin.features.some((feature) => {
|
||||||
|
has = feature.code === data.feature.code;
|
||||||
|
return has;
|
||||||
|
});
|
||||||
|
if (!has) {
|
||||||
|
return [...API.currentPlugin.features, data.feature];
|
||||||
|
}
|
||||||
|
return API.currentPlugin.features;
|
||||||
|
})(),
|
||||||
|
};
|
||||||
|
window.webContents.executeJavaScript(
|
||||||
|
`window.updatePlugin(${JSON.stringify({
|
||||||
|
currentPlugin: API.currentPlugin,
|
||||||
|
})})`
|
||||||
|
);
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
removeFeature({ data }, window) {
|
||||||
|
API.currentPlugin = {
|
||||||
|
...API.currentPlugin,
|
||||||
|
features: API.currentPlugin.features.filter(
|
||||||
|
(feature) => feature.code !== data.code
|
||||||
|
),
|
||||||
|
};
|
||||||
|
window.webContents.executeJavaScript(
|
||||||
|
`window.updatePlugin(${JSON.stringify({
|
||||||
|
currentPlugin: API.currentPlugin,
|
||||||
|
})})`
|
||||||
|
);
|
||||||
|
return true;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default (mainWindow: BrowserWindow) => {
|
export default (mainWindow: BrowserWindow) => {
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { watch, ref, nextTick, toRaw } from "vue";
|
import { watch, ref, nextTick, toRaw } from "vue";
|
||||||
import { ipcRenderer } from "electron";
|
import { ipcRenderer, remote } from "electron";
|
||||||
import Result from "./components/result.vue";
|
import Result from "./components/result.vue";
|
||||||
import Search from "./components/search.vue";
|
import Search from "./components/search.vue";
|
||||||
import getWindowHeight from "../common/utils/getWindowHeight";
|
import getWindowHeight from "../common/utils/getWindowHeight";
|
||||||
@ -51,6 +51,7 @@ getPluginInfo({
|
|||||||
pluginPath: `${__static}/feature/package.json`,
|
pluginPath: `${__static}/feature/package.json`,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
menuPluginInfo.value = res;
|
menuPluginInfo.value = res;
|
||||||
|
remote.getGlobal("LOCAL_PLUGINS").addPlugin(res);
|
||||||
});
|
});
|
||||||
|
|
||||||
watch([searchValue], () => {
|
watch([searchValue], () => {
|
||||||
|
@ -80,6 +80,10 @@ const createPluginManager = (): any => {
|
|||||||
const removePlugin = (plugin: any) => {
|
const removePlugin = (plugin: any) => {
|
||||||
// todo
|
// todo
|
||||||
};
|
};
|
||||||
|
window.updatePlugin = ({ currentPlugin }: any) => {
|
||||||
|
state.currentPlugin = currentPlugin;
|
||||||
|
remote.getGlobal("LOCAL_PLUGINS").updatePlugin(currentPlugin);
|
||||||
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { reactive, toRefs } from "vue";
|
import { reactive, toRefs } from "vue";
|
||||||
import {ipcRenderer} from "electron";
|
import { ipcRenderer, remote } from "electron";
|
||||||
|
|
||||||
const searchManager = () => {
|
const searchManager = () => {
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
@ -24,6 +24,12 @@ const searchManager = () => {
|
|||||||
window.setSubInput = ({ placeholder }: { placeholder: string }) => {
|
window.setSubInput = ({ placeholder }: { placeholder: string }) => {
|
||||||
state.placeholder = placeholder;
|
state.placeholder = placeholder;
|
||||||
};
|
};
|
||||||
|
window.removeSubInput = () => {
|
||||||
|
state.placeholder = "";
|
||||||
|
};
|
||||||
|
window.setSubInputValue = ({ value }: { value: string }) => {
|
||||||
|
state.searchValue = value;
|
||||||
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
|
3
src/renderer/shims-vue.d.ts
vendored
3
src/renderer/shims-vue.d.ts
vendored
@ -15,4 +15,7 @@ declare module 'lodash.throttle'
|
|||||||
|
|
||||||
interface Window {
|
interface Window {
|
||||||
setSubInput: ({ placeholder }: { placeholder: string }) => void;
|
setSubInput: ({ placeholder }: { placeholder: string }) => void;
|
||||||
|
setSubInputValue: ({ value }: { value: string }) => void;
|
||||||
|
removeSubInput: () => void;
|
||||||
|
updatePlugin: (plugin: any) => void;
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,9 @@ module.exports = {
|
|||||||
nodeIntegration: true,
|
nodeIntegration: true,
|
||||||
mainProcessFile: "src/main/index.ts",
|
mainProcessFile: "src/main/index.ts",
|
||||||
mainProcessWatch: ["src/main"],
|
mainProcessWatch: ["src/main"],
|
||||||
|
externals: [
|
||||||
|
'pouchdb'
|
||||||
|
],
|
||||||
// Use this to change the entry point of your app's render process. default src/[main|index].[js|ts]
|
// Use this to change the entry point of your app's render process. default src/[main|index].[js|ts]
|
||||||
builderOptions: {
|
builderOptions: {
|
||||||
productName: "rubick2",
|
productName: "rubick2",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user