Skip to content

Commit 13b79ac

Browse files
committed
Upgrade dependencies
1 parent 4c33676 commit 13b79ac

16 files changed

Lines changed: 11588 additions & 8172 deletions

.eslintrc.cjs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
module.exports = {
2-
root: true,
3-
extends: ['eslint:recommended', 'prettier'],
4-
plugins: ['svelte3'],
5-
overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
6-
parserOptions: {
7-
sourceType: 'module',
8-
ecmaVersion: 2020,
9-
},
10-
env: {
11-
browser: true,
12-
es2017: true,
13-
node: true,
14-
},
2+
root: true,
3+
extends: ['eslint:recommended', 'prettier'],
4+
plugins: ['svelte'],
5+
overrides: [{ files: ['*.svelte'], processor: 'svelte/svelte' }],
6+
parserOptions: {
7+
sourceType: 'module',
8+
ecmaVersion: 2020,
9+
},
10+
env: {
11+
browser: true,
12+
es2017: true,
13+
node: true,
14+
},
1515
}

main-src/fetchYtStream.cjs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
const { Innertube, UniversalCache, ClientType, Log } = require('youtubei.js')
2+
3+
let innertubeInstance = null
4+
5+
module.exports.fetchYtStream = async (videoId) => {
6+
Log.setLevel(Log.Level.DEBUG)
7+
8+
if (!innertubeInstance) {
9+
innertubeInstance = await Innertube.create({
10+
cache: new UniversalCache(false),
11+
generate_session_locally: false,
12+
retrieve_player: true,
13+
client_type: ClientType.WEB,
14+
})
15+
}
16+
17+
const ytStream = await yt.download(videoId, {
18+
type: 'audio',
19+
quality: 'best',
20+
format: 'mp4',
21+
client: ClientType.WEB,
22+
})
23+
24+
return ytStream
25+
}

main-src/main.cjs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ const fs = require('fs')
33
const fsPromises = require('fs/promises')
44
const { execSync } = require('child_process')
55
const path = require('path')
6-
const compareVersions = require('compare-versions')
6+
const { compareVersions } = require('compare-versions')
77
const fetch = require('electron-fetch').default
88
const xxhash = require('xxhash-wasm')
99
const ytSearch = require('yt-search')
10-
const serve = require('electron-serve')
11-
const Store = require('electron-store')
10+
const serve = require('electron-serve').default
11+
const Store = require('electron-store').default
1212
const processQueue = require('./processQueue.cjs')
1313

1414
let electronStore = null

main-src/processQueue.cjs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ const { pipeline } = require('stream/promises')
55
const path = require('path')
66
const childProcess = require('child_process')
77
const treeKill = require('tree-kill')
8-
const ytdl = require('@distube/ytdl-core')
98
const sanitizeFilename = require('sanitize-filename')
109
const { app, BrowserWindow, powerSaveBlocker } = require('electron')
10+
const { fetchYtStream } = require('./fetchYtStream.cjs')
1111

1212
let statusUpdateCallback = null,
1313
donateUpdateCallback = null
@@ -170,10 +170,8 @@ function spawnAndWait(videoId, cwd, command, args, isDemucs, isHybrid) {
170170

171171
async function asyncYtdl(videoId, downloadPath) {
172172
curYtdlAbortController = new AbortController()
173-
const ytdlStream = ytdl(videoId, {
174-
highWaterMark: 1024 * 1024 * 64,
175-
quality: 'highestaudio',
176-
})
173+
174+
const ytdlStream = await fetchYtStream(videoId)
177175
const fileStream = createWriteStream(downloadPath)
178176
await pipeline(ytdlStream, fileStream, {
179177
signal: curYtdlAbortController.signal,

0 commit comments

Comments
 (0)