From 551bedbe6d746f51d5b1a9c8e2ca9e290e02c018 Mon Sep 17 00:00:00 2001 From: Toinane Date: Thu, 24 Nov 2022 12:37:15 +0100 Subject: [PATCH] v2.2.0 --- .github/CHANGELOG.md | 9 + .npmrc | 4 +- README.md | 10 - package-lock.json | 1325 ++++++++-------------------- package.json | 14 +- snap/snapcraft.yaml | 1 - src/browsers/colorpicker.js | 12 +- src/browsers/colorsbook.js | 4 +- src/browsers/preview.js | 4 +- src/browsers/settings.js | 4 +- src/events/colorpicker.js | 43 +- src/events/colorsbook.js | 4 +- src/events/picker.js | 44 +- src/events/settings.js | 10 +- src/main.js | 20 +- src/storage.js | 31 +- src/views/css/app-buttons.css | 8 +- src/views/css/colorpicker.css | 6 - src/views/js/color.class.js | 143 +-- src/views/js/colorpicker.class.js | 46 +- src/views/js/colorpicker.events.js | 77 +- src/views/js/colorsbook.js | 27 +- src/views/js/picker.js | 4 +- src/views/js/settings.js | 15 +- src/views/js/util.class.js | 17 +- 25 files changed, 649 insertions(+), 1233 deletions(-) diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md index 100f11d9..43540735 100644 --- a/.github/CHANGELOG.md +++ b/.github/CHANGELOG.md @@ -1,6 +1,15 @@ # Changelog All releases changes will be documented in this file. +# 2.2.0 - 2022-11-24 + +## Changed +- Updated dependencies +- Remove Opacity feature as it's really buggy sometimes + +## Fixed +- Fix issues with picker on bigger resolution + --- # 2.0.0 - 2018-02-24 diff --git a/.npmrc b/.npmrc index 37b22bfa..8a6d5dcc 100644 --- a/.npmrc +++ b/.npmrc @@ -1,6 +1,6 @@ runtime = electron -target = 7.1.7 +target = 19.1.7 target_arch = x64 -disturl = https://atom.io/download/atom-shell +disturl = https://electronjs.org/headers export npm_config_runtime=electron export npm_config_build_from_source=true diff --git a/README.md b/README.md index 35c7a234..34a73bfa 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,6 @@ Colorpicker's menu come with a lot of cool features : - [Picker](#picker): open an eyedropper who can pick a color from your desktop; - [Colorsbook](#colorsbook): open Colorsbook, a color manager; - [Shading](#shading): show three bar of shading — hue bar, natural bar and lightness bar; -- [Opacity](#opacity): toggle Opacity range; - [Clean Vue](#clean-vue): unshow menu, ranges and inputs; - [Magic color](#magic-color): show colors from the clipboard; - [Random](#random): show a random color; @@ -79,15 +78,6 @@ bar. --- -## Opacity [WIP] - -![Opacity gif](.github/screenshots/opacity.png) - -This feature is a bit special. It allows you to render the application transparent. This can be useful to see the -appearance of a transparent color. - ---- - ## Focus Mode ![Focus screenshot](.github/screenshots/focus.png) diff --git a/package-lock.json b/package-lock.json index 11acf609..124e92fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,27 +1,27 @@ { "name": "colorpicker", - "version": "2.1.0", + "version": "2.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "colorpicker", - "version": "2.1.0", + "version": "2.2.0", "license": "GPL-3.0", "dependencies": { - "electron-json-storage": "^4.5.0", + "electron-json-storage": "^4.6.0", "request": "^2.88.2", "robotjs": "github:Toinane/robotjs", - "semver": "^7.3.7" + "semver": "^7.3.8" }, "devDependencies": { - "electron": "^18.2.3", - "electron-builder": "^23.0.3", + "electron": "^19.1.7", + "electron-builder": "^23.6.0", "standard": "^17.0.0" }, "optionalDependencies": { "iohook": "^0.9.3", - "osx-mouse": "git+https://github.com/Toinane/osx-mouse", + "osx-mouse": "github:Toinane/osx-mouse", "win-mouse": "github:Toinane/win-mouse" } }, @@ -74,9 +74,9 @@ } }, "node_modules/@electron/universal": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.2.0.tgz", - "integrity": "sha512-eu20BwNsrMPKoe2bZ3/l9c78LclDvxg3PlVXrQf3L50NaUuW5M59gbPytI+V4z7/QMrohUHetQaU0ou+p1UG9Q==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.2.1.tgz", + "integrity": "sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==", "dev": true, "dependencies": { "@malept/cross-spawn-promise": "^1.1.0", @@ -318,9 +318,9 @@ "dev": true }, "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", "dev": true, "optional": true }, @@ -348,9 +348,9 @@ } }, "node_modules/@types/verror": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.5.tgz", - "integrity": "sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw==", + "version": "1.10.6", + "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.6.tgz", + "integrity": "sha512-NNm+gdePAX1VGvPcGZCDKQZKYSiAWigKhKaz5KF94hG6f2s8de9Ow5+7AbXoeKxL8gavZfk4UquSAygOF2duEQ==", "dev": true, "optional": true }, @@ -432,15 +432,6 @@ "ajv": "^6.9.1" } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "dependencies": { - "string-width": "^4.1.0" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -472,35 +463,36 @@ "dev": true }, "node_modules/app-builder-lib": { - "version": "23.0.3", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-23.0.3.tgz", - "integrity": "sha512-1qrtXYHXJfXhzJnMtVGjIva3067F1qYQubl2oBjI61gCBoCHvhghdYJ57XxXTQQ0VxnUhg1/Iaez87uXp8mD8w==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-23.6.0.tgz", + "integrity": "sha512-dQYDuqm/rmy8GSCE6Xl/3ShJg6Ab4bZJMT8KaTKGzT436gl1DN4REP3FCWfXoh75qGTJ+u+WsdnnpO9Jl8nyMA==", "dev": true, "dependencies": { "@develar/schema-utils": "~2.6.5", - "@electron/universal": "1.2.0", + "@electron/universal": "1.2.1", "@malept/flatpak-bundler": "^0.4.0", "7zip-bin": "~5.1.1", "async-exit-hook": "^2.0.1", "bluebird-lst": "^1.0.9", - "builder-util": "23.0.2", - "builder-util-runtime": "9.0.0", + "builder-util": "23.6.0", + "builder-util-runtime": "9.1.1", "chromium-pickle-js": "^0.2.0", - "debug": "^4.3.2", - "ejs": "^3.1.6", + "debug": "^4.3.4", + "ejs": "^3.1.7", "electron-osx-sign": "^0.6.0", - "electron-publish": "23.0.2", + "electron-publish": "23.6.0", "form-data": "^4.0.0", - "fs-extra": "^10.0.0", - "hosted-git-info": "^4.0.2", + "fs-extra": "^10.1.0", + "hosted-git-info": "^4.1.0", "is-ci": "^3.0.0", - "isbinaryfile": "^4.0.8", + "isbinaryfile": "^4.0.10", "js-yaml": "^4.1.0", "lazy-val": "^1.0.5", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "read-config-file": "6.2.0", "sanitize-filename": "^1.6.3", - "semver": "^7.3.5", + "semver": "^7.3.7", + "tar": "^6.1.11", "temp-file": "^3.4.0" }, "engines": { @@ -604,9 +596,10 @@ } }, "node_modules/asar": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/asar/-/asar-3.1.0.tgz", - "integrity": "sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz", + "integrity": "sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==", + "deprecated": "Please use @electron/asar moving forward. There is no API change, just a package name change", "dev": true, "dependencies": { "chromium-pickle-js": "^0.2.0", @@ -768,40 +761,6 @@ "dev": true, "optional": true }, - "node_modules/boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "dev": true, - "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/type-fest": { - "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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -883,9 +842,9 @@ "dev": true }, "node_modules/builder-util": { - "version": "23.0.2", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-23.0.2.tgz", - "integrity": "sha512-HaNHL3axNW/Ms8O1mDx3I07G+ZnZ/TKSWWvorOAPau128cdt9S+lNx5ocbx8deSaHHX4WFXSZVHh3mxlaKJNgg==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-23.6.0.tgz", + "integrity": "sha512-QiQHweYsh8o+U/KNCZFSvISRnvRctb8m/2rB2I1JdByzvNKxPeFLlHFRPQRXab6aYeXc18j9LpsDLJ3sGQmWTQ==", "dev": true, "dependencies": { "@types/debug": "^4.1.6", @@ -893,10 +852,10 @@ "7zip-bin": "~5.1.1", "app-builder-bin": "4.0.0", "bluebird-lst": "^1.0.9", - "builder-util-runtime": "9.0.0", + "builder-util-runtime": "9.1.1", "chalk": "^4.1.1", "cross-spawn": "^7.0.3", - "debug": "^4.3.2", + "debug": "^4.3.4", "fs-extra": "^10.0.0", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", @@ -908,12 +867,12 @@ } }, "node_modules/builder-util-runtime": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.0.0.tgz", - "integrity": "sha512-SkpEtSmTkREDHRJnxKEv43aAYp8sYWY8fxYBhGLBLOBIRXeaIp6Kv3lBgSD7uR8jQtC7CA659sqJrpSV6zNvSA==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.1.1.tgz", + "integrity": "sha512-azRhYLEoDvRDR8Dhis4JatELC/jUvYjm4cVSj7n9dauGTOM2eeNn9KS0z6YA6oDsjI1xphjNbY6PZZeHPzzqaw==", "dev": true, "dependencies": { - "debug": "^4.3.2", + "debug": "^4.3.4", "sax": "^1.2.4" }, "engines": { @@ -1028,18 +987,6 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -1074,21 +1021,12 @@ "dev": true }, "node_modules/ci-info": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz", - "integrity": "sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg==", - "dev": true - }, - "node_modules/cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.2.tgz", + "integrity": "sha512-lVZdhvbEudris15CLytp2u6Y0p5EKfztae9Fqa189MfNmln9F33XuH69v5fvNfiRN5/0eAUz2yJL3mo+nhaRKg==", "dev": true, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/cli-truncate": { @@ -1158,7 +1096,7 @@ "node_modules/colors": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", "dev": true, "engines": { "node": ">=0.1.90" @@ -1187,7 +1125,7 @@ "node_modules/compare-version": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", - "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=", + "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", "dev": true, "engines": { "node": ">=0.10.0" @@ -1224,35 +1162,6 @@ "proto-list": "~1.2.1" } }, - "node_modules/configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dev": true, - "dependencies": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/configstore/node_modules/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, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -1283,15 +1192,6 @@ "node": ">= 8" } }, - "node_modules/crypto-random-string": { - "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, - "engines": { - "node": ">=8" - } - }, "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -1336,7 +1236,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "devOptional": true, + "optional": true, "engines": { "node": ">=4.0.0" } @@ -1402,7 +1302,7 @@ "node_modules/dir-compare/node_modules/commander": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "integrity": "sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==", "dev": true, "dependencies": { "graceful-readlink": ">= 1.0.0" @@ -1424,20 +1324,20 @@ } }, "node_modules/dmg-builder": { - "version": "23.0.3", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-23.0.3.tgz", - "integrity": "sha512-mBYrHHnSM5PC656TDE+xTGmXIuWHAGmmRfyM+dV0kP+AxtwPof4pAXNQ8COd0/exZQ4dqf72FiPS3B9G9aB5IA==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-23.6.0.tgz", + "integrity": "sha512-jFZvY1JohyHarIAlTbfQOk+HnceGjjAdFjVn3n8xlDWKsYNqbO4muca6qXEZTfGXeQMG7TYim6CeS5XKSfSsGA==", "dev": true, "dependencies": { - "app-builder-lib": "23.0.3", - "builder-util": "23.0.2", - "builder-util-runtime": "9.0.0", + "app-builder-lib": "23.6.0", + "builder-util": "23.6.0", + "builder-util-runtime": "9.1.1", "fs-extra": "^10.0.0", "iconv-lite": "^0.6.2", "js-yaml": "^4.1.0" }, "optionalDependencies": { - "dmg-license": "^1.0.9" + "dmg-license": "^1.0.11" } }, "node_modules/dmg-builder/node_modules/fs-extra": { @@ -1479,7 +1379,6 @@ "version": "1.0.11", "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.11.tgz", "integrity": "sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==", - "deprecated": "Disk image license agreements are deprecated by Apple and will probably be removed in a future macOS release. Discussion at: https://github.com/argv-minus-one/dmg-license/issues/11", "dev": true, "optional": true, "os": [ @@ -1514,18 +1413,6 @@ "node": ">=6.0.0" } }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/dotenv": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", @@ -1572,13 +1459,13 @@ } }, "node_modules/electron": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/electron/-/electron-18.2.3.tgz", - "integrity": "sha512-DJWX03hCRKTscsfXxmW4gmgFuseop+g+m4ml7NfOMfankD8uYyr2Xyi3Ui02inL9qZOlbLMeLVCu6jKCKs8p/w==", + "version": "19.1.7", + "resolved": "https://registry.npmjs.org/electron/-/electron-19.1.7.tgz", + "integrity": "sha512-U5rCktIm/EeRjfg/9QFo29jzvZVV2z8Xw7r2NdGTpljmjd+7kySHvUHthO2hk8HETILJivL4+R5lF9zxcJ2J9w==", "dev": true, "hasInstallScript": true, "dependencies": { - "@electron/get": "^1.13.0", + "@electron/get": "^1.14.1", "@types/node": "^16.11.26", "extract-zip": "^1.0.3" }, @@ -1590,23 +1477,23 @@ } }, "node_modules/electron-builder": { - "version": "23.0.3", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-23.0.3.tgz", - "integrity": "sha512-0lnTsljAgcOMuIiOjPcoFf+WxOOe/O04hZPgIvvUBXIbz3kolbNu0Xdch1f5WuQ40NdeZI7oqs8Eo395PcuGHQ==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-23.6.0.tgz", + "integrity": "sha512-y8D4zO+HXGCNxFBV/JlyhFnoQ0Y0K7/sFH+XwIbj47pqaW8S6PGYQbjoObolKBR1ddQFPt4rwp4CnwMJrW3HAw==", "dev": true, "dependencies": { "@types/yargs": "^17.0.1", - "app-builder-lib": "23.0.3", - "builder-util": "23.0.2", - "builder-util-runtime": "9.0.0", + "app-builder-lib": "23.6.0", + "builder-util": "23.6.0", + "builder-util-runtime": "9.1.1", "chalk": "^4.1.1", - "dmg-builder": "23.0.3", + "dmg-builder": "23.6.0", "fs-extra": "^10.0.0", "is-ci": "^3.0.0", "lazy-val": "^1.0.5", "read-config-file": "6.2.0", - "update-notifier": "^5.1.0", - "yargs": "^17.0.1" + "simple-update-notifier": "^1.0.7", + "yargs": "^17.5.1" }, "bin": { "electron-builder": "cli.js", @@ -1652,9 +1539,9 @@ } }, "node_modules/electron-json-storage": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/electron-json-storage/-/electron-json-storage-4.5.0.tgz", - "integrity": "sha512-ML6Um4tZbJv938EbxvMJwzLA+v/wfWwEP+AXNum1zQF9RUFJ/SrRtIjGm9eFTFxURxn81r3ggdovuQikyF/m0Q==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/electron-json-storage/-/electron-json-storage-4.6.0.tgz", + "integrity": "sha512-gAgNsnA7tEtV9LzzOnZTyVIb3cQtCva+bEBVT5pbRGU8ZSZTVKPBrTxIAYjeVfdSjyNXgfb1mr/CZrOJgeHyqg==", "dependencies": { "async": "^2.0.0", "lockfile": "^1.0.4", @@ -1668,6 +1555,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz", "integrity": "sha512-+hiIEb2Xxk6eDKJ2FFlpofCnemCbjbT5jz+BKGpVBrRNT3kWTGs4DfNX6IzGwgi33hUcXF+kFs9JW+r6Wc1LRg==", + "deprecated": "Please use @electron/osx-sign moving forward. Be aware the API is slightly different", "dev": true, "dependencies": { "bluebird": "^3.5.0", @@ -1709,18 +1597,18 @@ "node_modules/electron-osx-sign/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/electron-publish": { - "version": "23.0.2", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-23.0.2.tgz", - "integrity": "sha512-8gMYgWqv96lc83FCm85wd+tEyxNTJQK7WKyPkNkO8GxModZqt1GO8S+/vAnFGxilS/7vsrVRXFfqiCDUCSuxEg==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-23.6.0.tgz", + "integrity": "sha512-jPj3y+eIZQJF/+t5SLvsI5eS4mazCbNYqatv5JihbqOstIM13k0d1Z3vAWntvtt13Itl61SO6seicWdioOU5dg==", "dev": true, "dependencies": { "@types/fs-extra": "^9.0.11", - "builder-util": "23.0.2", - "builder-util-runtime": "9.0.0", + "builder-util": "23.6.0", + "builder-util-runtime": "9.1.1", "chalk": "^4.1.1", "fs-extra": "^10.0.0", "lazy-val": "^1.0.5", @@ -1884,15 +1772,6 @@ "node": ">=6" } }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -2402,7 +2281,7 @@ "node_modules/extract-zip/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/extsprintf": { @@ -2432,7 +2311,7 @@ "node_modules/fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, "dependencies": { "pend": "~1.2.0" @@ -2574,6 +2453,18 @@ "node": ">=6 <7 || >=8" } }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2738,30 +2629,6 @@ "node": ">=10.0" } }, - "node_modules/global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", - "dev": true, - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/global-dirs/node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/global-tunnel-ng": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", @@ -2851,7 +2718,7 @@ "node_modules/graceful-readlink": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==", "dev": true }, "node_modules/har-schema": { @@ -2944,15 +2811,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -3087,15 +2945,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -3122,7 +2971,7 @@ "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "devOptional": true + "optional": true }, "node_modules/internal-slot": { "version": "1.0.3", @@ -3276,22 +3125,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-installed-globally": { - "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, - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -3304,18 +3137,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-npm": { - "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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-number-object": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", @@ -3331,24 +3152,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -3424,12 +3227,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "dev": true - }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -3478,9 +3275,9 @@ } }, "node_modules/jake/node_modules/async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", "dev": true }, "node_modules/js-tokens": { @@ -3614,18 +3411,6 @@ "json-buffer": "3.0.0" } }, - "node_modules/latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dev": true, - "dependencies": { - "package-json": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/lazy-val": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", @@ -3743,30 +3528,6 @@ "node": ">=10" } }, - "node_modules/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, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/matcher": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", @@ -3836,6 +3597,31 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, + "node_modules/minipass": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", + "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -4130,30 +3916,6 @@ "node": ">=4" } }, - "node_modules/package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dev": true, - "dependencies": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/package-json/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -4214,7 +3976,7 @@ "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, "node_modules/performance-now": { @@ -4307,27 +4069,18 @@ } }, "node_modules/plist": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.5.tgz", - "integrity": "sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz", + "integrity": "sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==", "dev": true, "dependencies": { "base64-js": "^1.5.1", - "xmlbuilder": "^9.0.7" + "xmlbuilder": "^15.1.1" }, "engines": { "node": ">=6" } }, - "node_modules/plist/node_modules/xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -4421,18 +4174,6 @@ "node": ">=6" } }, - "node_modules/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, - "dependencies": { - "escape-goat": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", @@ -4445,7 +4186,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "devOptional": true, + "optional": true, "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -4522,30 +4263,6 @@ "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/registry-auth-token": { - "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, - "dependencies": { - "rc": "^1.2.8" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dev": true, - "dependencies": { - "rc": "^1.2.8" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -4698,9 +4415,9 @@ "dev": true }, "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -4718,27 +4435,6 @@ "dev": true, "optional": true }, - "node_modules/semver-diff": { - "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, - "dependencies": { - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/semver-diff/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/serialize-error": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", @@ -4795,6 +4491,27 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, + "node_modules/simple-update-notifier": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.8.tgz", + "integrity": "sha512-KPXw773wEyrIIhjZh83kmHGrmiAWTxwhAFOhN09IIN1I6ZAmh1luQnS9KPmFaz3X53dcIJ4II80iYV7z7LsUjQ==", + "dev": true, + "dependencies": { + "semver": "~7.0.0" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/single-line-log": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", @@ -5102,7 +4819,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "devOptional": true, + "optional": true, "engines": { "node": ">=0.10.0" } @@ -5143,6 +4860,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tar": { + "version": "6.1.12", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz", + "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/tar-fs": { "version": "1.16.3", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", @@ -5183,6 +4917,27 @@ "node": ">= 0.8.0" } }, + "node_modules/tar/node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/temp-file": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", @@ -5358,7 +5113,7 @@ "node_modules/truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", "dev": true, "dependencies": { "utf8-byte-length": "^1.0.1" @@ -5442,18 +5197,9 @@ "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -5467,73 +5213,15 @@ }, "funding": { "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "dev": true, - "dependencies": { - "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.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true + } }, - "node_modules/update-notifier/node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" + "engines": { + "node": ">= 4.0.0" } }, "node_modules/uri-js": { @@ -5559,7 +5247,7 @@ "node_modules/utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", + "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==", "dev": true }, "node_modules/util-deprecate": { @@ -5601,7 +5289,7 @@ "node_modules/verror/node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true, "optional": true }, @@ -5636,18 +5324,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dev": true, - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/win-mouse": { "version": "1.3.1", "resolved": "git+ssh://git@github.com/Toinane/win-mouse.git#279764072235b02c6b1710b8f57cef851424bb5c", @@ -5717,7 +5393,6 @@ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", "dev": true, - "optional": true, "engines": { "node": ">=8.0" } @@ -5775,7 +5450,7 @@ "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "dependencies": { "buffer-crc32": "~0.2.3", @@ -5820,9 +5495,9 @@ } }, "@electron/universal": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.2.0.tgz", - "integrity": "sha512-eu20BwNsrMPKoe2bZ3/l9c78LclDvxg3PlVXrQf3L50NaUuW5M59gbPytI+V4z7/QMrohUHetQaU0ou+p1UG9Q==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.2.1.tgz", + "integrity": "sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==", "dev": true, "requires": { "@malept/cross-spawn-promise": "^1.1.0", @@ -6014,9 +5689,9 @@ "dev": true }, "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", "dev": true, "optional": true }, @@ -6044,9 +5719,9 @@ } }, "@types/verror": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.5.tgz", - "integrity": "sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw==", + "version": "1.10.6", + "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.6.tgz", + "integrity": "sha512-NNm+gdePAX1VGvPcGZCDKQZKYSiAWigKhKaz5KF94hG6f2s8de9Ow5+7AbXoeKxL8gavZfk4UquSAygOF2duEQ==", "dev": true, "optional": true }, @@ -6111,15 +5786,6 @@ "dev": true, "requires": {} }, - "ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dev": true, - "requires": { - "string-width": "^4.1.0" - } - }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -6142,35 +5808,36 @@ "dev": true }, "app-builder-lib": { - "version": "23.0.3", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-23.0.3.tgz", - "integrity": "sha512-1qrtXYHXJfXhzJnMtVGjIva3067F1qYQubl2oBjI61gCBoCHvhghdYJ57XxXTQQ0VxnUhg1/Iaez87uXp8mD8w==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-23.6.0.tgz", + "integrity": "sha512-dQYDuqm/rmy8GSCE6Xl/3ShJg6Ab4bZJMT8KaTKGzT436gl1DN4REP3FCWfXoh75qGTJ+u+WsdnnpO9Jl8nyMA==", "dev": true, "requires": { "@develar/schema-utils": "~2.6.5", - "@electron/universal": "1.2.0", + "@electron/universal": "1.2.1", "@malept/flatpak-bundler": "^0.4.0", "7zip-bin": "~5.1.1", "async-exit-hook": "^2.0.1", "bluebird-lst": "^1.0.9", - "builder-util": "23.0.2", - "builder-util-runtime": "9.0.0", + "builder-util": "23.6.0", + "builder-util-runtime": "9.1.1", "chromium-pickle-js": "^0.2.0", - "debug": "^4.3.2", - "ejs": "^3.1.6", + "debug": "^4.3.4", + "ejs": "^3.1.7", "electron-osx-sign": "^0.6.0", - "electron-publish": "23.0.2", + "electron-publish": "23.6.0", "form-data": "^4.0.0", - "fs-extra": "^10.0.0", - "hosted-git-info": "^4.0.2", + "fs-extra": "^10.1.0", + "hosted-git-info": "^4.1.0", "is-ci": "^3.0.0", - "isbinaryfile": "^4.0.8", + "isbinaryfile": "^4.0.10", "js-yaml": "^4.1.0", "lazy-val": "^1.0.5", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "read-config-file": "6.2.0", "sanitize-filename": "^1.6.3", - "semver": "^7.3.5", + "semver": "^7.3.7", + "tar": "^6.1.11", "temp-file": "^3.4.0" }, "dependencies": { @@ -6247,9 +5914,9 @@ } }, "asar": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/asar/-/asar-3.1.0.tgz", - "integrity": "sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz", + "integrity": "sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==", "dev": true, "requires": { "@types/glob": "^7.1.1", @@ -6374,30 +6041,6 @@ "dev": true, "optional": true }, - "boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "dev": true, - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "type-fest": { - "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 - } - } - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -6459,9 +6102,9 @@ "dev": true }, "builder-util": { - "version": "23.0.2", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-23.0.2.tgz", - "integrity": "sha512-HaNHL3axNW/Ms8O1mDx3I07G+ZnZ/TKSWWvorOAPau128cdt9S+lNx5ocbx8deSaHHX4WFXSZVHh3mxlaKJNgg==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-23.6.0.tgz", + "integrity": "sha512-QiQHweYsh8o+U/KNCZFSvISRnvRctb8m/2rB2I1JdByzvNKxPeFLlHFRPQRXab6aYeXc18j9LpsDLJ3sGQmWTQ==", "dev": true, "requires": { "@types/debug": "^4.1.6", @@ -6469,10 +6112,10 @@ "7zip-bin": "~5.1.1", "app-builder-bin": "4.0.0", "bluebird-lst": "^1.0.9", - "builder-util-runtime": "9.0.0", + "builder-util-runtime": "9.1.1", "chalk": "^4.1.1", "cross-spawn": "^7.0.3", - "debug": "^4.3.2", + "debug": "^4.3.4", "fs-extra": "^10.0.0", "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", @@ -6513,12 +6156,12 @@ } }, "builder-util-runtime": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.0.0.tgz", - "integrity": "sha512-SkpEtSmTkREDHRJnxKEv43aAYp8sYWY8fxYBhGLBLOBIRXeaIp6Kv3lBgSD7uR8jQtC7CA659sqJrpSV6zNvSA==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.1.1.tgz", + "integrity": "sha512-azRhYLEoDvRDR8Dhis4JatELC/jUvYjm4cVSj7n9dauGTOM2eeNn9KS0z6YA6oDsjI1xphjNbY6PZZeHPzzqaw==", "dev": true, "requires": { - "debug": "^4.3.2", + "debug": "^4.3.4", "sax": "^1.2.4" } }, @@ -6579,12 +6222,6 @@ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -6613,15 +6250,9 @@ "dev": true }, "ci-info": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz", - "integrity": "sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg==", - "dev": true - }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.2.tgz", + "integrity": "sha512-lVZdhvbEudris15CLytp2u6Y0p5EKfztae9Fqa189MfNmln9F33XuH69v5fvNfiRN5/0eAUz2yJL3mo+nhaRKg==", "dev": true }, "cli-truncate": { @@ -6679,7 +6310,7 @@ "colors": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", "dev": true }, "combined-stream": { @@ -6699,7 +6330,7 @@ "compare-version": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", - "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=", + "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", "dev": true }, "concat-map": { @@ -6730,34 +6361,6 @@ "proto-list": "~1.2.1" } }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "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" - } - } - } - }, "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -6785,12 +6388,6 @@ "which": "^2.0.1" } }, - "crypto-random-string": { - "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 - }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -6821,7 +6418,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "devOptional": true + "optional": true }, "deep-is": { "version": "0.1.4", @@ -6872,7 +6469,7 @@ "commander": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "integrity": "sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==", "dev": true, "requires": { "graceful-readlink": ">= 1.0.0" @@ -6890,15 +6487,15 @@ } }, "dmg-builder": { - "version": "23.0.3", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-23.0.3.tgz", - "integrity": "sha512-mBYrHHnSM5PC656TDE+xTGmXIuWHAGmmRfyM+dV0kP+AxtwPof4pAXNQ8COd0/exZQ4dqf72FiPS3B9G9aB5IA==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-23.6.0.tgz", + "integrity": "sha512-jFZvY1JohyHarIAlTbfQOk+HnceGjjAdFjVn3n8xlDWKsYNqbO4muca6qXEZTfGXeQMG7TYim6CeS5XKSfSsGA==", "dev": true, "requires": { - "app-builder-lib": "23.0.3", - "builder-util": "23.0.2", - "builder-util-runtime": "9.0.0", - "dmg-license": "^1.0.9", + "app-builder-lib": "23.6.0", + "builder-util": "23.6.0", + "builder-util-runtime": "9.1.1", + "dmg-license": "^1.0.11", "fs-extra": "^10.0.0", "iconv-lite": "^0.6.2", "js-yaml": "^4.1.0" @@ -6959,15 +6556,6 @@ "esutils": "^2.0.2" } }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, "dotenv": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", @@ -7005,34 +6593,34 @@ } }, "electron": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/electron/-/electron-18.2.3.tgz", - "integrity": "sha512-DJWX03hCRKTscsfXxmW4gmgFuseop+g+m4ml7NfOMfankD8uYyr2Xyi3Ui02inL9qZOlbLMeLVCu6jKCKs8p/w==", + "version": "19.1.7", + "resolved": "https://registry.npmjs.org/electron/-/electron-19.1.7.tgz", + "integrity": "sha512-U5rCktIm/EeRjfg/9QFo29jzvZVV2z8Xw7r2NdGTpljmjd+7kySHvUHthO2hk8HETILJivL4+R5lF9zxcJ2J9w==", "dev": true, "requires": { - "@electron/get": "^1.13.0", + "@electron/get": "^1.14.1", "@types/node": "^16.11.26", "extract-zip": "^1.0.3" } }, "electron-builder": { - "version": "23.0.3", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-23.0.3.tgz", - "integrity": "sha512-0lnTsljAgcOMuIiOjPcoFf+WxOOe/O04hZPgIvvUBXIbz3kolbNu0Xdch1f5WuQ40NdeZI7oqs8Eo395PcuGHQ==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-23.6.0.tgz", + "integrity": "sha512-y8D4zO+HXGCNxFBV/JlyhFnoQ0Y0K7/sFH+XwIbj47pqaW8S6PGYQbjoObolKBR1ddQFPt4rwp4CnwMJrW3HAw==", "dev": true, "requires": { "@types/yargs": "^17.0.1", - "app-builder-lib": "23.0.3", - "builder-util": "23.0.2", - "builder-util-runtime": "9.0.0", + "app-builder-lib": "23.6.0", + "builder-util": "23.6.0", + "builder-util-runtime": "9.1.1", "chalk": "^4.1.1", - "dmg-builder": "23.0.3", + "dmg-builder": "23.6.0", "fs-extra": "^10.0.0", "is-ci": "^3.0.0", "lazy-val": "^1.0.5", "read-config-file": "6.2.0", - "update-notifier": "^5.1.0", - "yargs": "^17.0.1" + "simple-update-notifier": "^1.0.7", + "yargs": "^17.5.1" }, "dependencies": { "fs-extra": { @@ -7065,9 +6653,9 @@ } }, "electron-json-storage": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/electron-json-storage/-/electron-json-storage-4.5.0.tgz", - "integrity": "sha512-ML6Um4tZbJv938EbxvMJwzLA+v/wfWwEP+AXNum1zQF9RUFJ/SrRtIjGm9eFTFxURxn81r3ggdovuQikyF/m0Q==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/electron-json-storage/-/electron-json-storage-4.6.0.tgz", + "integrity": "sha512-gAgNsnA7tEtV9LzzOnZTyVIb3cQtCva+bEBVT5pbRGU8ZSZTVKPBrTxIAYjeVfdSjyNXgfb1mr/CZrOJgeHyqg==", "requires": { "async": "^2.0.0", "lockfile": "^1.0.4", @@ -7112,20 +6700,20 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } }, "electron-publish": { - "version": "23.0.2", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-23.0.2.tgz", - "integrity": "sha512-8gMYgWqv96lc83FCm85wd+tEyxNTJQK7WKyPkNkO8GxModZqt1GO8S+/vAnFGxilS/7vsrVRXFfqiCDUCSuxEg==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-23.6.0.tgz", + "integrity": "sha512-jPj3y+eIZQJF/+t5SLvsI5eS4mazCbNYqatv5JihbqOstIM13k0d1Z3vAWntvtt13Itl61SO6seicWdioOU5dg==", "dev": true, "requires": { "@types/fs-extra": "^9.0.11", - "builder-util": "23.0.2", - "builder-util-runtime": "9.0.0", + "builder-util": "23.6.0", + "builder-util-runtime": "9.1.1", "chalk": "^4.1.1", "fs-extra": "^10.0.0", "lazy-val": "^1.0.5", @@ -7262,12 +6850,6 @@ "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-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -7638,7 +7220,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true } } @@ -7667,7 +7249,7 @@ "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, "requires": { "pend": "~1.2.0" @@ -7786,6 +7368,15 @@ "universalify": "^0.1.0" } }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -7908,23 +7499,6 @@ "serialize-error": "^7.0.1" } }, - "global-dirs": { - "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": "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-tunnel-ng": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", @@ -7992,7 +7566,7 @@ "graceful-readlink": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==", "dev": true }, "har-schema": { @@ -8054,12 +7628,6 @@ "has-symbols": "^1.0.2" } }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "dev": true - }, "hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -8149,12 +7717,6 @@ "resolve-from": "^4.0.0" } }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true - }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -8178,7 +7740,7 @@ "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "devOptional": true + "optional": true }, "internal-slot": { "version": "1.0.3", @@ -8294,28 +7856,12 @@ "is-extglob": "^2.1.1" } }, - "is-installed-globally": { - "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": "^3.0.0", - "is-path-inside": "^3.0.2" - } - }, "is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true }, - "is-npm": { - "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-object": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", @@ -8325,18 +7871,6 @@ "has-tostringtag": "^1.0.0" } }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "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-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -8388,12 +7922,6 @@ "call-bind": "^1.0.2" } }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "dev": true - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -8430,9 +7958,9 @@ }, "dependencies": { "async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", "dev": true } } @@ -8552,15 +8080,6 @@ "json-buffer": "3.0.0" } }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dev": true, - "requires": { - "package-json": "^6.3.0" - } - }, "lazy-val": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", @@ -8656,23 +8175,6 @@ "yallist": "^4.0.0" } }, - "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": { - "semver": "^6.0.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 - } - } - }, "matcher": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", @@ -8721,6 +8223,25 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, + "minipass": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", + "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, "mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -8910,7 +8431,7 @@ }, "osx-mouse": { "version": "git+ssh://git@github.com/Toinane/osx-mouse.git#2cec72631834adb66f549ee036d2f8ee5434e95d", - "from": "osx-mouse@git+https://github.com/Toinane/osx-mouse", + "from": "osx-mouse@github:Toinane/osx-mouse", "optional": true, "requires": { "bindings": "^1.5.0", @@ -8947,26 +8468,6 @@ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dev": true, - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.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 - } - } - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -9012,7 +8513,7 @@ "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, "performance-now": { @@ -9083,21 +8584,13 @@ } }, "plist": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.5.tgz", - "integrity": "sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz", + "integrity": "sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==", "dev": true, "requires": { "base64-js": "^1.5.1", - "xmlbuilder": "^9.0.7" - }, - "dependencies": { - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", - "dev": true - } + "xmlbuilder": "^15.1.1" } }, "prelude-ls": { @@ -9178,15 +8671,6 @@ "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" - } - }, "qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", @@ -9196,7 +8680,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "devOptional": true, + "optional": true, "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -9255,24 +8739,6 @@ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, - "registry-auth-token": { - "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" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dev": true, - "requires": { - "rc": "^1.2.8" - } - }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -9400,9 +8866,9 @@ "dev": true }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "requires": { "lru-cache": "^6.0.0" } @@ -9414,23 +8880,6 @@ "dev": true, "optional": true }, - "semver-diff": { - "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": "^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 - } - } - }, "serialize-error": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", @@ -9472,6 +8921,23 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, + "simple-update-notifier": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.8.tgz", + "integrity": "sha512-KPXw773wEyrIIhjZh83kmHGrmiAWTxwhAFOhN09IIN1I6ZAmh1luQnS9KPmFaz3X53dcIJ4II80iYV7z7LsUjQ==", + "dev": true, + "requires": { + "semver": "~7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, "single-line-log": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", @@ -9693,7 +9159,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "devOptional": true + "optional": true }, "sumchecker": { "version": "3.0.1", @@ -9719,6 +9185,34 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, + "tar": { + "version": "6.1.12", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz", + "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + } + } + }, "tar-fs": { "version": "1.16.3", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", @@ -9913,7 +9407,7 @@ "truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", "dev": true, "requires": { "utf8-byte-length": "^1.0.1" @@ -9981,18 +9475,9 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, "unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -10005,60 +9490,12 @@ "which-boxed-primitive": "^1.0.2" } }, - "unique-string": { - "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": "^2.0.0" - } - }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true }, - "update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "dev": true, - "requires": { - "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.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.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": { - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - } - } - }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -10079,7 +9516,7 @@ "utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", + "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==", "dev": true }, "util-deprecate": { @@ -10114,7 +9551,7 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true, "optional": true } @@ -10142,15 +9579,6 @@ "is-symbol": "^1.0.3" } }, - "widest-line": { - "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": "^4.0.0" - } - }, "win-mouse": { "version": "git+ssh://git@github.com/Toinane/win-mouse.git#279764072235b02c6b1710b8f57cef851424bb5c", "from": "win-mouse@github:Toinane/win-mouse", @@ -10202,8 +9630,7 @@ "version": "15.1.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", - "dev": true, - "optional": true + "dev": true }, "xtend": { "version": "4.0.2", @@ -10246,7 +9673,7 @@ "yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "requires": { "buffer-crc32": "~0.2.3", diff --git a/package.json b/package.json index 9dfc53d4..5a271e6d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "colorpicker", "productName": "colorpicker", - "version": "2.1.0", + "version": "2.2.0", "description": "Colorpicker is a little Electron app that can show colors with hex/rgb code, and generate shading for your color.", "main": "src/main.js", "scripts": { @@ -15,7 +15,7 @@ "release-window": "electron-builder --publish=never --config colorpicker-build.json --win nsis portable", "nightly": "electron-builder --publish=never --config colorpicker-build-nightly.json", "nightly-linux": "electron-builder --publish=never --config colorpicker-build-nightly.json --linux deb appImage", - "rebuild": "npm rebuild --runtime=electron --target=18.2.3 --disturl=https://electronjs.org/headers --abi=103" + "rebuild": "npm rebuild --runtime=electron --target=19.1.7 --disturl=https://electronjs.org/headers --abi=106" }, "repository": "https://github.com/toinane/colorpicker", "keywords": [ @@ -29,19 +29,19 @@ "crea-that" ], "dependencies": { - "electron-json-storage": "^4.5.0", + "electron-json-storage": "^4.6.0", "request": "^2.88.2", "robotjs": "github:Toinane/robotjs", - "semver": "^7.3.7" + "semver": "^7.3.8" }, "optionalDependencies": { "iohook": "^0.9.3", - "osx-mouse": "git+https://github.com/Toinane/osx-mouse", + "osx-mouse": "github:Toinane/osx-mouse", "win-mouse": "github:Toinane/win-mouse" }, "devDependencies": { - "electron": "^18.2.3", - "electron-builder": "^23.0.3", + "electron": "^19.1.7", + "electron-builder": "^23.6.0", "standard": "^17.0.0" }, "author": { diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 2fd92585..f56a6b25 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -11,7 +11,6 @@ description: | - Picker: open an eyedropper who can pick a color from your desktop; - Colorsbook: open Colorsbook, a color manager; - Shading: show three bar of shading — hue bar, natural bar and lightness bar; - - Opacity: toggle Opacity range; - Clean Vue: unshow menu, ranges and inputs; - Magic color: show colors from the clipboard; - Random: show a random color; diff --git a/src/browsers/colorpicker.js b/src/browsers/colorpicker.js index 7e56b05b..9092a9a6 100644 --- a/src/browsers/colorpicker.js +++ b/src/browsers/colorpicker.js @@ -13,9 +13,10 @@ module.exports = (dirname, storage, util) => { */ let init = (force, color) => { const size = storage.get("size"); - if (win === null || win === undefined || force) + if (win === null || win === undefined || force) { createWindow(size.width, size.height); - else win.show(); + } + else { win.show(); } }; /** @@ -28,14 +29,13 @@ module.exports = (dirname, storage, util) => { const pos = storage.get("pos"); let options = { frame: false, - autoHideMenuBar: true, width: width, height: height, minWidth: 440, minHeight: 150, - transparent: true, icon: nativeImage.createFromPath(`${dirname}/build/icon.png`), webPreferences: { + devTools: true, preload: `${dirname}/preload.js`, }, }; @@ -47,12 +47,12 @@ module.exports = (dirname, storage, util) => { win = new BrowserWindow(options); win.loadURL(`file://${dirname}/views/colorpicker.html`); - if (touchbar) win.setTouchBar(touchbar); + if (touchbar) { win.setTouchBar(touchbar); } win.on("closed", () => { win = undefined; let totalWin = BrowserWindow.getAllWindows(); - for (let wins of totalWin) wins.close(); + for (let wins of totalWin) { wins.close(); } }); windowEvents(win); diff --git a/src/browsers/colorsbook.js b/src/browsers/colorsbook.js index 3873744b..bc2dded6 100644 --- a/src/browsers/colorsbook.js +++ b/src/browsers/colorsbook.js @@ -9,8 +9,8 @@ module.exports = (dirname, storage) => { * @return {void} [new Colorsbook] */ let init = () => { - if (win === null || win === undefined) createWindow(); - else win.show(); + if (win === null || win === undefined) { createWindow(); } + else { win.show(); } }; /** diff --git a/src/browsers/preview.js b/src/browsers/preview.js index 47fe65ea..5faabff2 100644 --- a/src/browsers/preview.js +++ b/src/browsers/preview.js @@ -11,8 +11,8 @@ module.exports = (dirname, storage) => { * @return {void} [new Colorpicker] */ let init = () => { - if (win === null || win === undefined) createWindow(); - else win.show(); + if (win === null || win === undefined) { createWindow(); } + else { win.show(); } }; /** diff --git a/src/browsers/settings.js b/src/browsers/settings.js index abbcf4af..c43b190d 100644 --- a/src/browsers/settings.js +++ b/src/browsers/settings.js @@ -11,8 +11,8 @@ module.exports = (dirname, storage) => { * @return {void} [new Colorpicker] */ let init = () => { - if (win === null || win === undefined) createWindow(); - else win.show(); + if (win === null || win === undefined) { createWindow(); } + else { win.show(); } }; /** diff --git a/src/events/colorpicker.js b/src/events/colorpicker.js index 81737353..7a7527e0 100644 --- a/src/events/colorpicker.js +++ b/src/events/colorpicker.js @@ -4,7 +4,8 @@ const { ipcMain, clipboard, Menu } = require("electron"); module.exports = (storage, browsers, eventEmitter) => { const { colorpicker, settings, picker, colorsbook } = browsers; - let win, opacity, shading; + let win; + let shading; eventEmitter.on("changeColor", (color) => { console.log(color); @@ -33,7 +34,7 @@ module.exports = (storage, browsers, eventEmitter) => { let colorsbook = storage.get("colors", "colorsbook"); colorsbook[ Object.getOwnPropertyNames(colorsbook)[ - Object.values(colorsbook).length - 1 + Object.values(colorsbook).length - 1 ] ].push(color); storage.add({ colors: colorsbook }, "colorsbook"); @@ -51,7 +52,7 @@ module.exports = (storage, browsers, eventEmitter) => { ipcMain.on("openMenu", (event, type) => { let menu; switch (type) { - case "colorpickerMenu": + case "colorpickerMenu": { menu = Menu.buildFromTemplate([ { label: "Pin to Foreground", @@ -90,11 +91,6 @@ module.exports = (storage, browsers, eventEmitter) => { accelerator: "CmdOrCtrl+T", click: () => event.sender.send("shortShading"), }, - { - label: "Toggle Opacity", - accelerator: "CmdOrCtrl+O", - click: () => event.sender.send("shortOpacity"), - }, { type: "separator" }, { label: "Set Random Color", @@ -115,47 +111,36 @@ module.exports = (storage, browsers, eventEmitter) => { ]); menu.popup(this.window); break; - case "colorMenu": + } + case "colorMenu": { menu = Menu.buildFromTemplate([ { label: "Delete", click: () => event.sender.send("deleteColor") }, ]); menu.popup(this.window); break; - case "categoryMenu": + } + case "categoryMenu": { menu = Menu.buildFromTemplate([ { label: "Delete", click: () => event.sender.send("deleteCategory") }, ]); menu.popup(this.window); break; + } } }); - ipcMain.on("opacityActive", (event, bool) => { - opacity = bool; - let size = win.getSize(); - if (!opacity && shading) return win.setMinimumSize(440, 220); - if (!opacity) return win.setMinimumSize(440, 150); - if (size[1] < 180 && !shading) win.setSize(size[0], 180, true); - if (size[1] < 255 && shading) win.setSize(size[0], 255, true); - if (!shading) win.setMinimumSize(440, 180); - else win.setMinimumSize(440, 255); - }); - ipcMain.on("shadingActive", (event, bool) => { shading = bool; let size = win.getSize(); - if (!shading && !opacity) return win.setMinimumSize(440, 150); - if (!shading && opacity) return win.setMinimumSize(440, 180); - if (size[1] < 220 && !opacity) win.setSize(size[0], 220, true); - if (size[1] < 255 && opacity) win.setSize(size[0], 255, true); - if (!opacity) win.setMinimumSize(440, 220); - else win.setMinimumSize(440, 255); + if (shading && size[1] < 220) { win.setSize(size[0], 220, true); } + if (shading) { return win.setMinimumSize(440, 220); } + if (!shading) { return win.setMinimumSize(440, 150); } }); ipcMain.on("minimize-colorpicker", (event) => win.minimize()); ipcMain.on("maximize-colorpicker", (event) => { - if (win.isMaximized()) return win.unmaximize(); - else return win.maximize(); + if (win.isMaximized()) { return win.unmaximize(); } + else { return win.maximize(); } }); ipcMain.on("close-colorpicker", (event) => win.close()); ipcMain.on("setOnTop", (event, bool) => win.setAlwaysOnTop(bool)); diff --git a/src/events/colorsbook.js b/src/events/colorsbook.js index 901b8ce5..e5bd6967 100644 --- a/src/events/colorsbook.js +++ b/src/events/colorsbook.js @@ -1,6 +1,6 @@ "use strict"; -const { ipcMain, BrowserWindow, app } = require("electron"); +const { ipcMain } = require("electron"); module.exports = (storage, browsers) => { const { colorpicker, settings, colorsbook } = browsers; @@ -18,7 +18,7 @@ module.exports = (storage, browsers) => { ipcMain.on("minimize-colorsbook", (event) => win.minimize()); ipcMain.on("maximize-colorsbook", (event, bool) => { - if (bool) return win.maximize(); + if (bool) { return win.maximize(); } return win.unmaximize(); }); ipcMain.on("close-colorsbook", (event) => win.close()); diff --git a/src/events/picker.js b/src/events/picker.js index 560102b1..f7ce9861 100644 --- a/src/events/picker.js +++ b/src/events/picker.js @@ -1,20 +1,21 @@ "use strict"; -const { ipcMain } = require("electron"); +const { ipcMain, screen } = require("electron"); const robot = require("robotjs"); -let size, mouse, mouseEvent, color; +let mouseEvent; +let color; module.exports = (storage, browsers) => { const { picker, colorpicker } = browsers; let closePicker = (newColor) => { - if (typeof newColor !== "string") newColor = color; + if (typeof newColor !== "string") { newColor = color; } if (picker.getWindow()) { colorpicker.getWindow().webContents.send("changeColor", newColor); colorpicker.getWindow().focus(); ipcMain.removeListener("closePicker", closePicker); - ipcMain.removeListener("pickerRequested", (event) => {}); + ipcMain.removeListener("pickerRequested", (event) => { }); picker.getWindow().close(); } }; @@ -25,21 +26,22 @@ module.exports = (storage, browsers) => { ioHook.start(); ioHook.on("mousemove", (event) => { - if (!picker.getWindow()) return; + if (!picker.getWindow()) { return; } let realtime = storage.get("realtime", "picker"); let { x, y } = event; - let color = "#" + robot.getPixelColor(parseInt(x), parseInt(y)); + let color = `#${robot.getPixelColor(parseInt(x), parseInt(y))}`; picker.getWindow().setPosition(parseInt(x) - 50, parseInt(y) - 50); picker.getWindow().webContents.send("updatePicker", color); - if (realtime) + if (realtime) { colorpicker.getWindow().webContents.send("previewColor", color); + } }); ioHook.on("mouseup", (event) => { - if (!picker.getWindow()) return; - if (event.button == 2) return closePicker(); + if (!picker.getWindow()) { return; } + if (event.button === 2) { return closePicker(); } let { x, y } = event; - closePicker("#" + robot.getPixelColor(parseInt(x), parseInt(y))); + closePicker(`#${robot.getPixelColor(parseInt(x), parseInt(y))}`); }); let pos = robot.getMousePos(); @@ -54,28 +56,32 @@ module.exports = (storage, browsers) => { ipcMain.on("pickerRequested", (event) => { let realtime = storage.get("realtime", "picker"); - if (process.platform !== "darwin" && process.platform !== "win32") + if (process.platform !== "darwin" && process.platform !== "win32") { return linuxSupport(); - if (process.platform === "darwin") mouseEvent = require("osx-mouse")(); - if (process.platform === "win32") mouseEvent = require("win-mouse")(); + } + if (process.platform === "darwin") { mouseEvent = require("osx-mouse")(); } + if (process.platform === "win32") { mouseEvent = require("win-mouse")(); } color = storage.get("lastColor"); picker.getWindow().on("close", () => mouseEvent.destroy()); mouseEvent.on("move", (x, y) => { - let color = "#" + robot.getPixelColor(parseInt(x), parseInt(y)); - picker.getWindow().setPosition(parseInt(x) - 50, parseInt(y) - 50); + let color = `#${robot.getPixelColor(parseInt(x), parseInt(y))}`; + const positionScreen = screen.getCursorScreenPoint() + + picker.getWindow().setPosition(positionScreen.x - 50, positionScreen.y - 50); picker.getWindow().webContents.send("updatePicker", color); - if (realtime) + if (realtime) { colorpicker.getWindow().webContents.send("previewColor", color); + } }); mouseEvent.on("left-up", (x, y) => { - closePicker("#" + robot.getPixelColor(parseInt(x), parseInt(y))); + closePicker(`#${robot.getPixelColor(parseInt(x), parseInt(y))}`); }); - let pos = robot.getMousePos(); - picker.getWindow().setPosition(parseInt(pos.x) - 50, parseInt(pos.y) - 50); + const pos = screen.getCursorScreenPoint() + picker.getWindow().setPosition(pos.x - 50, pos.y - 50); picker .getWindow() diff --git a/src/events/settings.js b/src/events/settings.js index 2d195435..00fb325e 100644 --- a/src/events/settings.js +++ b/src/events/settings.js @@ -87,19 +87,21 @@ module.exports = (storage, browsers) => { let message = ' Can\'t connect to server, check manually here'; request(options, (err, res, body) => { - if (err) return event.sender.send("update", message); + if (err) { return event.sender.send("update", message); } let update = JSON.parse(body); - if (update === undefined || update === null) + if (update === undefined || update === null) { return event.sender.send("update", message); - if (semver.lt(update.release, app.getVersion())) + } + if (semver.lt(update.release, app.getVersion())) { return event.sender.send( "update", ' You\'re up to date!' ); + } else { let notification = new Notification({ title: "New update available", - subtitle: update.release + " release is available!", + subtitle: `${update.release} release is available!`, }); notification.show(); notification.on("click", () => { diff --git a/src/main.js b/src/main.js index 70a634c4..907ead84 100644 --- a/src/main.js +++ b/src/main.js @@ -19,22 +19,25 @@ app.allowRendererProcessReuse = true; require("./events")(storage, browsers, eventEmitter); if (process.platform === "linux") { - app.commandLine.appendSwitch("enable-transparent-visuals"); app.disableHardwareAcceleration(); } let tray; let createTray = () => { - if (tray) return; - if (process.platform === "darwin") + if (tray) { return; } + if (process.platform === "darwin") { tray = new Tray(`${__dirname}/ressources/tray-black@3x.png`); - if (process.platform === "win32") + } + if (process.platform === "win32") { tray = new Tray(`${__dirname}/ressources/tray-black@3x.png`); // color here - if (process.platform === "linux") + } + if (process.platform === "linux") { tray = new Tray(`${__dirname}/ressources/tray-white@3x.png`); - if (process.platform === "darwin") + } + if (process.platform === "darwin") { tray.setPressedImage(`${__dirname}/ressources/tray-white@3x.png`); + } tray.on("click", (event) => colorpicker.init()); }; @@ -155,11 +158,6 @@ let setMenu = () => { accelerator: "CmdOrCtrl+T", click: () => colorpicker.getWindow().webContents.send("shortShading"), }, - { - label: "Toggle Opacity", - accelerator: "CmdOrCtrl+O", - click: () => colorpicker.getWindow().webContents.send("shortOpacity"), - }, { label: "Set Random Color", accelerator: "CmdOrCtrl+M", diff --git a/src/storage.js b/src/storage.js index b0d07160..e733810f 100644 --- a/src/storage.js +++ b/src/storage.js @@ -3,7 +3,9 @@ const electronStorage = require("electron-json-storage"); const { dialog } = require("electron"); -let storage, template, defaultStorage; +let storage; +let template; +let defaultStorage; /** * [init - init storage] @@ -12,8 +14,8 @@ let storage, template, defaultStorage; let init = () => new Promise((resolve, reject) => electronStorage.has("colorpicker", (err, exist) => { - if (err) throw err; - if (exist) resolve(fetch()); + if (err) { throw err; } + if (exist) { resolve(fetch()); } else { storage = defaultStorage; resolve(save()); @@ -35,19 +37,22 @@ let fetch = () => } storage = defaultStorage; for (let key in defaultStorage.colorpicker) { - if (!data.colorpicker) return; - if (!data.colorpicker.hasOwnProperty(key)) + if (!data.colorpicker) { return; } + if (!data.colorpicker.hasOwnProperty(key)) { data.colorpicker[key] = defaultStorage.colorpicker[key]; + } } for (let key in defaultStorage.picker) { - if (!data.picker) return; - if (!data.picker.hasOwnProperty(key)) + if (!data.picker) { return; } + if (!data.picker.hasOwnProperty(key)) { data.picker[key] = defaultStorage.picker[key]; + } } for (let key in defaultStorage.colorsbook) { - if (!data.colorsbook) return; - if (!data.colorsbook.hasOwnProperty(key)) + if (!data.colorsbook) { return; } + if (!data.colorsbook.hasOwnProperty(key)) { data.colorsbook[key] = defaultStorage.colorsbook[key]; + } } storage = data; resolve(true); @@ -61,7 +66,7 @@ let fetch = () => * @return {string|Object} [settings string or object] */ let get = (el, name) => { - if (!name) name = "colorpicker"; + if (!name) { name = "colorpicker"; } return storage[name][el] !== null || storage[name][el] !== undefined ? storage[name][el] : {}; @@ -74,7 +79,7 @@ let get = (el, name) => { */ let add = (payload, name) => new Promise((resolve, reject) => { - if (!name) name = "colorpicker"; + if (!name) { name = "colorpicker"; } Object.assign(storage[name], payload); resolve(save()); }); @@ -86,7 +91,7 @@ let add = (payload, name) => let save = () => new Promise((resolve, reject) => { electronStorage.set("colorpicker", storage, (err, data) => { - if (err) throw err; + if (err) { throw err; } resolve(true); }); }); @@ -146,7 +151,7 @@ template = { */ defaultStorage = { colorpicker: { - tools: ["top", "picker", "tags", "shade", "opacity", "settings"], + tools: ["top", "picker", "tags", "shade", "settings"], size: { width: 440, height: 150 }, buttonsPosition: template[platform()].buttonsPosition, buttonsType: template[platform()].buttonsType, diff --git a/src/views/css/app-buttons.css b/src/views/css/app-buttons.css index a784ff5a..5ae785c4 100644 --- a/src/views/css/app-buttons.css +++ b/src/views/css/app-buttons.css @@ -253,7 +253,7 @@ a { top: 50%; left: 38%; width: 10px; - border-bottom: 1px solid var(--window-icon-main-color); + border-bottom: 1.2px solid var(--window-icon-main-color); } .windows #maximize:not(.active)::before { @@ -261,9 +261,9 @@ a { position: absolute; top: 37%; left: 37%; - width: 10px; - height: 10px; - border: 1px solid var(--window-icon-main-color); + width: 9px; + height: 9px; + border: 1.2px solid var(--window-icon-main-color); border-radius: 2px; } diff --git a/src/views/css/colorpicker.css b/src/views/css/colorpicker.css index 18059b39..07f06f2c 100644 --- a/src/views/css/colorpicker.css +++ b/src/views/css/colorpicker.css @@ -146,12 +146,6 @@ header .naturals aside { transition: 0.5s; bottom: -10px; } -.opacity .sliders, -.opacity .alpha_bar, -.opacity .inputs, -.opacity #alpha_value { - bottom: 0.5px; -} .red_bar, .green_bar, diff --git a/src/views/js/color.class.js b/src/views/js/color.class.js index c85c4b49..0a28a7e6 100644 --- a/src/views/js/color.class.js +++ b/src/views/js/color.class.js @@ -62,15 +62,16 @@ class Color { Number(rgb[2]).toString(16), ]; for (let i = 0; i < 3; i++) { - if (hex[i] < 10 || hex[i].length === 1) hex[i] = "0" + hex[i]; + if (hex[i] < 10 || hex[i].length === 1) { hex[i] = `0${hex[i]}`; } } - return "#" + hex.join("").toUpperCase(); + return `#${hex.join("").toUpperCase()}`; } getRGBFromHex(hex) { hex = hex.replace(/^#/, ""); - if (hex.length === 3) + if (hex.length === 3) { hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]; + } let num = parseInt(hex, 16); return [num >> 16, (num >> 8) & 255, num & 255]; } @@ -86,20 +87,22 @@ class Color { let min = Math.min(r, g, b); let max = Math.max(r, g, b); let delta = max - min; - let h, s, l; + let h; + let s; + let l; - if (max === min) h = 0; - else if (r === max) h = (g - b) / delta; - else if (g === max) h = 2 + (b - r) / delta; - else if (b === max) h = 4 + (r - g) / delta; + if (max === min) { h = 0; } + else if (r === max) { h = (g - b) / delta; } + else if (g === max) { h = 2 + (b - r) / delta; } + else if (b === max) { h = 4 + (r - g) / delta; } h = Math.min(h * 60, 360); - if (h < 0) h += 360; + if (h < 0) { h += 360; } l = (min + max) / 2; - if (max === min) s = 0; - else if (l <= 0.5) s = delta / (max + min); - else s = delta / (2 - max - min); + if (max === min) { s = 0; } + else if (l <= 0.5) { s = delta / (max + min); } + else { s = delta / (2 - max - min); } return [Math.round(h), Math.round(s * 100), Math.round(l * 100)]; } @@ -108,26 +111,30 @@ class Color { let h = hsl[0] / 360; let s = hsl[1] / 100; let l = hsl[2] / 100; - let t1, t2, t3, rgb, val; + let t1; + let t2; + let t3; + let rgb; + let val; if (s === 0) { val = l * 255; return [val, val, val]; } - if (l < 0.5) t2 = l * (1 + s); - else t2 = l + s - l * s; + if (l < 0.5) { t2 = l * (1 + s); } + else { t2 = l + s - l * s; } t1 = 2 * l - t2; rgb = [0, 0, 0]; for (let i = 0; i < 3; i++) { t3 = h + (1 / 3) * -(i - 1); - if (t3 < 0) t3++; - if (t3 > 1) t3--; - if (6 * t3 < 1) val = t1 + (t2 - t1) * 6 * t3; - else if (2 * t3 < 1) val = t2; - else if (3 * t3 < 2) val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; - else val = t1; + if (t3 < 0) { t3++; } + if (t3 > 1) { t3--; } + if (6 * t3 < 1) { val = t1 + (t2 - t1) * 6 * t3; } + else if (2 * t3 < 1) { val = t2; } + else if (3 * t3 < 2) { val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; } + else { val = t1; } rgb[i] = Math.round(val * 255); } @@ -161,12 +168,12 @@ class Color { p = Math.round(p); q = Math.round(q); - if (hi === 0) return [v, t, p]; - else if (hi === 1) return [q, v, p]; - else if (hi === 2) return [p, v, t]; - else if (hi === 3) return [p, q, v]; - else if (hi === 4) return [t, p, v]; - else if (hi === 5) return [v, p, q]; + if (hi === 0) { return [v, t, p]; } + else if (hi === 1) { return [q, v, p]; } + else if (hi === 2) { return [p, v, t]; } + else if (hi === 3) { return [p, q, v]; } + else if (hi === 4) { return [t, p, v]; } + else if (hi === 5) { return [v, p, q]; } } getHSVFromRGB(rgb) { @@ -180,12 +187,12 @@ class Color { const s = max === 0 ? 0 : ((delta / max) * 1000) / 10; const v = ((max / 255) * 1000) / 10; - if (max === min) h = 0; - else if (r === max) h = (g - b) / delta; - else if (g === max) h = 2 + (b - r) / delta; - else if (b === max) h = 4 + (r - g) / delta; + if (max === min) { h = 0; } + else if (r === max) { h = (g - b) / delta; } + else if (g === max) { h = 2 + (b - r) / delta; } + else if (b === max) { h = 4 + (r - g) / delta; } h = Math.min(h * 60, 360); - if (h < 0) h += 360; + if (h < 0) { h += 360; } return [Math.round(h), Math.round(s), Math.round(v)]; } @@ -197,7 +204,7 @@ class Color { (parseInt(rgb[0], 10) * 299 + parseInt(rgb[1], 10) * 587 + parseInt(rgb[2], 10) * 114) / - 1000 + 1000 ) <= 140 ); } @@ -206,13 +213,13 @@ class Color { (parseInt(this.red, 10) * 299 + parseInt(this.green, 10) * 587 + parseInt(this.blue, 10) * 114) / - 1000 + 1000 ) <= 140 ); } setNegativeColor(rgb) { - if (!rgb) rgb = this.rgb; + if (!rgb) { rgb = this.rgb; } const negative = this.getNegativeColor(rgb); this.setColorFromRGB(negative); return negative; @@ -231,7 +238,7 @@ class Color { } getRedComplementary(rgb) { - if (!rgb) rgb = this.rgb; + if (!rgb) { rgb = this.rgb; } return [rgb[0], rgb[2], rgb[1]]; } @@ -240,7 +247,7 @@ class Color { } getGreenComplementary(rgb) { - if (!rgb) rgb = this.rgb; + if (!rgb) { rgb = this.rgb; } return [rgb[2], rgb[1], rgb[0]]; } @@ -249,7 +256,7 @@ class Color { } getBlueComplementary(rgb) { - if (!rgb) rgb = this.rgb; + if (!rgb) { rgb = this.rgb; } return [rgb[1], rgb[0], rgb[2]]; } @@ -261,8 +268,8 @@ class Color { getGrayscale(rgb) { var gray = parseInt(rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11, 10); - if (gray < 0) gray = 0; - if (gray > 255) gray = 255; + if (gray < 0) { gray = 0; } + if (gray > 255) { gray = 255; } return [gray, gray, gray]; } @@ -276,8 +283,8 @@ class Color { hsl = [hsl[0], hsl[1], hsl[2] + light]; let rgb = this.getRGBFromHSL(hsl); for (let i = 0; i < rgb.length; i++) { - if (rgb[i] < 0) rgb[i] = 0; - if (rgb[i] > 255) rgb[i] = 255; + if (rgb[i] < 0) { rgb[i] = 0; } + if (rgb[i] > 255) { rgb[i] = 255; } } return rgb; } @@ -312,8 +319,8 @@ class Color { getChangeHueFromHSL(degrees, hsl) { hsl[0] += degrees; - if (hsl[0] > 360) hsl[0] -= 360; - else if (hsl[0] < 0) hsl[0] += 360; + if (hsl[0] > 360) { hsl[0] -= 360; } + else if (hsl[0] < 0) { hsl[0] += 360; } return this.getRGBFromHSL(hsl); } @@ -326,8 +333,8 @@ class Color { getChangeHueFromRGB(degrees, rgb) { const hsl = this.getHSLFromRGB(rgb); hsl[0] += degrees; - if (hsl[0] > 360) hsl[0] -= 360; - else if (hsl[0] < 0) hsl[0] += 360; + if (hsl[0] > 360) { hsl[0] -= 360; } + else if (hsl[0] < 0) { hsl[0] += 360; } return this.getRGBFromHSL(hsl); } @@ -340,8 +347,8 @@ class Color { getChangeHueFromHex(degrees, hex) { const hsl = this.getHSLFromHex(hex); hsl[0] += degrees; - if (hsl[0] > 360) hsl[0] -= 360; - else if (hsl[0] < 0) hsl[0] += 360; + if (hsl[0] > 360) { hsl[0] -= 360; } + else if (hsl[0] < 0) { hsl[0] += 360; } return this.getHexFromHSL(hsl); } @@ -352,29 +359,29 @@ class Color { let v = hsv[2]; h += 0.8 * percent; - if (h > 360) h -= 360; - else if (h < 0) h += 360; + if (h > 360) { h -= 360; } + else if (h < 0) { h += 360; } if (hsv[0] > 240 || hsv[0] < 60) { - if (percent > 0) s -= 0.7 * percent; - else s -= 0.7 * percent; - if (s > 100) s = 100; - else if (s < 0) s = 0; - - if (percent < 0) v += 0.4 * percent; - else v += 0.3 * percent; - if (v > 100) v = 100; - else if (v < 0) v = 0; + if (percent > 0) { s -= 0.7 * percent; } + else { s -= 0.7 * percent; } + if (s > 100) { s = 100; } + else if (s < 0) { s = 0; } + + if (percent < 0) { v += 0.4 * percent; } + else { v += 0.3 * percent; } + if (v > 100) { v = 100; } + else if (v < 0) { v = 0; } } else { - if (percent > 0) s += 0.7 * percent; - else s += 0.7 * percent; - if (s > 100) s = 100; - else if (s < 0) s = 0; - - if (percent < 0) v -= 0.4 * percent; - else v -= 0.3 * percent; - if (v > 100) v = 100; - else if (v < 0) v = 0; + if (percent > 0) { s += 0.7 * percent; } + else { s += 0.7 * percent; } + if (s > 100) { s = 100; } + else if (s < 0) { s = 0; } + + if (percent < 0) { v -= 0.4 * percent; } + else { v -= 0.3 * percent; } + if (v > 100) { v = 100; } + else if (v < 0) { v = 0; } } return this.getRGBFromHSV([h, s, v]); diff --git a/src/views/js/colorpicker.class.js b/src/views/js/colorpicker.class.js index 54308c04..59946be0 100644 --- a/src/views/js/colorpicker.class.js +++ b/src/views/js/colorpicker.class.js @@ -39,7 +39,7 @@ class Colorpicker extends Color { } setNegativeColor(rgb) { - if (!rgb) rgb = this.rgb; + if (!rgb) { rgb = this.rgb; } const negative = this.getNegativeColor(rgb); this.setNewColor(this.getHexFromRGB(negative)); return negative; @@ -54,22 +54,25 @@ class Colorpicker extends Color { this.isDark = this.isDarkColor(this.rgb); for (let i = 0, total = Object.keys(this.rgbhtml).length; i < total; i++) { - if (total - 2 <= i) + if (total - 2 <= i) { this.rgbhtml[Object.keys(this.rgbhtml)[i]].value = this.rgba[Math.floor(i / 3)] * 255; + } else { - if (i === 9 && this.rgba[3].toString().length > 4) + if (i === 9 && this.rgba[3].toString().length > 4) { this.rgbhtml[Object.keys(this.rgbhtml)[i]].value = this.rgba[Math.floor(i / 3)].toFixed(2); - else + } + else { this.rgbhtml[Object.keys(this.rgbhtml)[i]].value = this.rgba[Math.floor(i / 3)]; + } } } this.hex_value.value = this.hex; this.body.classList.toggle("darkMode", this.isDark); this.body.style.background = this.getCSSFromRGBA(this.rgba); - if (this.isShadingActive) this.changeShading(); + if (this.isShadingActive) { this.changeShading(); } if (this.colorfullApp) { if (this.isDark) { @@ -99,8 +102,8 @@ class Colorpicker extends Color { saveColor(hex) { let newHistory = []; for (let i = 0; i < 9; i++) { - if (i === 0) newHistory[i] = hex; - if (this.history.length > i) newHistory[i + 1] = this.history[i]; + if (i === 0) { newHistory[i] = hex; } + if (this.history.length > i) { newHistory[i + 1] = this.history[i]; } } this.history = newHistory; @@ -120,28 +123,6 @@ class Colorpicker extends Color { window.api.send("clipboard", this.getCSSFromRGBA(this.rgba)); } - toggleOpacity() { - this.activeAlpha = document - .querySelector("#opacity_button") - .classList.toggle("active"); - document - .querySelector(".main") - .classList.toggle("opacity", this.activeAlpha); - if (!this.activeAlpha) { - let restore = () => { - if (this.alpha >= 1) { - this.alpha = 1; - return; - } - this.alpha = Math.round((this.alpha + 0.01) * 100) / 100; - this.setNewColor(this.hex); - setTimeout(restore, 5); - }; - restore(); - } - return this.activeAlpha; - } - changeShading() { let shading = document.querySelectorAll( "header .shades aside, header .tints aside, header .naturals aside" @@ -160,7 +141,7 @@ class Colorpicker extends Color { let hex = this.getLightnessFromHex(light, this.hex); html += ``; light += 2; - if (total === shades) document.querySelector(".shades").innerHTML = html; + if (total === shades) { document.querySelector(".shades").innerHTML = html; } } for ( @@ -171,7 +152,7 @@ class Colorpicker extends Color { let hex = this.getChangeHueFromHex(degrees, this.hex); html += ``; degrees += 10; - if (total === tints) document.querySelector(".tints").innerHTML = html; + if (total === tints) { document.querySelector(".tints").innerHTML = html; } } for ( @@ -182,8 +163,9 @@ class Colorpicker extends Color { let hex = this.getHexFromRGB(this.getNaturalFromRGB(percent, this.rgb)); html += ``; percent += 8; - if (total === naturals) + if (total === naturals) { document.querySelector(".naturals").innerHTML = html; + } } shading = document.querySelectorAll( diff --git a/src/views/js/colorpicker.events.js b/src/views/js/colorpicker.events.js index 61b4ffe8..ec1c8862 100644 --- a/src/views/js/colorpicker.events.js +++ b/src/views/js/colorpicker.events.js @@ -1,6 +1,7 @@ "use strict"; -let cp, cm; +let cp; +let cm; document.addEventListener( "DOMContentLoaded", @@ -15,8 +16,9 @@ window.api.on("init", (event, config) => { colorfullApp: config.colorfullApp, }); cm = new ContextMenu(); - if (config.posButton === "right") + if (config.posButton === "right") { document.querySelector(".toolbar").classList.add("setRight"); + } cm.initButtonsType(config.typeButton, "colorpicker"); initTools(config.tools); initToolsEvent(); @@ -36,7 +38,6 @@ window.api.on("shortNegative", () => cp.setNegativeColor()); window.api.on("shortPin", () => togglePin()); window.api.on("shortShading", () => toggleShading()); window.api.on("shortRandom", () => toggleRandom()); -window.api.on("shortOpacity", () => toggleOpacity()); window.api.on("shortApply", () => applyColor()); window.api.on("hasLooseFocus", (event, looseFocus) => @@ -44,9 +45,10 @@ window.api.on("hasLooseFocus", (event, looseFocus) => ); window.api.on("changePosition", (event, position) => { - if (position === "right") + if (position === "right") { document.querySelector(".toolbar").classList.add("setRight"); - else document.querySelector(".toolbar").classList.remove("setRight"); + } + else { document.querySelector(".toolbar").classList.remove("setRight"); } }); window.api.on("changeTypeIcons", (event, type) => @@ -65,16 +67,19 @@ function initTools(tools) { tags: { title: "Open Colorsbook", icon: "fa-bookmark" }, shade: { title: "Toggle Shading", icon: "fa-tint" }, random: { title: "Set Random Color", icon: "fa-random" }, - opacity: { title: "Toggle Opacity", icon: "fa-sliders-h" }, clean: { title: "Focus Mode", icon: "fa-adjust" }, apply: { title: "Get Clipboard's Colors", icon: "fa-clone" }, settings: { title: "Open Settings", icon: "fa-cog" }, }; for (let tool of tools) { - html += `

