From 67eb6dd2d0d996a930a007a8fc6e4cf4f97d65b6 Mon Sep 17 00:00:00 2001 From: TimeForANinja Date: Fri, 19 Feb 2021 23:33:16 +0100 Subject: [PATCH] feat: add support for shorts-url (#883) closes #881 --- lib/url-utils.js | 2 +- test/url-utils-test.js | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/url-utils.js b/lib/url-utils.js index dc229804..c49ce0f2 100644 --- a/lib/url-utils.js +++ b/lib/url-utils.js @@ -25,7 +25,7 @@ const validQueryDomains = new Set([ 'music.youtube.com', 'gaming.youtube.com', ]); -const validPathDomains = /^https?:\/\/(youtu\.be\/|(www\.)?youtube.com\/(embed|v)\/)/; +const validPathDomains = /^https?:\/\/(youtu\.be\/|(www\.)?youtube.com\/(embed|v|shorts)\/)/; exports.getURLVideoID = link => { const parsed = new URL(link); let id = parsed.searchParams.get('v'); diff --git a/test/url-utils-test.js b/test/url-utils-test.js index 1c07d447..6b9fac28 100644 --- a/test/url-utils-test.js +++ b/test/url-utils-test.js @@ -17,6 +17,8 @@ describe('getURLVideoID()', () => { assert.strictEqual(id, 'RAW_VIDEOID'); id = getVideoID('http://youtube.com/embed/RAW_VIDEOID'); assert.strictEqual(id, 'RAW_VIDEOID'); + id = getVideoID('http://youtube.com/shorts/RAW_VIDEOID'); + assert.strictEqual(id, 'RAW_VIDEOID'); id = getVideoID('https://music.youtube.com/watch?v=RAW_VIDEOID&list=RDAMVMmtLgabce8KQ'); assert.strictEqual(id, 'RAW_VIDEOID'); id = getVideoID('https://gaming.youtube.com/watch?v=RAW_VIDEOID'); @@ -55,6 +57,8 @@ describe('getVideoID()', () => { assert.strictEqual(id, 'RAW_VIDEOID'); id = getVideoID('http://youtube.com/embed/RAW_VIDEOID'); assert.strictEqual(id, 'RAW_VIDEOID'); + id = getVideoID('http://youtube.com/shorts/RAW_VIDEOID'); + assert.strictEqual(id, 'RAW_VIDEOID'); id = getVideoID('_LENGTH_11_'); assert.strictEqual(id, '_LENGTH_11_'); assert.throws(() => {