Compare commits

...

2 Commits

Author SHA1 Message Date
Starbeamrainbowlabs 0f37853aba
ChartStackedBar: implement, but make it a simple unlabelled bar.
We can put the legend elsewhere, and manage multiple bars with a CSS 
grid or something.
2022-05-07 01:32:04 +01:00
Starbeamrainbowlabs 0e2f68a067
Update dependencies 2022-05-07 01:31:19 +01:00
3 changed files with 275 additions and 247 deletions

429
package-lock.json generated
View File

@ -10,25 +10,24 @@
"license": "MPL-2.0",
"dependencies": {
"@ltd/j-toml": "^1.30.0",
"applause-cli": "^1.8.0",
"applause-cli": "^1.8.1",
"jpake": "^1.0.1",
"mime": "^3.0.0",
"p-queue": "^7.2.0",
"p-reflect": "^3.0.0",
"p-retry": "^5.1.0",
"powahroot": "^1.2.5",
"p-retry": "^5.1.1",
"powahroot": "^1.2.6",
"pretty-ms": "^7.0.1",
"systeminformation": "^5.11.9",
"systeminformation": "^5.11.14",
"tweetnacl": "^1.0.3"
},
"devDependencies": {
"@svgdotjs/svg.js": "^3.1.2",
"@types/mime": "^2.0.3",
"emel": "^2.5.1",
"esbuild": "^0.14.30",
"esbuild": "^0.14.38",
"fork-awesome": "^1.2.0",
"nightink": "^1.0.1",
"svg.js": "^2.7.1"
"nightink": "^1.0.1"
}
},
"node_modules/@emmetio/abbreviation": {
@ -78,14 +77,14 @@
"integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g=="
},
"node_modules/applause-cli": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/applause-cli/-/applause-cli-1.8.0.tgz",
"integrity": "sha512-MyDPPI0z1CLH4TeLUap4VWie+kx3wL4IemJZoh1387o+4HqzADPGCjYCTIOogXGIqRqpbNisg2/4rdcUX/++lA=="
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/applause-cli/-/applause-cli-1.8.1.tgz",
"integrity": "sha512-ayN8TdWe69sDXRDNEKSUx7pO71XvVXd+v/bRWRCAbYwt2W82boA0NWQ/khfWJz4sXIWRY4tQIM2dsdYxj2s6ag=="
},
"node_modules/cookie": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
"integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
"integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
"engines": {
"node": ">= 0.6"
}
@ -105,9 +104,9 @@
}
},
"node_modules/esbuild": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.30.tgz",
"integrity": "sha512-wCecQSBkIjp2xjuXY+wcXS/PpOQo9rFh4NAKPh4Pm9f3fuLcnxkR0rDzA+mYP88FtXIUcXUyYmaIgfrzRl55jA==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.38.tgz",
"integrity": "sha512-12fzJ0fsm7gVZX1YQ1InkOE5f9Tl7cgf6JPYXRJtPIoE0zkWAbHdPHVPPaLi9tYAcEBqheGzqLn/3RdTOyBfcA==",
"dev": true,
"hasInstallScript": true,
"bin": {
@ -117,32 +116,32 @@
"node": ">=12"
},
"optionalDependencies": {
"esbuild-android-64": "0.14.30",
"esbuild-android-arm64": "0.14.30",
"esbuild-darwin-64": "0.14.30",
"esbuild-darwin-arm64": "0.14.30",
"esbuild-freebsd-64": "0.14.30",
"esbuild-freebsd-arm64": "0.14.30",
"esbuild-linux-32": "0.14.30",
"esbuild-linux-64": "0.14.30",
"esbuild-linux-arm": "0.14.30",
"esbuild-linux-arm64": "0.14.30",
"esbuild-linux-mips64le": "0.14.30",
"esbuild-linux-ppc64le": "0.14.30",
"esbuild-linux-riscv64": "0.14.30",
"esbuild-linux-s390x": "0.14.30",
"esbuild-netbsd-64": "0.14.30",
"esbuild-openbsd-64": "0.14.30",
"esbuild-sunos-64": "0.14.30",
"esbuild-windows-32": "0.14.30",
"esbuild-windows-64": "0.14.30",
"esbuild-windows-arm64": "0.14.30"
"esbuild-android-64": "0.14.38",
"esbuild-android-arm64": "0.14.38",
"esbuild-darwin-64": "0.14.38",
"esbuild-darwin-arm64": "0.14.38",
"esbuild-freebsd-64": "0.14.38",
"esbuild-freebsd-arm64": "0.14.38",
"esbuild-linux-32": "0.14.38",
"esbuild-linux-64": "0.14.38",
"esbuild-linux-arm": "0.14.38",
"esbuild-linux-arm64": "0.14.38",
"esbuild-linux-mips64le": "0.14.38",
"esbuild-linux-ppc64le": "0.14.38",
"esbuild-linux-riscv64": "0.14.38",
"esbuild-linux-s390x": "0.14.38",
"esbuild-netbsd-64": "0.14.38",
"esbuild-openbsd-64": "0.14.38",
"esbuild-sunos-64": "0.14.38",
"esbuild-windows-32": "0.14.38",
"esbuild-windows-64": "0.14.38",
"esbuild-windows-arm64": "0.14.38"
}
},
"node_modules/esbuild-android-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.30.tgz",
"integrity": "sha512-vdJ7t8A8msPfKpYUGUV/KaTQRiZ0vDa2XSTlzXVkGGVHLKPeb85PBUtYJcEgw3htW3IdX5i1t1IMdQCwJJgNAg==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.38.tgz",
"integrity": "sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw==",
"cpu": [
"x64"
],
@ -156,9 +155,9 @@
}
},
"node_modules/esbuild-android-arm64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.30.tgz",
"integrity": "sha512-BdgGfxeA5hBQNErLr7BWJUA8xjflEfyaARICy8e0OJYNSAwDbEzOf8LyiKWSrDcgV129mWhi3VpbNQvOIDEHcg==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.38.tgz",
"integrity": "sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA==",
"cpu": [
"arm64"
],
@ -172,9 +171,9 @@
}
},
"node_modules/esbuild-darwin-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.30.tgz",
"integrity": "sha512-VRaOXMMrsG5n53pl4qFZQdXy2+E0NoLP/QH3aDUI0+bQP+ZHDmbINKcDy2IX7GVFI9kqPS18iJNAs5a6/G2LZg==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.38.tgz",
"integrity": "sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA==",
"cpu": [
"x64"
],
@ -188,9 +187,9 @@
}
},
"node_modules/esbuild-darwin-arm64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.30.tgz",
"integrity": "sha512-qDez+fHMOrO9Oc9qjt/x+sy09RJVh62kik5tVybKRLmezeV4qczM9/sAYY57YN0aWLdHbcCj2YqJUWYJNsgKnw==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.38.tgz",
"integrity": "sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ==",
"cpu": [
"arm64"
],
@ -204,9 +203,9 @@
}
},
"node_modules/esbuild-freebsd-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.30.tgz",
"integrity": "sha512-mec1jENcImVVagddZlGWsdAUwBnzR5cgnhzCxv+9fSMxKbx1uZYLLUAnLPp8m/i934zrumR1xGjJ5VoWdPlI2w==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.38.tgz",
"integrity": "sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig==",
"cpu": [
"x64"
],
@ -220,9 +219,9 @@
}
},
"node_modules/esbuild-freebsd-arm64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.30.tgz",
"integrity": "sha512-cpjbTs6Iok/AfeB0JgTzyUJTMStC1SQULmany5nHx6S4GTkSgaAHuJzZO0GcVWqghI4e0YL/bjXAhN5Mn6feNw==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.38.tgz",
"integrity": "sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ==",
"cpu": [
"arm64"
],
@ -236,9 +235,9 @@
}
},
"node_modules/esbuild-linux-32": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.30.tgz",
"integrity": "sha512-liIONVT4F2kZmOMwtwASqZ8WkIjb5HHBR9HUffdHiuotSTF3CyZO+EJf+Og+SYYuuVIvt0qHNSFjBA/iSESteQ==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.38.tgz",
"integrity": "sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g==",
"cpu": [
"ia32"
],
@ -252,9 +251,9 @@
}
},
"node_modules/esbuild-linux-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.30.tgz",
"integrity": "sha512-LUnpzoMpRqFON5En4qEj6NWiyH6a1K+Y2qYNKrCy5qPTjDoG/EWeqMz69n8Uv7pRuvDKl3FNGJ1dufTrA5i0sw==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.38.tgz",
"integrity": "sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q==",
"cpu": [
"x64"
],
@ -268,9 +267,9 @@
}
},
"node_modules/esbuild-linux-arm": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.30.tgz",
"integrity": "sha512-97T+bbXnpqf7mfIG49UR7ZSJFGgvc22byn74qw3Kx2GDCBSQoVFjyWuKOHGXp8nXk3XYrdFF+mQ8yQ7aNsgQvg==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.38.tgz",
"integrity": "sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA==",
"cpu": [
"arm"
],
@ -284,9 +283,9 @@
}
},
"node_modules/esbuild-linux-arm64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.30.tgz",
"integrity": "sha512-DHZHn6FK5q/KL0fpNT/0jE38Nnyk2rXxKE9WENi95EXtqfOLPgE8tzjTZQNgpr61R95QX4ymQU26ni3IZk8buQ==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.38.tgz",
"integrity": "sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA==",
"cpu": [
"arm64"
],
@ -300,9 +299,9 @@
}
},
"node_modules/esbuild-linux-mips64le": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.30.tgz",
"integrity": "sha512-fLUzTFZ7uknC0aPTk7/lM7NmaG/9ZqE3SaHEphcaM009SZK/mDOvZugWi1ss6WGNhk13dUrhkfHcc4FSb9hYhg==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.38.tgz",
"integrity": "sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ==",
"cpu": [
"mips64el"
],
@ -316,9 +315,9 @@
}
},
"node_modules/esbuild-linux-ppc64le": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.30.tgz",
"integrity": "sha512-2Oudm2WEfj0dNU9bzIl5L/LrsMEmHWsOsYgJJqu8fDyUDgER+J1d33qz3cUdjsJk7gAENayIxDSpsuCszx0w3A==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.38.tgz",
"integrity": "sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q==",
"cpu": [
"ppc64"
],
@ -332,9 +331,9 @@
}
},
"node_modules/esbuild-linux-riscv64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.30.tgz",
"integrity": "sha512-RPMucPW47rV4t2jlelaE948iCRtbZf5RhifxSwzlpM1Mqdyu99MMNK0w4jFreGTmLN+oGomxIOxD6n+2E/XqHw==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.38.tgz",
"integrity": "sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ==",
"cpu": [
"riscv64"
],
@ -348,9 +347,9 @@
}
},
"node_modules/esbuild-linux-s390x": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.30.tgz",
"integrity": "sha512-OZ68r7ok6qO7hdwrwQn2p5jbIRRcUcVaAykB7e0uCA0ODwfeGunILM6phJtq2Oz4dlEEFvd+tSuma3paQKwt+A==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.38.tgz",
"integrity": "sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ==",
"cpu": [
"s390x"
],
@ -364,9 +363,9 @@
}
},
"node_modules/esbuild-netbsd-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.30.tgz",
"integrity": "sha512-iyejQUKn0TzpPkufq8pSCxOg9NheycQbMbPCmjefTe9wYuUlBt1TcHvdoJnYbQzsAhAh1BNq+s0ycRsIJFZzaQ==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.38.tgz",
"integrity": "sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q==",
"cpu": [
"x64"
],
@ -380,9 +379,9 @@
}
},
"node_modules/esbuild-openbsd-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.30.tgz",
"integrity": "sha512-UyK1MTMcy4j5fH260fsE1o6MVgWNhb62eCK2yCKCRazZv8Nqdc2WiP9ygjWidmEdCDS+A6MuVp9ozk9uoQtQpA==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.38.tgz",
"integrity": "sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ==",
"cpu": [
"x64"
],
@ -396,9 +395,9 @@
}
},
"node_modules/esbuild-sunos-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.30.tgz",
"integrity": "sha512-aQRtRTNKHB4YuG+xXATe5AoRTNY48IJg5vjE8ElxfmjO9+KdX7MHFkTLhlKevCD6rNANtB3qOlSIeAiXTwHNqw==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.38.tgz",
"integrity": "sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA==",
"cpu": [
"x64"
],
@ -412,9 +411,9 @@
}
},
"node_modules/esbuild-windows-32": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.30.tgz",
"integrity": "sha512-9/fb1tPtpacMqxAXp3fGHowUDg/l9dVch5hKmCLEZC6PdGljh6h372zMdJwYfH0Bd5CCPT0Wx95uycBLJiqpXA==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.38.tgz",
"integrity": "sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw==",
"cpu": [
"ia32"
],
@ -428,9 +427,9 @@
}
},
"node_modules/esbuild-windows-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.30.tgz",
"integrity": "sha512-DHgITeUhPAnN9I5O6QBa1GVyPOhiYCn4S4TtQr7sO4+X0LNyqnlmA1M0qmGkUdDC1QQfjI8uQ4G/whdWb2pWIQ==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.38.tgz",
"integrity": "sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw==",
"cpu": [
"x64"
],
@ -444,9 +443,9 @@
}
},
"node_modules/esbuild-windows-arm64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.30.tgz",
"integrity": "sha512-F1kLyQH7zSgjh5eLxogGZN7C9+KNs9m+s7Q6WZoMmCWT/6j998zlaoECHyM8izJRRfsvw2eZlEa1jO6/IOU1AQ==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.38.tgz",
"integrity": "sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw==",
"cpu": [
"arm64"
],
@ -544,11 +543,11 @@
}
},
"node_modules/p-retry": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/p-retry/-/p-retry-5.1.0.tgz",
"integrity": "sha512-zh8em2ciphCu4eZYzatLp4bTYkAhyi8PwMIOyQyh1b5bxunYNe6nwumHPkUBtvmEfIfnTYzhOq1+vWf46Qii+w==",
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/p-retry/-/p-retry-5.1.1.tgz",
"integrity": "sha512-i69WkEU5ZAL8mrmdmVviWwU+DN+IUF8f4sSJThoJ3z5A7Nn5iuO5ROX3Boye0u+uYQLOSfgFl7SuFZCjlAVbQA==",
"dependencies": {
"@types/retry": "^0.12.1",
"@types/retry": "0.12.1",
"retry": "^0.13.1"
},
"engines": {
@ -578,13 +577,13 @@
}
},
"node_modules/powahroot": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/powahroot/-/powahroot-1.2.5.tgz",
"integrity": "sha512-UG8b2K2VDmhDzQOwFKzFIoQt39YZ+7+zqIAxLH6F4NjgWI6ORYtmp3J3GHIWzOpDhDaYDDdDSnbc2N/nX+fBsQ==",
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/powahroot/-/powahroot-1.2.6.tgz",
"integrity": "sha512-47T7lgNvLYrt8/zqHbNm07/D4fvyeVwlGGBLuxzFmduU5876SUJ3e2WPpw+h1+7EZOqh2cjPtJeS8aUFnKC3Ew==",
"dependencies": {
"cookie": "^0.4.2",
"cookie": "^0.5.0",
"event-emitter-es6": "^1.1.5",
"nightink": "^1.0.0"
"nightink": "^1.0.1"
},
"funding": {
"type": "liberapay",
@ -613,16 +612,10 @@
"node": ">= 4"
}
},
"node_modules/svg.js": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz",
"integrity": "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==",
"dev": true
},
"node_modules/systeminformation": {
"version": "5.11.9",
"resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.9.tgz",
"integrity": "sha512-eeMtL9UJFR/LYG+2rpeAgZ0Va4ojlNQTkYiQH/xbbPwDjDMsaetj3Pkc+C1aH5G8mav6HvDY8kI4Vl4noksSkA==",
"version": "5.11.14",
"resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.14.tgz",
"integrity": "sha512-m8CJx3fIhKohanB0ExTk5q53uI1J0g5B09p77kU+KxnxRVpADVqTAwCg1PFelqKsj4LHd+qmVnumb511Hg4xow==",
"os": [
"darwin",
"linux",
@ -694,14 +687,14 @@
"integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g=="
},
"applause-cli": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/applause-cli/-/applause-cli-1.8.0.tgz",
"integrity": "sha512-MyDPPI0z1CLH4TeLUap4VWie+kx3wL4IemJZoh1387o+4HqzADPGCjYCTIOogXGIqRqpbNisg2/4rdcUX/++lA=="
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/applause-cli/-/applause-cli-1.8.1.tgz",
"integrity": "sha512-ayN8TdWe69sDXRDNEKSUx7pO71XvVXd+v/bRWRCAbYwt2W82boA0NWQ/khfWJz4sXIWRY4tQIM2dsdYxj2s6ag=="
},
"cookie": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
"integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
"integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
},
"crypto-js": {
"version": "4.1.1",
@ -718,170 +711,170 @@
}
},
"esbuild": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.30.tgz",
"integrity": "sha512-wCecQSBkIjp2xjuXY+wcXS/PpOQo9rFh4NAKPh4Pm9f3fuLcnxkR0rDzA+mYP88FtXIUcXUyYmaIgfrzRl55jA==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.38.tgz",
"integrity": "sha512-12fzJ0fsm7gVZX1YQ1InkOE5f9Tl7cgf6JPYXRJtPIoE0zkWAbHdPHVPPaLi9tYAcEBqheGzqLn/3RdTOyBfcA==",
"dev": true,
"requires": {
"esbuild-android-64": "0.14.30",
"esbuild-android-arm64": "0.14.30",
"esbuild-darwin-64": "0.14.30",
"esbuild-darwin-arm64": "0.14.30",
"esbuild-freebsd-64": "0.14.30",
"esbuild-freebsd-arm64": "0.14.30",
"esbuild-linux-32": "0.14.30",
"esbuild-linux-64": "0.14.30",
"esbuild-linux-arm": "0.14.30",
"esbuild-linux-arm64": "0.14.30",
"esbuild-linux-mips64le": "0.14.30",
"esbuild-linux-ppc64le": "0.14.30",
"esbuild-linux-riscv64": "0.14.30",
"esbuild-linux-s390x": "0.14.30",
"esbuild-netbsd-64": "0.14.30",
"esbuild-openbsd-64": "0.14.30",
"esbuild-sunos-64": "0.14.30",
"esbuild-windows-32": "0.14.30",
"esbuild-windows-64": "0.14.30",
"esbuild-windows-arm64": "0.14.30"
"esbuild-android-64": "0.14.38",
"esbuild-android-arm64": "0.14.38",
"esbuild-darwin-64": "0.14.38",
"esbuild-darwin-arm64": "0.14.38",
"esbuild-freebsd-64": "0.14.38",
"esbuild-freebsd-arm64": "0.14.38",
"esbuild-linux-32": "0.14.38",
"esbuild-linux-64": "0.14.38",
"esbuild-linux-arm": "0.14.38",
"esbuild-linux-arm64": "0.14.38",
"esbuild-linux-mips64le": "0.14.38",
"esbuild-linux-ppc64le": "0.14.38",
"esbuild-linux-riscv64": "0.14.38",
"esbuild-linux-s390x": "0.14.38",
"esbuild-netbsd-64": "0.14.38",
"esbuild-openbsd-64": "0.14.38",
"esbuild-sunos-64": "0.14.38",
"esbuild-windows-32": "0.14.38",
"esbuild-windows-64": "0.14.38",
"esbuild-windows-arm64": "0.14.38"
}
},
"esbuild-android-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.30.tgz",
"integrity": "sha512-vdJ7t8A8msPfKpYUGUV/KaTQRiZ0vDa2XSTlzXVkGGVHLKPeb85PBUtYJcEgw3htW3IdX5i1t1IMdQCwJJgNAg==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.38.tgz",
"integrity": "sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw==",
"dev": true,
"optional": true
},
"esbuild-android-arm64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.30.tgz",
"integrity": "sha512-BdgGfxeA5hBQNErLr7BWJUA8xjflEfyaARICy8e0OJYNSAwDbEzOf8LyiKWSrDcgV129mWhi3VpbNQvOIDEHcg==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.38.tgz",
"integrity": "sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA==",
"dev": true,
"optional": true
},
"esbuild-darwin-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.30.tgz",
"integrity": "sha512-VRaOXMMrsG5n53pl4qFZQdXy2+E0NoLP/QH3aDUI0+bQP+ZHDmbINKcDy2IX7GVFI9kqPS18iJNAs5a6/G2LZg==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.38.tgz",
"integrity": "sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA==",
"dev": true,
"optional": true
},
"esbuild-darwin-arm64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.30.tgz",
"integrity": "sha512-qDez+fHMOrO9Oc9qjt/x+sy09RJVh62kik5tVybKRLmezeV4qczM9/sAYY57YN0aWLdHbcCj2YqJUWYJNsgKnw==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.38.tgz",
"integrity": "sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ==",
"dev": true,
"optional": true
},
"esbuild-freebsd-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.30.tgz",
"integrity": "sha512-mec1jENcImVVagddZlGWsdAUwBnzR5cgnhzCxv+9fSMxKbx1uZYLLUAnLPp8m/i934zrumR1xGjJ5VoWdPlI2w==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.38.tgz",
"integrity": "sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig==",
"dev": true,
"optional": true
},
"esbuild-freebsd-arm64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.30.tgz",
"integrity": "sha512-cpjbTs6Iok/AfeB0JgTzyUJTMStC1SQULmany5nHx6S4GTkSgaAHuJzZO0GcVWqghI4e0YL/bjXAhN5Mn6feNw==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.38.tgz",
"integrity": "sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ==",
"dev": true,
"optional": true
},
"esbuild-linux-32": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.30.tgz",
"integrity": "sha512-liIONVT4F2kZmOMwtwASqZ8WkIjb5HHBR9HUffdHiuotSTF3CyZO+EJf+Og+SYYuuVIvt0qHNSFjBA/iSESteQ==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.38.tgz",
"integrity": "sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g==",
"dev": true,
"optional": true
},
"esbuild-linux-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.30.tgz",
"integrity": "sha512-LUnpzoMpRqFON5En4qEj6NWiyH6a1K+Y2qYNKrCy5qPTjDoG/EWeqMz69n8Uv7pRuvDKl3FNGJ1dufTrA5i0sw==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.38.tgz",
"integrity": "sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q==",
"dev": true,
"optional": true
},
"esbuild-linux-arm": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.30.tgz",
"integrity": "sha512-97T+bbXnpqf7mfIG49UR7ZSJFGgvc22byn74qw3Kx2GDCBSQoVFjyWuKOHGXp8nXk3XYrdFF+mQ8yQ7aNsgQvg==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.38.tgz",
"integrity": "sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA==",
"dev": true,
"optional": true
},
"esbuild-linux-arm64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.30.tgz",
"integrity": "sha512-DHZHn6FK5q/KL0fpNT/0jE38Nnyk2rXxKE9WENi95EXtqfOLPgE8tzjTZQNgpr61R95QX4ymQU26ni3IZk8buQ==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.38.tgz",
"integrity": "sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA==",
"dev": true,
"optional": true
},
"esbuild-linux-mips64le": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.30.tgz",
"integrity": "sha512-fLUzTFZ7uknC0aPTk7/lM7NmaG/9ZqE3SaHEphcaM009SZK/mDOvZugWi1ss6WGNhk13dUrhkfHcc4FSb9hYhg==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.38.tgz",
"integrity": "sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ==",
"dev": true,
"optional": true
},
"esbuild-linux-ppc64le": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.30.tgz",
"integrity": "sha512-2Oudm2WEfj0dNU9bzIl5L/LrsMEmHWsOsYgJJqu8fDyUDgER+J1d33qz3cUdjsJk7gAENayIxDSpsuCszx0w3A==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.38.tgz",
"integrity": "sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q==",
"dev": true,
"optional": true
},
"esbuild-linux-riscv64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.30.tgz",
"integrity": "sha512-RPMucPW47rV4t2jlelaE948iCRtbZf5RhifxSwzlpM1Mqdyu99MMNK0w4jFreGTmLN+oGomxIOxD6n+2E/XqHw==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.38.tgz",
"integrity": "sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ==",
"dev": true,
"optional": true
},
"esbuild-linux-s390x": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.30.tgz",
"integrity": "sha512-OZ68r7ok6qO7hdwrwQn2p5jbIRRcUcVaAykB7e0uCA0ODwfeGunILM6phJtq2Oz4dlEEFvd+tSuma3paQKwt+A==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.38.tgz",
"integrity": "sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ==",
"dev": true,
"optional": true
},
"esbuild-netbsd-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.30.tgz",
"integrity": "sha512-iyejQUKn0TzpPkufq8pSCxOg9NheycQbMbPCmjefTe9wYuUlBt1TcHvdoJnYbQzsAhAh1BNq+s0ycRsIJFZzaQ==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.38.tgz",
"integrity": "sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q==",
"dev": true,
"optional": true
},
"esbuild-openbsd-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.30.tgz",
"integrity": "sha512-UyK1MTMcy4j5fH260fsE1o6MVgWNhb62eCK2yCKCRazZv8Nqdc2WiP9ygjWidmEdCDS+A6MuVp9ozk9uoQtQpA==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.38.tgz",
"integrity": "sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ==",
"dev": true,
"optional": true
},
"esbuild-sunos-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.30.tgz",
"integrity": "sha512-aQRtRTNKHB4YuG+xXATe5AoRTNY48IJg5vjE8ElxfmjO9+KdX7MHFkTLhlKevCD6rNANtB3qOlSIeAiXTwHNqw==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.38.tgz",
"integrity": "sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA==",
"dev": true,
"optional": true
},
"esbuild-windows-32": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.30.tgz",
"integrity": "sha512-9/fb1tPtpacMqxAXp3fGHowUDg/l9dVch5hKmCLEZC6PdGljh6h372zMdJwYfH0Bd5CCPT0Wx95uycBLJiqpXA==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.38.tgz",
"integrity": "sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw==",
"dev": true,
"optional": true
},
"esbuild-windows-64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.30.tgz",
"integrity": "sha512-DHgITeUhPAnN9I5O6QBa1GVyPOhiYCn4S4TtQr7sO4+X0LNyqnlmA1M0qmGkUdDC1QQfjI8uQ4G/whdWb2pWIQ==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.38.tgz",
"integrity": "sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw==",
"dev": true,
"optional": true
},
"esbuild-windows-arm64": {
"version": "0.14.30",
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.30.tgz",
"integrity": "sha512-F1kLyQH7zSgjh5eLxogGZN7C9+KNs9m+s7Q6WZoMmCWT/6j998zlaoECHyM8izJRRfsvw2eZlEa1jO6/IOU1AQ==",
"version": "0.14.38",
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.38.tgz",
"integrity": "sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw==",
"dev": true,
"optional": true
},
@ -949,11 +942,11 @@
"integrity": "sha512-rOgYyrvUxnJdSYKGSK7UnO7RxFSnT/IJYFPiosuQ2/AtRWIryIrv8lecWqJXWbKnMcUjJvxiHDMp80m0Yj4eLA=="
},
"p-retry": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/p-retry/-/p-retry-5.1.0.tgz",
"integrity": "sha512-zh8em2ciphCu4eZYzatLp4bTYkAhyi8PwMIOyQyh1b5bxunYNe6nwumHPkUBtvmEfIfnTYzhOq1+vWf46Qii+w==",
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/p-retry/-/p-retry-5.1.1.tgz",
"integrity": "sha512-i69WkEU5ZAL8mrmdmVviWwU+DN+IUF8f4sSJThoJ3z5A7Nn5iuO5ROX3Boye0u+uYQLOSfgFl7SuFZCjlAVbQA==",
"requires": {
"@types/retry": "^0.12.1",
"@types/retry": "0.12.1",
"retry": "^0.13.1"
}
},
@ -968,13 +961,13 @@
"integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA=="
},
"powahroot": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/powahroot/-/powahroot-1.2.5.tgz",
"integrity": "sha512-UG8b2K2VDmhDzQOwFKzFIoQt39YZ+7+zqIAxLH6F4NjgWI6ORYtmp3J3GHIWzOpDhDaYDDdDSnbc2N/nX+fBsQ==",
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/powahroot/-/powahroot-1.2.6.tgz",
"integrity": "sha512-47T7lgNvLYrt8/zqHbNm07/D4fvyeVwlGGBLuxzFmduU5876SUJ3e2WPpw+h1+7EZOqh2cjPtJeS8aUFnKC3Ew==",
"requires": {
"cookie": "^0.4.2",
"cookie": "^0.5.0",
"event-emitter-es6": "^1.1.5",
"nightink": "^1.0.0"
"nightink": "^1.0.1"
}
},
"pretty-ms": {
@ -990,16 +983,10 @@
"resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
"integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg=="
},
"svg.js": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz",
"integrity": "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==",
"dev": true
},
"systeminformation": {
"version": "5.11.9",
"resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.9.tgz",
"integrity": "sha512-eeMtL9UJFR/LYG+2rpeAgZ0Va4ojlNQTkYiQH/xbbPwDjDMsaetj3Pkc+C1aH5G8mav6HvDY8kI4Vl4noksSkA=="
"version": "5.11.14",
"resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.14.tgz",
"integrity": "sha512-m8CJx3fIhKohanB0ExTk5q53uI1J0g5B09p77kU+KxnxRVpADVqTAwCg1PFelqKsj4LHd+qmVnumb511Hg4xow=="
},
"tweetnacl": {
"version": "1.0.3",

View File

@ -20,25 +20,24 @@
"homepage": "https://github.com/sbrl/systemquery#readme",
"dependencies": {
"@ltd/j-toml": "^1.30.0",
"applause-cli": "^1.8.0",
"applause-cli": "^1.8.1",
"jpake": "^1.0.1",
"mime": "^3.0.0",
"p-queue": "^7.2.0",
"p-reflect": "^3.0.0",
"p-retry": "^5.1.0",
"powahroot": "^1.2.5",
"p-retry": "^5.1.1",
"powahroot": "^1.2.6",
"pretty-ms": "^7.0.1",
"systeminformation": "^5.11.9",
"systeminformation": "^5.11.14",
"tweetnacl": "^1.0.3"
},
"devDependencies": {
"@svgdotjs/svg.js": "^3.1.2",
"@types/mime": "^2.0.3",
"emel": "^2.5.1",
"esbuild": "^0.14.30",
"esbuild": "^0.14.38",
"fork-awesome": "^1.2.0",
"nightink": "^1.0.1",
"svg.js": "^2.7.1"
"nightink": "^1.0.1"
},
"___comment": "The browser field is used by esbuild. fs isn't a thing in the browser, ",
"browser": {

View File

@ -1,37 +1,79 @@
"use strict";
import { SVG } from 'svg.js';
class ChartStackedBar {
get weight_total() {
return this.categories.reduce((cat, acc) => cat.weight + acc, 0);
}
constructor(el) {
this.el = el;
/**
* The category names and their properties.
* The categories of this bar.
* @type {Object[]}
*/
this.categories = [
// { name: "Some category name", colour: "hsl(46, 80%, 50%)" }
// ....
]
/**
* Whether to normalise all bars to be the same height or not.
* @type {Boolean}
*/
this.percentage = false;
/**
* The bars to render.
* Additional properties can be specified on the objects passed and
* this class will ignore them. It's strongly recommended though that
* any additional properties start with an underscore.
* @type {Object[]}
*/
this.bars = [
// { name: "bar name 1", values: [ { value: 3, cat: 1 }, .... ] }
// { colour: "hsl(46, 80%, 50%)", weight: 4 }
// ....
];
this.auto_render = true;
this.#svg = SVG().size("100%", "100%");
this.sym_bar = Symbol();
}
/**
* Adds a new category to the bar.
* @param {string} colour The colour to assign to the category.
* @param {number} weight The weighting value to assign to the category.
*/
category_add(colour, weight) {
const id = Symbol();
this.categories.push({
id,
colour,
weight,
[this.sym_bar]: null
});
if(this.auto_render) this.render();
return id;
}
category_remove(id) {
for(const i in this.categories) {
if(this.categories[i].id === id) {
this.categories.splice(i, 1);
if(this.auto_render) this.render();
return true;
}
}
return false;
}
render() {
let percent_so_far = 0;
for(const cat of this.categories) {
const percent_this = this.#weight_percent(cat.weight);
if(cat[this.sym_bar] === null) {
cat[this.sym_bar] = this.#svg.rect("100%", "10%")
.fill(cat.colour)
}
cat[this.sym_bar].height = `${percent_this}%`;
cat[this.sym_bar] = cat[this.sym_bar].fill(cat.colour)
.move("0%", `${percent_so_far}%`);
percent_so_far += percent_this;
}
}
#weight_percent(weight) {
return (weight / this.weight_total) * 100
}
}