`; + if (allTools[tool] !== undefined) { + html += `

`; + } } + + document.querySelector("#tools").innerHTML = html; } @@ -97,7 +102,7 @@ function togglePin() { function toggleShading() { let bool = document.querySelector("#shade_button").classList.toggle("active"); - if (bool) cp.changeShading(); + if (bool) { cp.changeShading(); } cp.isShadingActive = bool; window.api.send("shadingActive", bool); document.querySelector("header").classList.toggle("shading"); @@ -110,36 +115,36 @@ function toggleRandom() { cp.setNewRGBColor([r, g, b]); } -function toggleOpacity() { - let bool = cp.toggleOpacity(); - window.api.send("opacityActive", bool); -} - function toggleClean() { let bool = document.querySelector("#clean_button").classList.toggle("active"); document.querySelector("body").classList.toggle("clean"); } function initToolsEvent() { - if (document.querySelector("#top_button")) + if (document.querySelector("#top_button")) { document.querySelector("#top_button").onclick = () => togglePin(); - if (document.querySelector("#picker_button")) + } + if (document.querySelector("#picker_button")) { document.querySelector("#picker_button").onclick = () => window.api.send("launchPicker"); - if (document.querySelector("#tags_button")) + } + if (document.querySelector("#tags_button")) { document.querySelector("#tags_button").onclick = () => window.api.send("launchColorsbook"); - if (document.querySelector("#shade_button")) + } + if (document.querySelector("#shade_button")) { document.querySelector("#shade_button").onclick = () => toggleShading(); - if (document.querySelector("#random_button")) + } + if (document.querySelector("#random_button")) { document.querySelector("#random_button").onclick = () => toggleRandom(); - if (document.querySelector("#opacity_button")) - document.querySelector("#opacity_button").onclick = () => toggleOpacity(); - if (document.querySelector("#clean_button")) + } + if (document.querySelector("#clean_button")) { document.querySelector("#clean_button").onclick = () => toggleClean(); - if (document.querySelector("#settings_button")) + } + if (document.querySelector("#settings_button")) { document.querySelector("#settings_button").onclick = () => window.api.send("showPreferences"); + } } function initEvents() { @@ -150,8 +155,8 @@ function initEvents() { document .querySelector(".toolbar") .addEventListener("dblclick", function (event) { - if (event.target !== this) return; - window.api.send(`maximize-colorpicker`); + if (event.target !== this) { return; } + window.api.send("maximize-colorpicker"); }); document.querySelector(".red_bar input").oninput = function () { @@ -175,38 +180,38 @@ function initEvents() { document.querySelector("#red_value").oninput = function () { let red = this.value; - if (red > 255) red = 255; - if (red < 0) red = 0; + if (red > 255) { red = 255; } + if (red < 0) { red = 0; } cp.setNewRGBColor([red, cp.green, cp.blue]); }; document.querySelector("#green_value").oninput = function () { let green = this.value; - if (green > 255) green = 255; - if (green < 0) green = 0; + if (green > 255) { green = 255; } + if (green < 0) { green = 0; } cp.setNewRGBColor([cp.red, green, cp.blue]); }; document.querySelector("#blue_value").oninput = function () { let blue = this.value; - if (blue > 255) blue = 255; - if (blue < 0) blue = 0; + if (blue > 255) { blue = 255; } + if (blue < 0) { blue = 0; } cp.setNewRGBColor([cp.red, cp.green, blue]); }; document.querySelector("#alpha_value").oninput = function () { let alpha = this.value; - if (alpha === "0.") return; - if (alpha === "1.") return cp.setNewAlphaColor(1); - if (isNaN(alpha) || alpha.length > 4) return cp.setNewAlphaColor(0); - if (alpha > 1) alpha = 1; - if (alpha < 0) alpha = 0; + if (alpha === "0.") { return; } + if (alpha === "1.") { return cp.setNewAlphaColor(1); } + if (isNaN(alpha) || alpha.length > 4) { return cp.setNewAlphaColor(0); } + if (alpha > 1) { alpha = 1; } + if (alpha < 0) { alpha = 0; } cp.setNewAlphaColor(alpha); }; document.querySelector("#hex_value").oninput = function () { let hex = this.value.replace("#", ""); - if (hex.length !== 6) return; + if (hex.length !== 6) { return; } cp.setNewColor(hex); }; diff --git a/src/views/js/colorsbook.js b/src/views/js/colorsbook.js index 6d1b6b6a..fdf35ec2 100644 --- a/src/views/js/colorsbook.js +++ b/src/views/js/colorsbook.js @@ -2,10 +2,10 @@ let cm; -let colorsbook = {}, - categoryActive, - categoryFocused, - colorFocused; +let colorsbook = {}; +let categoryActive; +let categoryFocused; +let colorFocused; document.addEventListener( "DOMContentLoaded", @@ -16,8 +16,9 @@ document.addEventListener( window.api.on("init", (event, config) => { cm = new ContextMenu(); colorsbook = config.colors; - if (config.posButton === "right") + if (config.posButton === "right") { document.querySelector(".toolbar").classList.add("setRight"); + } cm.initButtonsType(config.typeButton, "colorsbook"); initColorsbook(colorsbook, 0); initEvents(); @@ -30,9 +31,10 @@ window.api.on("changeTypeIcons", (event, type) => cm.initButtonsType(type, "colorsbook") ); window.api.on("changePosition", (event, position) => { - if (position === "right") + if (position === "right") { document.querySelector(".toolbar").classList.add("setRight"); - else document.querySelector(".toolbar").classList.remove("setRight"); + } + else { document.querySelector(".toolbar").classList.remove("setRight"); } }); window.api.on("deleteColor", () => deleteColor()); @@ -45,8 +47,9 @@ function initColorsbook(colorsbook, activeAt) { categoryActive = category; initColors(colorsbook[category]); categories += `
  • ${category}
  • `; - } else + } else { categories += `
  • ${category}
  • `; + } } categories += '
  • '; document.querySelector("#categories").innerHTML = categories; @@ -77,7 +80,7 @@ function initColors(colors) { } function addColor(color) { - if (!categoryActive) categoryActive = Object.values(colorsbook).length - 1; + if (!categoryActive) { categoryActive = Object.values(colorsbook).length - 1; } colorsbook[categoryActive].push(color); initColorsbook(colorsbook, categoryActive); initEvents(); @@ -101,7 +104,7 @@ function addCategory(name) { } function deleteCategory() { - delete colorsbook[categoryFocused]; + colorsbook[categoryFocused] = undefined; categoryActive = false; initColorsbook(colorsbook); initEvents(); @@ -166,9 +169,9 @@ document if (event.key === "Enter") { const regex = /^([0-9a-fA-F]{3}|([0-9a-fA-F]{6}))$/g; let color = this.value.replace("#", ""); - if (!regex.test(color)) return; + if (!regex.test(color)) { return; } this.value = ""; - addColor("#" + color); + addColor(`#${color}`); this.parentNode.classList.toggle("active"); } }); diff --git a/src/views/js/picker.js b/src/views/js/picker.js index b707f372..df38567e 100644 --- a/src/views/js/picker.js +++ b/src/views/js/picker.js @@ -1,6 +1,6 @@ document.querySelector( "#picker" -).style.border = `10px solid rgba(200, 200, 200, 0.3)`; +).style.border = "10px solid rgba(200, 200, 200, 0.3)"; document.addEventListener( "DOMContentLoaded", @@ -10,7 +10,7 @@ document.addEventListener( document.addEventListener( "keydown", (event) => { - if (event.key === "Escape") window.api.send("closePicker"); + if (event.key === "Escape") { window.api.send("closePicker"); } }, false ); diff --git a/src/views/js/settings.js b/src/views/js/settings.js index c165d14e..83cdd848 100644 --- a/src/views/js/settings.js +++ b/src/views/js/settings.js @@ -63,8 +63,9 @@ document.addEventListener( for (let el of document.querySelectorAll("header li")) { el.addEventListener("click", function (event) { document.querySelector(`#${tabActive}-tab`).classList.remove("active"); - if (document.querySelector("header li.active")) + if (document.querySelector("header li.active")) { document.querySelector("header li.active").classList.remove("active"); + } this.classList.add("active"); tabActive = this.id; document.querySelector(`#${tabActive}-tab`).classList.add("active"); @@ -81,10 +82,12 @@ window.api.on("init", (event, config) => { document .querySelector(`#type-icons li[data-type="${config.typeButton}"]`) .classList.add("active"); - if (config.colorfullApp) + if (config.colorfullApp) { document.querySelector("#colorfull-app").classList.add("active"); - if (config.realtime) + } + if (config.realtime) { document.querySelector("#picker-realtime").classList.add("active"); + } }); function initTools(selectedTools) { @@ -96,17 +99,17 @@ function initTools(selectedTools) { tags: { title: "Open Colorsbook", icon: "fa-bookmark" }, shade: { title: "Toggle Shading", icon: "fa-tint" }, random: { title: "Set Random Color", icon: "fa-random" }, - opacity: { title: "Toggle Opacity", icon: "fa-sliders-h" }, clean: { title: "Focus Mode", icon: "fa-adjust" }, settings: { title: "Open Settings", icon: "fa-cog" }, }; for (let tool of selectedTools) { - if (tool !== "apply") + if (tools[tool] !== undefined && tool !== "apply") { htmlSelected += `

    `; + } } for (let tool in tools) { - if (selectedTools.indexOf(tool) === -1) { + if (tools[tool] !== undefined && selectedTools.indexOf(tool) === -1) { htmlAll += `

    `; } } diff --git a/src/views/js/util.class.js b/src/views/js/util.class.js index fae0ff6b..54ef9fb5 100644 --- a/src/views/js/util.class.js +++ b/src/views/js/util.class.js @@ -1,7 +1,7 @@ "use strict"; class ContextMenu { - constructor() {} + constructor() { } openMenu(type) { window.api.send("openMenu", type); @@ -9,30 +9,31 @@ class ContextMenu { initButtonsType(type, name) { const appButtons = document.querySelector("#app_buttons"); - const minimize = document.querySelector("#minimize"); - const maximize = document.querySelector("#maximize"); - const close = document.querySelector("#close"); switch (type) { - case "windows": + case "windows": { appButtons.classList = "windows"; appButtons.innerHTML = '
    '; break; - case "linux": + } + case "linux": { appButtons.classList = "windows"; appButtons.innerHTML = '
    '; break; + } default: appButtons.classList = "darwin"; appButtons.innerHTML = '
    '; } - document.querySelector("#close").onclick = () => + document.querySelector("#close").onclick = () => { window.api.send(`close-${name}`); - document.querySelector("#minimize").onclick = () => + } + document.querySelector("#minimize").onclick = () => { window.api.send(`minimize-${name}`); + } document.querySelector("#maximize").onclick = function () { window.api.send(`maximize-${name}`); };