diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4166a704..377dc1c7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,18 +13,18 @@ jobs: os: [macos-latest, ubuntu-latest, windows-latest] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup NodeJS - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: - node-version: "14.x" + node-version: "16.x" - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - - uses: actions/cache@v2 + - uses: actions/cache@v3 id: yarn-cache with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} diff --git a/assets/youtube-music-tray.png b/assets/youtube-music-tray.png index 5e947ca1..bd53e7dc 100644 Binary files a/assets/youtube-music-tray.png and b/assets/youtube-music-tray.png differ diff --git a/config/defaults.js b/config/defaults.js index 0a920895..b4d52923 100644 --- a/config/defaults.js +++ b/config/defaults.js @@ -80,6 +80,7 @@ const defaultConfig = { }, "video-toggle": { enabled: false, + mode: "custom", forceHide: false, }, }, diff --git a/config/store.js b/config/store.js index 0b20693e..7ccd9f9f 100644 --- a/config/store.js +++ b/config/store.js @@ -3,6 +3,11 @@ const Store = require("electron-store"); const defaults = require("./defaults"); const migrations = { + ">=1.17.0": (store) => { + if (store.get("plugins.video-toggle.mode") === undefined) { + store.set("plugins.video-toggle.mode", "custom"); + } + }, ">=1.14.0": (store) => { if ( typeof store.get("plugins.precise-volume.globalShortcuts") !== "object" diff --git a/menu.js b/menu.js index e5bfebe9..e06a925a 100644 --- a/menu.js +++ b/menu.js @@ -51,6 +51,7 @@ const mainMenuTemplate = (win) => { label: plugin, submenu: [ pluginEnabledMenu(plugin, "Enabled", true, refreshMenu), + { type: "separator" }, ...getPluginMenu(win, config.plugins.getOptions(plugin), refreshMenu), ], }; diff --git a/package.json b/package.json index 7b677752..b682bee5 100644 --- a/package.json +++ b/package.json @@ -93,14 +93,14 @@ }, "dependencies": { "@cliqz/adblocker-electron": "^1.23.7", - "@electron/remote": "^2.0.5", + "@electron/remote": "^2.0.8", "@ffmpeg/core": "^0.10.0", "@ffmpeg/ffmpeg": "^0.10.1", "Simple-YouTube-Age-Restriction-Bypass": "https://gitpkg.now.sh/zerodytrash/Simple-YouTube-Age-Restriction-Bypass/dist?v2.4.6", "async-mutex": "^0.3.2", "browser-id3-writer": "^4.4.0", "chokidar": "^3.5.3", - "custom-electron-prompt": "^1.4.1", + "custom-electron-prompt": "^1.4.2", "custom-electron-titlebar": "^4.1.0", "discord-rpc": "^4.0.1", "electron-better-web-request": "^1.0.1", @@ -123,7 +123,7 @@ "devDependencies": { "auto-changelog": "^2.4.0", "electron": "^17.0.0", - "electron-builder": "^22.14.5", + "electron-builder": "^23.0.3", "electron-devtools-installer": "^3.1.1", "electron-icon-maker": "0.0.5", "jest": "^27.3.1", diff --git a/plugins/in-app-menu/front.js b/plugins/in-app-menu/front.js index aa025f3d..bef60632 100644 --- a/plugins/in-app-menu/front.js +++ b/plugins/in-app-menu/front.js @@ -3,7 +3,7 @@ const config = require("../../config"); const { Titlebar, Color } = require("custom-electron-titlebar"); function $(selector) { return document.querySelector(selector); } -module.exports = () => { +module.exports = (options) => { let visible = !config.get("options.hideMenu"); const bar = new Titlebar({ backgroundColor: Color.fromHex("#050505"), @@ -14,6 +14,10 @@ module.exports = () => { bar.updateTitle(" "); document.title = "Youtube Music"; + const hideIcon = hide => $('.cet-window-icon').style.display = hide ? 'none' : 'flex'; + + if (options.hideIcon) hideIcon(true); + ipcRenderer.on("refreshMenu", (_, showMenu) => { if (showMenu === undefined && !visible) return; if (showMenu === false) { @@ -25,6 +29,8 @@ module.exports = () => { } }); + ipcRenderer.on("hideIcon", (_, hide) => hideIcon(hide)); + // Increases the right margin of Navbar background when the scrollbar is visible to avoid blocking it (z-index doesn't affect it) document.addEventListener('apiLoaded', () => { setNavbarMargin(); diff --git a/plugins/in-app-menu/menu.js b/plugins/in-app-menu/menu.js new file mode 100644 index 00000000..dbfd88a3 --- /dev/null +++ b/plugins/in-app-menu/menu.js @@ -0,0 +1,14 @@ +const { setOptions } = require("../../config/plugins"); + +module.exports = (win, options) => [ + { + label: "Hide Icon", + type: "checkbox", + checked: options.hideIcon, + click: (item) => { + win.webContents.send("hideIcon", item.checked); + options.hideIcon = item.checked; + setOptions("in-app-menu", options); + }, + } +]; diff --git a/plugins/in-app-menu/style.css b/plugins/in-app-menu/style.css index 8c13c62b..fd0e8a84 100644 --- a/plugins/in-app-menu/style.css +++ b/plugins/in-app-menu/style.css @@ -57,10 +57,10 @@ yt-page-navigation-progress, /* The scrollbar 'thumb' ...that marque oval shape in a scrollbar */ ::-webkit-scrollbar-thumb:vertical { - background-clip: padding-box; border: 2px solid rgba(0, 0, 0, 0); background: #3a3a3a; + background-clip: padding-box; border-radius: 100px; -moz-border-radius: 100px; -webkit-border-radius: 100px; @@ -71,3 +71,7 @@ yt-page-navigation-progress, -moz-border-radius: 100px; -webkit-border-radius: 100px; } + +.cet-menubar-menu-container .cet-action-item { + background-color: inherit +} diff --git a/plugins/last-fm/back.js b/plugins/last-fm/back.js index 567dccc0..a0533d17 100644 --- a/plugins/last-fm/back.js +++ b/plugins/last-fm/back.js @@ -89,6 +89,7 @@ const postSongDataToAPI = async (songInfo, config, data) => { track: songInfo.title, duration: songInfo.songDuration, artist: songInfo.artist, + ...(songInfo.album ? { album: songInfo.album } : undefined), // will be undefined if current song is a video api_key: config.api_key, sk: config.session_key, format: 'json', @@ -157,4 +158,4 @@ const lastfm = async (_win, config) => { }); } -module.exports = lastfm; \ No newline at end of file +module.exports = lastfm; diff --git a/plugins/navigation/style.css b/plugins/navigation/style.css index 28693ba8..5c4b4b5d 100644 --- a/plugins/navigation/style.css +++ b/plugins/navigation/style.css @@ -3,7 +3,6 @@ font-size: 20px; line-height: var(--ytmusic-title-1_-_line-height); font-weight: 500; - color: #fff; --yt-endpoint-color: #fff; --yt-endpoint-hover-color: #fff; --yt-endpoint-visited-color: #fff; diff --git a/plugins/playback-speed/front.js b/plugins/playback-speed/front.js index 5755ad19..6f972d14 100644 --- a/plugins/playback-speed/front.js +++ b/plugins/playback-speed/front.js @@ -85,7 +85,7 @@ function forcePlaybackRate(e) { } module.exports = () => { - document.addEventListener('apiLoaded', e => { + document.addEventListener('apiLoaded', () => { observePopupContainer(); observeVideo(); setupWheelListener(); diff --git a/plugins/precise-volume/preload.js b/plugins/precise-volume/preload.js index 6a0fd482..31ae2f84 100644 --- a/plugins/precise-volume/preload.js +++ b/plugins/precise-volume/preload.js @@ -1,4 +1,3 @@ -const { ipcRenderer } = require("electron"); const is = require("electron-is"); let ignored = { diff --git a/plugins/skip-silences/front.js b/plugins/skip-silences/front.js index d7a8514c..77414eb9 100644 --- a/plugins/skip-silences/front.js +++ b/plugins/skip-silences/front.js @@ -3,7 +3,7 @@ const hark = require("hark/hark.bundle.js"); module.exports = () => { let isSilent = false; - document.addEventListener("apiLoaded", (apiEvent) => { + document.addEventListener("apiLoaded", () => { const video = document.querySelector("video"); const speechEvents = hark(video, { threshold: -100, // dB (-100 = absolute silence, 0 = loudest) diff --git a/plugins/video-toggle/back.js b/plugins/video-toggle/back.js index a56e61cf..b57f0722 100644 --- a/plugins/video-toggle/back.js +++ b/plugins/video-toggle/back.js @@ -4,7 +4,7 @@ const path = require("path"); module.exports = (win, options) => { if (options.forceHide) { injectCSS(win.webContents, path.join(__dirname, "force-hide.css")); - } else { + } else if (!options.mode || options.mode === "custom") { injectCSS(win.webContents, path.join(__dirname, "button-switcher.css")); } }; diff --git a/plugins/video-toggle/button-switcher.css b/plugins/video-toggle/button-switcher.css index 0029f921..626d3bd1 100644 --- a/plugins/video-toggle/button-switcher.css +++ b/plugins/video-toggle/button-switcher.css @@ -75,3 +75,8 @@ transform: translateX(0); transition: transform 300ms; } + +/* disable the native toggler */ +#av-id { + display: none; +} diff --git a/plugins/video-toggle/front.js b/plugins/video-toggle/front.js index 1226f640..ab82aef1 100644 --- a/plugins/video-toggle/front.js +++ b/plugins/video-toggle/front.js @@ -14,9 +14,24 @@ const switchButtonDiv = ElementFromFile( module.exports = (_options) => { if (_options.forceHide) return; - options = _options; - document.addEventListener('apiLoaded', setup, { once: true, passive: true }); -} + switch (_options.mode) { + case "native": { + $("ytmusic-player-page").setAttribute("has-av-switcher"); + $("ytmusic-player").setAttribute("has-av-switcher"); + return; + } + case "disabled": { + $("ytmusic-player-page").removeAttribute("has-av-switcher"); + $("ytmusic-player").removeAttribute("has-av-switcher"); + return; + } + default: + case "custom": { + options = _options; + document.addEventListener("apiLoaded", setup, { once: true, passive: true }); + } + } +}; function setup(e) { api = e.detail; @@ -25,8 +40,6 @@ function setup(e) { $('ytmusic-player-page').prepend(switchButtonDiv); - $('#song-image.ytmusic-player').style.display = "block"; - if (options.hideVideo) { $('.video-switch-button-checkbox').checked = false; changeDisplay(false); @@ -50,7 +63,10 @@ function setup(e) { function changeDisplay(showVideo) { player.style.margin = showVideo ? '' : 'auto 0px'; player.setAttribute('playback-mode', showVideo ? 'OMV_PREFERRED' : 'ATV_PREFERRED'); - $('#song-video.ytmusic-player').style.display = showVideo ? 'unset' : 'none'; + + $('#song-video.ytmusic-player').style.display = showVideo ? 'block' : 'none'; + $('#song-image').style.display = showVideo ? 'none' : 'block'; + if (showVideo && !video.style.top) { video.style.top = `${(player.clientHeight - video.clientHeight) / 2}px`; } diff --git a/plugins/video-toggle/menu.js b/plugins/video-toggle/menu.js index fb539405..2cf4be0a 100644 --- a/plugins/video-toggle/menu.js +++ b/plugins/video-toggle/menu.js @@ -1,6 +1,38 @@ const { setMenuOptions } = require("../../config/plugins"); module.exports = (win, options) => [ + { + label: "Mode", + submenu: [ + { + label: "Custom toggle", + type: "radio", + checked: options.mode === 'custom', + click: () => { + options.mode = 'custom'; + setMenuOptions("video-toggle", options); + } + }, + { + label: "Native toggle", + type: "radio", + checked: options.mode === 'native', + click: () => { + options.mode = 'native'; + setMenuOptions("video-toggle", options); + } + }, + { + label: "Disabled", + type: "radio", + checked: options.mode === 'disabled', + click: () => { + options.mode = 'disabled'; + setMenuOptions("video-toggle", options); + } + }, + ] + }, { label: "Force Remove Video Tab", type: "checkbox", diff --git a/web/screenshot.jpg b/web/screenshot.jpg index 80bdb47a..55ec5860 100644 Binary files a/web/screenshot.jpg and b/web/screenshot.jpg differ diff --git a/yarn.lock b/yarn.lock index 329991c9..2ee7dd74 100644 --- a/yarn.lock +++ b/yarn.lock @@ -716,21 +716,23 @@ global-agent "^3.0.0" global-tunnel-ng "^2.7.1" -"@electron/remote@^2.0.5": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@electron/remote/-/remote-2.0.7.tgz#9b02adf5cc21d91d648fff68770d390597509b4c" - integrity sha512-IjtMlSrkSmWNSnsvM0l2PQ3a50xFjco4M+arRi6BiziimgctNF8w8LB5NcRTs43OQZG91U/KGTWd89G1Fw7muA== +"@electron/remote@^2.0.8": + version "2.0.8" + resolved "https://registry.yarnpkg.com/@electron/remote/-/remote-2.0.8.tgz#85ff321f0490222993207106e2f720273bb1a5c3" + integrity sha512-P10v3+iFCIvEPeYzTWWGwwHmqWnjoh8RYnbtZAb3RlQefy4guagzIwcWtfftABIfm6JJTNQf4WPSKWZOpLmHXw== -"@electron/universal@1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.5.tgz#b812340e4ef21da2b3ee77b2b4d35c9b86defe37" - integrity sha512-zX9O6+jr2NMyAdSkwEUlyltiI4/EBLu2Ls/VD3pUQdi3cAYeYfdQnT2AJJ38HE4QxLccbU13LSpccw1IWlkyag== +"@electron/universal@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.2.0.tgz#518cac72bccd79c00bf41345119e6fdbabdb871d" + integrity sha512-eu20BwNsrMPKoe2bZ3/l9c78LclDvxg3PlVXrQf3L50NaUuW5M59gbPytI+V4z7/QMrohUHetQaU0ou+p1UG9Q== dependencies: "@malept/cross-spawn-promise" "^1.1.0" - asar "^3.0.3" + asar "^3.1.0" debug "^4.3.1" dir-compare "^2.4.0" fs-extra "^9.0.1" + minimatch "^3.0.4" + plist "^3.0.4" "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -1383,6 +1385,11 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + "@types/babel__core@^7.0.0": version "7.1.12" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" @@ -1870,29 +1877,29 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -app-builder-bin@3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.7.1.tgz#cb0825c5e12efc85b196ac3ed9c89f076c61040e" - integrity sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw== +app-builder-bin@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-4.0.0.tgz#1df8e654bd1395e4a319d82545c98667d7eed2f0" + integrity sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA== -app-builder-lib@22.14.5: - version "22.14.5" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.14.5.tgz#a61a50b132b858e98fdc70b6b88994ae99b4f96d" - integrity sha512-k3VwKP4kpsnUaXoUkm1s4zaSHPHIMFnN4kPMU9yXaKmE1LfHHqBaEah5bXeTAX5V/BC41wFdg8CF5vOjvgy8Rg== +app-builder-lib@23.0.3: + version "23.0.3" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-23.0.3.tgz#44c90237abdc4ad9b34a24658bee022828ad6205" + integrity sha512-1qrtXYHXJfXhzJnMtVGjIva3067F1qYQubl2oBjI61gCBoCHvhghdYJ57XxXTQQ0VxnUhg1/Iaez87uXp8mD8w== dependencies: "7zip-bin" "~5.1.1" "@develar/schema-utils" "~2.6.5" - "@electron/universal" "1.0.5" + "@electron/universal" "1.2.0" "@malept/flatpak-bundler" "^0.4.0" async-exit-hook "^2.0.1" bluebird-lst "^1.0.9" - builder-util "22.14.5" - builder-util-runtime "8.9.1" + builder-util "23.0.2" + builder-util-runtime "9.0.0" chromium-pickle-js "^0.2.0" debug "^4.3.2" ejs "^3.1.6" - electron-osx-sign "^0.5.0" - electron-publish "22.14.5" + electron-osx-sign "^0.6.0" + electron-publish "23.0.2" form-data "^4.0.0" fs-extra "^10.0.0" hosted-git-info "^4.0.2" @@ -1986,10 +1993,10 @@ arrify@^3.0.0: resolved "https://registry.yarnpkg.com/arrify/-/arrify-3.0.0.tgz#ccdefb8eaf2a1d2ab0da1ca2ce53118759fd46bc" integrity sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw== -asar@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/asar/-/asar-3.0.3.tgz#1fef03c2d6d2de0cbad138788e4f7ae03b129c7b" - integrity sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw== +asar@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/asar/-/asar-3.1.0.tgz#70b0509449fe3daccc63beb4d3c7d2e24d3c6473" + integrity sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ== dependencies: chromium-pickle-js "^0.2.0" commander "^5.0.0" @@ -2294,14 +2301,6 @@ buffer@^5.1.0, buffer@^5.2.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builder-util-runtime@8.9.1: - version "8.9.1" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz#25f066b3fbc20b3e6236a9b956b1ebb0e33ff66a" - integrity sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg== - dependencies: - debug "^4.3.2" - sax "^1.2.4" - builder-util-runtime@8.9.2: version "8.9.2" resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.2.tgz#a9669ae5b5dcabfe411ded26678e7ae997246c28" @@ -2310,21 +2309,31 @@ builder-util-runtime@8.9.2: debug "^4.3.2" sax "^1.2.4" -builder-util@22.14.5: - version "22.14.5" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.14.5.tgz#42a18608d2a566c0846e91266464776c8bfb0cc9" - integrity sha512-zqIHDFJwmA7jV7SC9aI+33MWwT2mWoijH+Ol9IntNAwuuRXoS+7XeJwnhLBXOhcDBzXT4kDzHnRk4JKeaygEYA== +builder-util-runtime@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.0.0.tgz#3a40ba7382712ccdb24471567f91d7c167e00830" + integrity sha512-SkpEtSmTkREDHRJnxKEv43aAYp8sYWY8fxYBhGLBLOBIRXeaIp6Kv3lBgSD7uR8jQtC7CA659sqJrpSV6zNvSA== + dependencies: + debug "^4.3.2" + sax "^1.2.4" + +builder-util@23.0.2: + version "23.0.2" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-23.0.2.tgz#da84a971076397e3a671726f4bb96f0c2214fea7" + integrity sha512-HaNHL3axNW/Ms8O1mDx3I07G+ZnZ/TKSWWvorOAPau128cdt9S+lNx5ocbx8deSaHHX4WFXSZVHh3mxlaKJNgg== dependencies: "7zip-bin" "~5.1.1" "@types/debug" "^4.1.6" "@types/fs-extra" "^9.0.11" - app-builder-bin "3.7.1" + app-builder-bin "4.0.0" bluebird-lst "^1.0.9" - builder-util-runtime "8.9.1" + builder-util-runtime "9.0.0" chalk "^4.1.1" cross-spawn "^7.0.3" debug "^4.3.2" fs-extra "^10.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" is-ci "^3.0.0" js-yaml "^4.1.0" source-map-support "^0.5.19" @@ -2753,10 +2762,10 @@ cssstyle@^2.3.0: dependencies: cssom "~0.3.6" -custom-electron-prompt@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/custom-electron-prompt/-/custom-electron-prompt-1.4.1.tgz#79adc3d5cd9a372e5dfe43b21de70f0fe7d1c2f7" - integrity sha512-bR6JhEusBxKnooXfFFlIIUhDbF23eaDhaYwvqcw3ZTcdEzzJew63+ilwhIwD7flRAO+sCroaLwP495VBexHg/A== +custom-electron-prompt@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/custom-electron-prompt/-/custom-electron-prompt-1.4.2.tgz#54aa1dc761854bc42ead0e87e0c86b4e55f31c0e" + integrity sha512-n4CMCO2HBR2YVgJg51gkHIEcXEWcfC4kkoXQx3HFR3E5hXBcZY9tizQ+fuhRL9QC2A9Ltkn+H3Nh+qUD85cxAA== custom-electron-titlebar@^4.1.0: version "4.1.0" @@ -2972,14 +2981,14 @@ discord-rpc@^4.0.1: optionalDependencies: register-scheme "github:devsnek/node-register-scheme" -dmg-builder@22.14.5: - version "22.14.5" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.14.5.tgz#137c0b55e639badcc0b119eb060e6fa4ed61d948" - integrity sha512-1GvFGQE332bvPamcMwZDqWqfWfJTyyDLOsHMcGi0zs+Jh7JOn6/zuBkHJIWHdsj2QJbhzLVyd2/ZqttOKv7I8w== +dmg-builder@23.0.3: + version "23.0.3" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-23.0.3.tgz#ea94bc76fcd94612641580f3c6ae42c3f07f3fee" + integrity sha512-mBYrHHnSM5PC656TDE+xTGmXIuWHAGmmRfyM+dV0kP+AxtwPof4pAXNQ8COd0/exZQ4dqf72FiPS3B9G9aB5IA== dependencies: - app-builder-lib "22.14.5" - builder-util "22.14.5" - builder-util-runtime "8.9.1" + app-builder-lib "23.0.3" + builder-util "23.0.2" + builder-util-runtime "9.0.0" fs-extra "^10.0.0" iconv-lite "^0.6.2" js-yaml "^4.1.0" @@ -3114,17 +3123,17 @@ electron-better-web-request@^1.0.1: url-match-patterns "^0.2.0" uuid "^3.3.2" -electron-builder@^22.14.5: - version "22.14.5" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.5.tgz#3a25547bd4fe3728d4704da80956a794c5c31496" - integrity sha512-N73hSbXFz6Mz5Z6h6C5ly6CB+dUN6k1LuCDJjI8VF47bMXv/QE0HE+Kkb0GPKqTqM7Hsk/yIYX+kHCfSkR5FGg== +electron-builder@^23.0.3: + version "23.0.3" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-23.0.3.tgz#16264a0d8e3d40da1467bcc8ef7917538b54a3bc" + integrity sha512-0lnTsljAgcOMuIiOjPcoFf+WxOOe/O04hZPgIvvUBXIbz3kolbNu0Xdch1f5WuQ40NdeZI7oqs8Eo395PcuGHQ== dependencies: "@types/yargs" "^17.0.1" - app-builder-lib "22.14.5" - builder-util "22.14.5" - builder-util-runtime "8.9.1" + app-builder-lib "23.0.3" + builder-util "23.0.2" + builder-util-runtime "9.0.0" chalk "^4.1.1" - dmg-builder "22.14.5" + dmg-builder "23.0.3" fs-extra "^10.0.0" is-ci "^3.0.0" lazy-val "^1.0.5" @@ -3191,10 +3200,10 @@ electron-localshortcut@^3.1.0, electron-localshortcut@^3.2.1: keyboardevent-from-electron-accelerator "^2.0.0" keyboardevents-areequal "^0.2.1" -electron-osx-sign@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz#fc258c5e896859904bbe3d01da06902c04b51c3a" - integrity sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ== +electron-osx-sign@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz#9b69c191d471d9458ef5b1e4fdd52baa059f1bb8" + integrity sha512-+hiIEb2Xxk6eDKJ2FFlpofCnemCbjbT5jz+BKGpVBrRNT3kWTGs4DfNX6IzGwgi33hUcXF+kFs9JW+r6Wc1LRg== dependencies: bluebird "^3.5.0" compare-version "^0.1.2" @@ -3203,14 +3212,14 @@ electron-osx-sign@^0.5.0: minimist "^1.2.0" plist "^3.0.1" -electron-publish@22.14.5: - version "22.14.5" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.14.5.tgz#34bcdce671f0e651330db20040d6919c77c94bd6" - integrity sha512-h+NANRdaA0PqGF15GKvorseWPzh1PXa/zx4I37//PIokW8eKIov8ky23foUSb55ZFWUHGpxQJux7y2NCfBtQeg== +electron-publish@23.0.2: + version "23.0.2" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-23.0.2.tgz#aa11419ae57b847df4beb63b95e2b2a43161957c" + integrity sha512-8gMYgWqv96lc83FCm85wd+tEyxNTJQK7WKyPkNkO8GxModZqt1GO8S+/vAnFGxilS/7vsrVRXFfqiCDUCSuxEg== dependencies: "@types/fs-extra" "^9.0.11" - builder-util "22.14.5" - builder-util-runtime "8.9.1" + builder-util "23.0.2" + builder-util-runtime "9.0.0" chalk "^4.1.1" fs-extra "^10.0.0" lazy-val "^1.0.5" @@ -4523,6 +4532,15 @@ http-proxy-agent@^4.0.1: agent-base "6" debug "4" +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -6811,7 +6829,7 @@ playwright@^1.17.1: dependencies: playwright-core "=1.17.1" -plist@^3.0.1: +plist@^3.0.1, plist@^3.0.4: version "3.0.5" resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.5.tgz#2cbeb52d10e3cdccccf0c11a63a85d830970a987" integrity sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==