From 1e102c3c859efa1da17a8de5ceadc77795e676ed Mon Sep 17 00:00:00 2001 From: Yuuto <55290516+JustYuuto@users.noreply.github.com> Date: Sun, 21 Apr 2024 16:07:54 +0200 Subject: [PATCH] 1.2.3 --- .eslintrc.json | 5 ++ .github/dependabot.yml | 6 ++ .github/workflows/publish.yml | 72 +++++++++++++++++ CHANGELOG.md | 5 ++ README.md | 7 +- bin/build.js | 11 ++- package.json | 14 ++-- src/preload.ts | 1 + src/utils/Activity.ts | 6 +- src/utils/AdBlock.ts | 4 +- src/utils/Config.ts | 1 + src/utils/Window.ts | 11 ++- yarn.lock | 143 ++++++++++++++++++---------------- 13 files changed, 194 insertions(+), 92 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/publish.yml diff --git a/.eslintrc.json b/.eslintrc.json index bc7aab0..659081e 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -15,6 +15,11 @@ "plugins": [ "@typescript-eslint" ], + "ignorePatterns": [ + "dist/", + "node_modules/", + "bin/" + ], "rules": { "indent": ["error", 2, { "SwitchCase": 1 }], "quotes": ["error", "single"], diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..ff9caa9 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "monthly" diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..bf105a1 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,72 @@ +name: Publish to GitHub Releases + +on: + push: + branches: [master] + +jobs: + build-and-deploy: + runs-on: macos-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Setup Node.js environment + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Cache dependencies and build outputs + uses: actions/cache@v2 + with: + path: ~/.npm + key: "${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}" + restore-keys: ${{ runner.os }}-node- + + - name: Install dependencies + run: npm ci + + - name: Check version changes + id: check-version + run: | + VERSION=$(node -p "require('./package.json').version") + echo "VERSION=$VERSION" >> $GITHUB_ENV + if git tag | grep -q "v$VERSION"; then + echo "The version has not changed." + echo "::set-output name=changed::false" + else + echo "The version has changed." + echo "::set-output name=changed::true" + fi + + - name: Build + run: npm run build + + - name: Upload Artifacts + uses: actions/upload-artifact@v2 + with: + name: build + path: dist/ + + - name: Extract release notes + id: release-notes + run: | + RELEASE_NOTES=$(awk -v version="$VERSION" '/## \[/{flag=0} /## \['$version'\]/{flag=1} flag' CHANGELOG.md) + echo "RELEASE_NOTES=$RELEASE_NOTES" >> $GITHUB_ENV + + - name: Create a GitHub Release + if: steps.check-version.outputs.changed == 'true' + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ env.VERSION }} + release_name: v${{ env.VERSION }} + draft: false + prerelease: false + body: | + **What's new in this release?** + + ${{ env.RELEASE_NOTES }} + diff --git a/CHANGELOG.md b/CHANGELOG.md index de69391..161836d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 1.2.3 + +* Fixed the RPC not working +* Upgraded packages + ## 1.2.2 * Upgraded packages diff --git a/README.md b/README.md index 9ef2c13..2e8dab4 100644 --- a/README.md +++ b/README.md @@ -5,18 +5,17 @@ GitHub release (latest by date including pre-releases) GitHub commit activity
-

A Discord RPC for showing the music you're listening to on Deezer (like Spotify integration).

-

If you want to use it on your phone, the app is available on Android: latest release

+

A Discord RPC for showing the music you're listening to on Deezer (like the Spotify integration).

