diff --git a/.github/dependabot.yml b/.github/dependabot.yml index aec8733..94e6532 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,6 +8,6 @@ updates: - package-ecosystem: "npm" # See documentation for possible values directory: "/" # Location of package manifests allow: - - dependency-name: "ytdl-core" + - dependency-name: "@distube/ytdl-core" schedule: interval: "daily" diff --git a/.yarnrc b/.yarnrc new file mode 100644 index 0000000..6dfe0a3 --- /dev/null +++ b/.yarnrc @@ -0,0 +1 @@ +registry "https://registry.npmjs.org/" \ No newline at end of file diff --git a/package.json b/package.json index 2d5959d..c2bb044 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "y2mp3", "appname": "y2mp3", "productName": "y2mp3", - "version": "2.6.1", + "version": "3.0.0", "main": "main.js", "author": { "name": "MosheF", @@ -35,6 +35,7 @@ "coveralls": "jest --coverage && cat ./coverage/lcov.info | coveralls" }, "dependencies": { + "@distube/ytdl-core": "^4.14.4", "@types/node": "12.12.21", "async": "^2.6.4", "axios": "^1.6.8", @@ -55,8 +56,7 @@ "sanitize-filename": "^1.6.1", "sass": "^1.57.1", "semantic-ui-css": "^2.4.1", - "semantic-ui-react": "^0.88.1", - "ytdl-core": "4.11.5" + "semantic-ui-react": "^0.88.1" }, "devDependencies": { "@types/async": "^3.0.3", diff --git a/renovate.json b/renovate.json index c09a363..4b93b98 100644 --- a/renovate.json +++ b/renovate.json @@ -6,7 +6,7 @@ "packageRules": [ { "packagePatterns": ["*"], - "excludePackagePatterns": ["ytdl-core"], + "excludePackagePatterns": ["@distube/ytdl-core"], "enabled": false } ] diff --git a/src/services/api.ts b/src/services/api.ts index 4a09f4b..f3f304d 100644 --- a/src/services/api.ts +++ b/src/services/api.ts @@ -2,7 +2,7 @@ import { join } from 'path'; import { sync } from 'mkdirp'; import { existsSync } from 'fs'; import * as ffmpeg from 'fluent-ffmpeg'; -import { getBasicInfo } from 'ytdl-core'; +import { getBasicInfo } from '@distube/ytdl-core'; import * as urlParser from 'js-video-url-parser'; import { sync as commandExistsSync } from 'command-exists'; import { diff --git a/src/services/youtube-mp3-downloader/index.ts b/src/services/youtube-mp3-downloader/index.ts index 29b50a0..a71aa6d 100644 --- a/src/services/youtube-mp3-downloader/index.ts +++ b/src/services/youtube-mp3-downloader/index.ts @@ -1,5 +1,5 @@ import { ITask, Queue } from './queue'; -import * as ytdl from 'ytdl-core'; +import * as ytdl from '@distube/ytdl-core'; import { unlinkSync, rename, existsSync, createReadStream } from 'fs'; import * as ffmpeg from 'fluent-ffmpeg'; import * as progress from 'progress-stream'; @@ -106,7 +106,7 @@ export class YoutubeMp3Downloader { filter: this.filter, // TODO fix format (currently throws a invalid input error [Doesn't tell much I know, but it's a late at night]) // format: info.formats[2], - requestOptions: { maxRedirects: 5 }, + requestOptions: { maxRedirections: 5 }, }); const { progressTimeout } = this; diff --git a/src/services/youtube-mp3-downloader/utils.ts b/src/services/youtube-mp3-downloader/utils.ts index 13ca83e..473ddaf 100644 --- a/src/services/youtube-mp3-downloader/utils.ts +++ b/src/services/youtube-mp3-downloader/utils.ts @@ -1,4 +1,4 @@ -import * as ytdl from 'ytdl-core'; +import * as ytdl from '@distube/ytdl-core'; const fileNameReplacemant: [RegExp, string][] = [ [/"/g, ''], diff --git a/src/types.ts b/src/types.ts index 2c8d767..df82869 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,4 +1,4 @@ -import { videoInfo } from 'ytdl-core'; +import { videoInfo } from '@distube/ytdl-core'; import { SemanticCOLORS, MenuItemProps } from 'semantic-ui-react'; export interface IVideoEntity { diff --git a/yarn.lock b/yarn.lock index 9ebd6df..ea4b1d8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -509,6 +509,18 @@ ajv "^6.12.0" ajv-keywords "^3.4.1" +"@distube/ytdl-core@^4.14.4": + version "4.14.4" + resolved "https://registry.yarnpkg.com/@distube/ytdl-core/-/ytdl-core-4.14.4.tgz#6ecb7e70f6eea691a562ccb7920d5d334b383d0f" + integrity sha512-dHb4GW3qATIjRsS6VIhm3Pop7FdUcDFhsnyQlsPeXW7UhTPuNS0BmraKiTpFbpp0Ky+rxBQjJBfPRFsM+dT1fg== + dependencies: + http-cookie-agent "^6.0.5" + m3u8stream "^0.8.6" + miniget "^4.2.3" + sax "^1.4.1" + tough-cookie "^4.1.4" + undici five + "@electron/get@^1.13.0": version "1.13.1" resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.13.1.tgz#42a0aa62fd1189638bd966e23effaebb16108368" @@ -538,6 +550,11 @@ minimatch "^3.0.4" plist "^3.0.4" +"@fastify/busboy@^2.0.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" + integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -1637,6 +1654,13 @@ agent-base@6: dependencies: debug "4" +agent-base@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" + integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== + dependencies: + debug "^4.3.4" + airbnb-prop-types@^2.16.0: version "2.16.0" resolved "https://registry.yarnpkg.com/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz#b96274cefa1abb14f623f804173ee97c13971dc2" @@ -4050,6 +4074,13 @@ http-cache-semantics@^4.0.0: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== +http-cookie-agent@^6.0.5: + version "6.0.6" + resolved "https://registry.yarnpkg.com/http-cookie-agent/-/http-cookie-agent-6.0.6.tgz#4d37848c045ea8e6fced1b97d3cda282f06e1a27" + integrity sha512-XkwhYUWo0yhiHBWqLmAe2kIBymVY70ewi9sKmy6YBHpNU3BCH4nipKrtY5/effAxj0qneQ9ziZG5TXgaKLfYgg== + dependencies: + agent-base "^7.1.1" + http-proxy-agent@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" @@ -6245,6 +6276,11 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + raf@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" @@ -6473,6 +6509,11 @@ require-main-filename@^1.0.1: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" @@ -6599,11 +6640,16 @@ sass@^1.57.1: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sax@>=0.6.0, sax@^1.1.3, sax@^1.2.4: +sax@>=0.6.0, sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== +sax@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" + integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== + saxes@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" @@ -7284,6 +7330,16 @@ tough-cookie@^4.0.0: punycode "^2.1.1" universalify "^0.1.2" +tough-cookie@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" + integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" @@ -7387,11 +7443,23 @@ typical@^5.0.0, typical@^5.2.0: resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== +undici@five: + version "5.28.4" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.4.tgz#6b280408edb6a1a604a9b20340f45b422e373068" + integrity sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g== + dependencies: + "@fastify/busboy" "^2.0.0" + universalify@^0.1.0, universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + universalify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" @@ -7416,6 +7484,14 @@ url-parse-lax@^3.0.0: dependencies: prepend-http "^2.0.0" +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + utf8-byte-length@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" @@ -7817,12 +7893,3 @@ yauzl@^2.10.0: dependencies: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" - -ytdl-core@4.11.5: - version "4.11.5" - resolved "https://registry.yarnpkg.com/ytdl-core/-/ytdl-core-4.11.5.tgz#8cc3dc9e4884e24e8251250cfb56313a300811f0" - integrity sha512-27LwsW4n4nyNviRCO1hmr8Wr5J1wLLMawHCQvH8Fk0hiRqrxuIu028WzbJetiYH28K8XDbeinYW4/wcHQD1EXA== - dependencies: - m3u8stream "^0.8.6" - miniget "^4.2.2" - sax "^1.1.3"