## Features * Updates instantly -* Shows the song title, the song artist(s), the album cover (when the mouse is over the album cover the album title is shown) and the song duration +* Shows the song title, the song artist(s), the album cover (when the mouse is over the album cover, the album title is shown) and the song duration * On the RPC there's a "Listen along" button like on the Spotify integration. This is a link to the song * An in-app updater * Can hide the activity if song is not playing -* Can set a "Listening to" status (like Spotify) (**requires your Discord token**) +* Can set a "Listening to" status (**requires your Discord token**) * Includes an ad-blocker, so it can block Deezer ads, Sentry requests... * Supports songs, radios, personal songs, podcasts diff --git a/bin/build.js b/bin/build.js index fbdb97b..bc579f1 100644 --- a/bin/build.js +++ b/bin/build.js @@ -36,9 +36,12 @@ const config = { ] }; -const platform = process.argv[2]; -if (!builder.Platform[platform.toUpperCase()]) throw new Error(`The platform "${platform}" is not supported for building. Supported: windows, linux, mac`); - -builder.build({ targets: builder.Platform[platform.toUpperCase()].createTarget(), config }).then(() => { +builder.build({ + config, + // mac: ['dmg'], + win: ['nsis'], + // linux: ['snap', 'deb', 'AppImage'], + x64: true, +}).then(() => { console.log('\nSetup built in the "dist" folder.'); }); diff --git a/package.json b/package.json index 2c468ec..f637f20 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "deezer-discord-rpc", - "version": "1.2.2", + "version": "1.2.3", "description": "A Discord RPC for Deezer", "main": "./build/src/index.js", "scripts": { @@ -10,7 +10,7 @@ "run": "yarn build:ts && yarn run copy-assets && yarn start", "postinstall": "electron-builder install-app-deps", "lint": "eslint --fix --ext .ts ./src", - "copy-assets": "cpy ./src/img/* ./build/ && cpy ./src/prompt.html ./build/" + "copy-assets": "cpy ./src/img/* ./build/src/img/ && cpy ./src/prompt.html ./build/" }, "dependencies": { "@cliqz/adblocker-electron": "^1.26.2", @@ -25,13 +25,13 @@ "@typescript-eslint/eslint-plugin": "^6.16.0", "@typescript-eslint/parser": "^6.16.0", "cpy-cli": "^4.2.0", - "electron": "^28.1.0", - "electron-builder": "^24.9.1", + "electron": "^30.0.1", + "electron-builder": "^24.13.3", "eslint": "^8.56.0", - "fs-extra": "^11.1.1", + "fs-extra": "^11.2.0", "png-to-ico": "^2.1.4", - "ts-node": "^10.4.0", - "typescript": "^4.5.4" + "ts-node": "^10.9.2", + "typescript": "^5.4.5" }, "repository": "https://github.com/JustYuuto/deezer-discord-rpc.git", "author": { diff --git a/src/preload.ts b/src/preload.ts index 8f3c7d7..e5793ca 100644 --- a/src/preload.ts +++ b/src/preload.ts @@ -1,3 +1,4 @@ +// eslint-disable-next-line @typescript-eslint/no-var-requires const { contextBridge, ipcRenderer } = require('electron'); contextBridge.exposeInMainWorld('ipcRenderer', { diff --git a/src/utils/Activity.ts b/src/utils/Activity.ts index 8d8d0b3..cc60c9a 100644 --- a/src/utils/Activity.ts +++ b/src/utils/Activity.ts @@ -6,6 +6,7 @@ import { RichPresence } from 'discord.js-selfbot-v13'; export async function setActivity(options: { client: import('discord-rpc').Client | import('discord.js-selfbot-v13').Client, albumId: number, trackId: string, playing: boolean, timeLeft: number, + // eslint-disable-next-line @typescript-eslint/no-explicit-any trackTitle: string, trackArtists: any, albumCover: string, albumTitle: string, app: Electron.App, type: string }) { const { @@ -71,9 +72,10 @@ export async function setActivity(options: { .setName('Deezer') .setDetails(trackTitle) .setState(trackArtists) - // @ts-ignore + // @ts-expect-error wrong type .setStartTimestamp(playing && Date.now()) - // @ts-ignore + // @ts-expect-error wrong type too + // eslint-disable-next-line no-unexpected-multiline [isLivestream ? 'setStartTimestamp' : 'setEndTimestamp'](playing && Date.now() + timeLeft) .setApplicationId(clientId) .setAssetsLargeImage('mp:'.concat((await RichPresence.getExternal(client, clientId, albumCover, ''))[0].external_asset_path)) diff --git a/src/utils/AdBlock.ts b/src/utils/AdBlock.ts index 81e783b..5a81472 100644 --- a/src/utils/AdBlock.ts +++ b/src/utils/AdBlock.ts @@ -7,10 +7,8 @@ export default async function (app: Electron.App, win: Electron.BrowserWindow) { enableCompression: true }, { path: join(app.getPath('userData'), 'engine.bin'), - // @ts-ignore read: async (...args) => readFileSync(...args), - // @ts-ignore write: async (...args) => writeFileSync(...args), }); blocker.enableBlockingInSession(win.webContents.session); -} \ No newline at end of file +} diff --git a/src/utils/Config.ts b/src/utils/Config.ts index 7f182e8..fc99abb 100644 --- a/src/utils/Config.ts +++ b/src/utils/Config.ts @@ -25,6 +25,7 @@ export function set(app: Electron.App, key: string, value: unknown) { export function get(app: Electron.App, key?: string) { const path = getConfigPath(app); if (!existsSync(path)) writeFileSync(path, '{}'); + // eslint-disable-next-line @typescript-eslint/no-var-requires const data = require(path); return key ? data[key] : data; } diff --git a/src/utils/Window.ts b/src/utils/Window.ts index f40a653..8abaaad 100644 --- a/src/utils/Window.ts +++ b/src/utils/Window.ts @@ -156,7 +156,7 @@ async function updateActivity(app: Electron.App, currentTimeChanged?: boolean) { const albumName = (!isLivestreamRadio ? dzPlayer.getAlbumTitle() : dzPlayer.getCurrentSong().LIVESTREAM_TITLE) || dzPlayer.getCurrentSong()?.SHOW_NAME || playerInfo; const artists = dzPlayer.getCurrentSong()?.ARTISTS?.map(art => art.ART_NAME)?.join(', ') || dzPlayer.getArtistName() || - dzPlayer.getCurrentSong()?.SHOW_NAME || playerInfo.split(' · ')[1]; + dzPlayer.getCurrentSong()?.SHOW_NAME || playerInfo?.split(' · ')?.[1]; const playing = dzPlayer.isPlaying(); const songTime = Math.floor(dzPlayer.getDuration() * 1000); const timeLeft = Math.floor(dzPlayer.getRemainingTime() * 1000); @@ -171,8 +171,7 @@ async function updateActivity(app: Electron.App, currentTimeChanged?: boolean) { runJs(code).then(async (r) => { const result: JSResult = JSON.parse(r); const realSongTime = result.songTime; - // @ts-ignore - if (!currentTrack?.songTime) currentTrack?.songTime = realSongTime; + if (!currentTrack?.songTime) currentTrack.songTime = realSongTime; if ( currentTrack?.trackTitle !== result.trackName || currentTrack?.playing !== result.playing || currentTimeChanged === true || currentTrack?.songTime !== realSongTime @@ -187,11 +186,11 @@ async function updateActivity(app: Electron.App, currentTimeChanged?: boolean) { else if (currentTimeChanged && currentTimeChanged === true) reason = UpdateReason.MUSIC_TIME_CHANGED; else if (currentTrack?.songTime !== realSongTime) reason = UpdateReason.MUSIC_NOT_RIGHT_TIME; log('Activity', 'Updating because', reason); - // @ts-ignore + // @ts-expect-error wrong type currentTrack = { trackId: result.trackId, trackTitle: result.trackName, - trackArtists: result.artists || result.playerType.replace(result.playerType[0], result.playerType[0].toUpperCase()), + trackArtists: result.playerType === 'mod' && !result.artists ? 'Unknown' : result.artists || result.playerType.replace(result.playerType[0], result.playerType[0].toUpperCase()), albumCover: result.coverUrl, albumTitle: result.albumName || result.trackName, playing: result.playing, @@ -225,7 +224,7 @@ interface JSResult { albumId: number, playing: boolean, coverUrl?: string, - playerType: 'track' | 'radio' | 'ad', + playerType: 'track' | 'radio' | 'ad' | 'mod', artists: string, albumName: string, isLivestreamRadio: boolean, diff --git a/yarn.lock b/yarn.lock index 3c4de58..359789f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -161,10 +161,10 @@ optionalDependencies: global-agent "^3.0.0" -"@electron/notarize@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-2.1.0.tgz#76aaec10c8687225e8d0a427cc9df67611c46ff3" - integrity sha512-Q02xem1D0sg4v437xHgmBLxI2iz/fc0D4K7fiVWHa/AnW8o7D751xyKNXgziA6HrTOme9ul1JfWN5ark8WH1xA== +"@electron/notarize@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-2.2.1.tgz#d0aa6bc43cba830c41bfd840b85dbe0e273f59fe" + integrity sha512-aL+bFMIkpR0cmmj5Zgy0LMKEpgy43/hw5zadEArgmAMWWlKc5buwFvFT9G/o/YJkvXAJm5q3iuTuLaiaXW39sg== dependencies: debug "^4.1.1" fs-extra "^9.0.1" @@ -182,10 +182,10 @@ minimist "^1.2.6" plist "^3.0.5" -"@electron/universal@1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.4.1.tgz#3fbda2a5ed9ff9f3304c8e8316b94c1e3a7b3785" - integrity sha512-lE/U3UNw1YHuowNbTmKNs9UlS3En3cPgwM5MI+agIgr/B1hSze9NdOP0qn7boZaI9Lph8IDv3/24g9IxnJP7aQ== +"@electron/universal@1.5.1": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.5.1.tgz#f338bc5bcefef88573cf0ab1d5920fac10d06ee5" + integrity sha512-kbgXxyEauPJiQQUNG2VgUeyfQNFk6hBF11ISN2PNI6agUgPl55pv4eQmaqHzTAzchBvqZ2tQuRVaPStGf0mxGw== dependencies: "@electron/asar" "^3.2.1" "@malept/cross-spawn-promise" "^1.1.0" @@ -491,10 +491,12 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== -"@types/node@^18.11.18": - version "18.17.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.17.4.tgz#bf8ae9875528929cc9930dc3f066cd0481fe1231" - integrity sha512-ATL4WLgr7/W40+Sp1WnNTSKbgVn6Pvhc/2RHAdt8fl6NsQyp4oPCi2eKcGOvA494bwf1K/W6nGgZ9TwDqvpjdw== +"@types/node@^20.9.0": + version "20.12.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.7.tgz#04080362fa3dd6c5822061aa3124f5c152cff384" + integrity sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== + dependencies: + undici-types "~5.26.4" "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -717,26 +719,25 @@ app-builder-bin@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@24.9.1: - version "24.9.1" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-24.9.1.tgz#bf3568529298b4de8595ed1acbb351fe27db5ba4" - integrity sha512-Q1nYxZcio4r+W72cnIRVYofEAyjBd3mG47o+zms8HlD51zWtA/YxJb01Jei5F+jkWhge/PTQK+uldsPh6d0/4g== +app-builder-lib@24.13.3: + version "24.13.3" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-24.13.3.tgz#36e47b65fecb8780bb73bff0fee4e0480c28274b" + integrity sha512-FAzX6IBit2POXYGnTCT8YHFO/lr5AapAII6zzhQO3Rw4cEDOgK+t1xhLc5tNcKlicTHlo9zxIwnYCX9X2DLkig== dependencies: - "7zip-bin" "~5.2.0" "@develar/schema-utils" "~2.6.5" - "@electron/notarize" "2.1.0" + "@electron/notarize" "2.2.1" "@electron/osx-sign" "1.0.5" - "@electron/universal" "1.4.1" + "@electron/universal" "1.5.1" "@malept/flatpak-bundler" "^0.4.0" "@types/fs-extra" "9.0.13" async-exit-hook "^2.0.1" bluebird-lst "^1.0.9" - builder-util "24.8.1" - builder-util-runtime "9.2.3" + builder-util "24.13.1" + builder-util-runtime "9.2.4" chromium-pickle-js "^0.2.0" debug "^4.3.4" ejs "^3.1.8" - electron-publish "24.8.1" + electron-publish "24.13.1" form-data "^4.0.0" fs-extra "^10.1.0" hosted-git-info "^4.1.0" @@ -899,24 +900,24 @@ buffer@^5.1.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builder-util-runtime@9.2.3: - version "9.2.3" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.2.3.tgz#0a82c7aca8eadef46d67b353c638f052c206b83c" - integrity sha512-FGhkqXdFFZ5dNC4C+yuQB9ak311rpGAw+/ASz8ZdxwODCv1GGMWgLDeofRkdi0F3VCHQEWy/aXcJQozx2nOPiw== +builder-util-runtime@9.2.4: + version "9.2.4" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.2.4.tgz#13cd1763da621e53458739a1e63f7fcba673c42a" + integrity sha512-upp+biKpN/XZMLim7aguUyW8s0FUpDvOtK6sbanMFDAMBzpHDqdhgVYm6zc9HJ6nWo7u2Lxk60i2M6Jd3aiNrA== dependencies: debug "^4.3.4" sax "^1.2.4" -builder-util@24.8.1: - version "24.8.1" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-24.8.1.tgz#594d45b0c86d1d17f5c7bebbb77405080b2571c2" - integrity sha512-ibmQ4BnnqCnJTNrdmdNlnhF48kfqhNzSeqFMXHLIl+o9/yhn6QfOaVrloZ9YUu3m0k3rexvlT5wcki6LWpjTZw== +builder-util@24.13.1: + version "24.13.1" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-24.13.1.tgz#4a4c4f9466b016b85c6990a0ea15aa14edec6816" + integrity sha512-NhbCSIntruNDTOVI9fdXz0dihaqX2YuE1D6zZMrwiErzH4ELZHE6mdiB40wEgZNprDia+FghRFgKoAqMZRRjSA== dependencies: "7zip-bin" "~5.2.0" "@types/debug" "^4.1.6" app-builder-bin "4.0.0" bluebird-lst "^1.0.9" - builder-util-runtime "9.2.3" + builder-util-runtime "9.2.4" chalk "^4.1.2" cross-spawn "^7.0.3" debug "^4.3.4" @@ -1263,14 +1264,14 @@ discord.js-selfbot-v13@^2.14.9: tough-cookie "^4.1.3" ws "^8.13.0" -dmg-builder@24.9.1: - version "24.9.1" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-24.9.1.tgz#04bf6c0dcd235f6214511f2358a78ed2b9379421" - integrity sha512-huC+O6hvHd24Ubj3cy2GMiGLe2xGFKN3klqVMLAdcbB6SWMd1yPSdZvV8W1O01ICzCCRlZDHiv4VrNUgnPUfbQ== +dmg-builder@24.13.3: + version "24.13.3" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-24.13.3.tgz#95d5b99c587c592f90d168a616d7ec55907c7e55" + integrity sha512-rcJUkMfnJpfCboZoOOPf4L29TRtEieHNOeAbYPWPxlaBw/Z1RKrRA86dOI9rwaI4tQSc/RD82zTNHprfUHXsoQ== dependencies: - app-builder-lib "24.9.1" - builder-util "24.8.1" - builder-util-runtime "9.2.3" + app-builder-lib "24.13.3" + builder-util "24.13.1" + builder-util-runtime "9.2.4" fs-extra "^10.1.0" iconv-lite "^0.6.2" js-yaml "^4.1.0" @@ -1315,16 +1316,16 @@ ejs@^3.1.8: dependencies: jake "^10.8.5" -electron-builder@^24.9.1: - version "24.9.1" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-24.9.1.tgz#4aee03947963b829a7f48a850fe02c219311ef63" - integrity sha512-v7BuakDuY6sKMUYM8mfQGrwyjBpZ/ObaqnenU0H+igEL10nc6ht049rsCw2HghRBdEwJxGIBuzs3jbEhNaMDmg== +electron-builder@^24.13.3: + version "24.13.3" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-24.13.3.tgz#c506dfebd36d9a50a83ee8aa32d803d83dbe4616" + integrity sha512-yZSgVHft5dNVlo31qmJAe4BVKQfFdwpRw7sFp1iQglDRCDD6r22zfRJuZlhtB5gp9FHUxCMEoWGq10SkCnMAIg== dependencies: - app-builder-lib "24.9.1" - builder-util "24.8.1" - builder-util-runtime "9.2.3" + app-builder-lib "24.13.3" + builder-util "24.13.1" + builder-util-runtime "9.2.4" chalk "^4.1.2" - dmg-builder "24.9.1" + dmg-builder "24.13.3" fs-extra "^10.1.0" is-ci "^3.0.0" lazy-val "^1.0.5" @@ -1332,26 +1333,26 @@ electron-builder@^24.9.1: simple-update-notifier "2.0.0" yargs "^17.6.2" -electron-publish@24.8.1: - version "24.8.1" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-24.8.1.tgz#4216740372bf4297a429543402a1a15ce8c3560b" - integrity sha512-IFNXkdxMVzUdweoLJNXSupXkqnvgbrn3J4vognuOY06LaS/m0xvfFYIf+o1CM8if6DuWYWoQFKPcWZt/FUjZPw== +electron-publish@24.13.1: + version "24.13.1" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-24.13.1.tgz#57289b2f7af18737dc2ad134668cdd4a1b574a0c" + integrity sha512-2ZgdEqJ8e9D17Hwp5LEq5mLQPjqU3lv/IALvgp+4W8VeNhryfGhYEQC/PgDPMrnWUp+l60Ou5SJLsu+k4mhQ8A== dependencies: "@types/fs-extra" "^9.0.11" - builder-util "24.8.1" - builder-util-runtime "9.2.3" + builder-util "24.13.1" + builder-util-runtime "9.2.4" chalk "^4.1.2" fs-extra "^10.1.0" lazy-val "^1.0.5" mime "^2.5.2" -electron@^28.1.0: - version "28.1.0" - resolved "https://registry.yarnpkg.com/electron/-/electron-28.1.0.tgz#9de1ecdaafcb0ec5753827f14dfb199e6c84545e" - integrity sha512-82Y7o4PSWPn1o/aVwYPsgmBw6Gyf2lVHpaBu3Ef8LrLWXxytg7ZRZr/RtDqEMOzQp3+mcuy3huH84MyjdmP50Q== +electron@^30.0.1: + version "30.0.1" + resolved "https://registry.yarnpkg.com/electron/-/electron-30.0.1.tgz#2caf0eb7ed591b9b9842b522421bcae3aa8293d6" + integrity sha512-iwxkI/n2wBd29NH7TH0ZY8aWGzCoKpzJz+D10u7aGSJi1TV6d4MSM3rWyKvT/UkAHkTKOEgYfUyCa2vWQm8L0g== dependencies: "@electron/get" "^2.0.0" - "@types/node" "^18.11.18" + "@types/node" "^20.9.0" extract-zip "^2.0.1" emoji-regex@^8.0.0: @@ -1653,10 +1654,10 @@ fs-extra@^10.0.0, fs-extra@^10.1.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" - integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== +fs-extra@^11.2.0: + version "11.2.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" + integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -3006,10 +3007,10 @@ ts-mixer@^6.0.3: resolved "https://registry.yarnpkg.com/ts-mixer/-/ts-mixer-6.0.3.tgz#69bd50f406ff39daa369885b16c77a6194c7cae6" integrity sha512-k43M7uCG1AkTyxgnmI5MPwKoUvS/bRvLvUb7+Pgpdlmok8AoqmUaZxUUw8zKM5B1lqZrt41GjYgnvAi0fppqgQ== -ts-node@^10.4.0: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== +ts-node@^10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== dependencies: "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" @@ -3052,11 +3053,21 @@ type-fest@^1.0.1, type-fest@^1.2.1, type-fest@^1.2.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== -typescript@^4.0.2, typescript@^4.5.4: +typescript@^4.0.2: version "4.9.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +typescript@^5.4.5: + version "5.4.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" + integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"