New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

discord-player-youtubei

Package Overview
Dependencies
Maintainers
0
Versions
89
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

discord-player-youtubei - npm Package Compare versions

Comparing version 1.3.6-beta.2 to 1.3.6

dist/Youtube-Bv5_7O44.d.ts

2

dist/experimental/index.d.ts

@@ -5,3 +5,3 @@ import Innertube from 'youtubei.js';

import { Track } from 'discord-player';
import { Y as YoutubeiExtractor } from '../Youtube-Chsd4sLw.js';
import { Y as YoutubeiExtractor } from '../Youtube-Bv5_7O44.js';
import { PassThrough } from 'stream';

@@ -8,0 +8,0 @@ import 'undici';

@@ -1,3 +0,3 @@

import { Y as YoutubeiExtractor } from './Youtube-Chsd4sLw.js';
export { A as AsyncTrackingContext, P as PeerInfo, Q as QueryBridgeModes, R as RefreshInnertubeOptions, S as StreamOptions, T as TrustedTokenConfig, a as YoutubeiOptions } from './Youtube-Chsd4sLw.js';
import { Y as YoutubeiExtractor } from './Youtube-Bv5_7O44.js';
export { A as AsyncTrackingContext, P as PeerInfo, Q as QueryBridgeModes, R as RefreshInnertubeOptions, S as StreamOptions, T as TrustedTokenConfig, a as YoutubeiOptions } from './Youtube-Bv5_7O44.js';
import Innertube, { OAuth2Tokens } from 'youtubei.js';

@@ -4,0 +4,0 @@ import * as youtubei_js_agnostic from 'youtubei.js/agnostic';

@@ -88,3 +88,2 @@ "use strict";

var import_youtubei6 = __toESM(require("youtubei.js"));
var import_extractor = require("@discord-player/extractor");

@@ -456,2 +455,11 @@ // lib/common/generateYTStream.ts

// lib/Extractor/Youtube.ts
var validPathDomains = /^https?:\/\/(youtu\.be\/|(www\.)?youtube\.com\/(embed|v|shorts)\/)/;
var validQueryDomains = /* @__PURE__ */ new Set([
"youtube.com",
"www.youtube.com",
"m.youtube.com",
"music.youtube.com",
"gaming.youtube.com"
]);
var idRegex = /^[a-zA-Z0-9-_]{11}$/;
var YoutubeiExtractor = class _YoutubeiExtractor extends import_discord_player.BaseExtractor {

@@ -658,3 +666,3 @@ static identifier = "com.retrouser955.discord-player.discord-player-youtubei";

query = query.includes("youtube.com") ? query.replace(/(m(usic)?|gaming)\./, "") : query;
if (!query.includes("list=RD") && import_extractor.YouTubeExtractor.validateURL(query))
if (!query.includes("list=RD") && _YoutubeiExtractor.validateURL(query))
context.type = import_discord_player.QueryType.YOUTUBE_VIDEO;

@@ -890,2 +898,34 @@ if (context.type === import_discord_player.QueryType.YOUTUBE_PLAYLIST) {

}
static validateURL(link) {
try {
_YoutubeiExtractor.parseURL(link);
return true;
} catch {
return false;
}
}
// stolen from YoutubeExtractor
static parseURL(link) {
const parsed = new URL(link.trim());
let id = parsed.searchParams.get("v");
if (validPathDomains.test(link.trim()) && !id) {
const paths = parsed.pathname.split("/");
id = parsed.host === "youtu.be" ? paths[1] : paths[2];
} else if (parsed.hostname && !validQueryDomains.has(parsed.hostname)) {
throw Error("Not a YouTube domain");
}
if (!id) {
throw Error(`No video id found: "${link}"`);
}
id = id.substring(0, 11);
if (!this.validateId(id)) {
throw TypeError(
`Video id (${id}) does not match expected format (${idRegex.toString()})`
);
}
return id;
}
static validateId(id) {
return idRegex.test(id.trim());
}
};

@@ -892,0 +932,0 @@

{
"name": "discord-player-youtubei",
"version": "1.3.6-beta.2",
"version": "1.3.6",
"description": "An unofficial package to test the use of youtubei in discord-player v6.",

@@ -19,3 +19,3 @@ "main": "dist/index.js",

"googlevideo": "^2.0.0",
"happy-dom": "^15.7.4",
"happy-dom": "^15.11.7",
"prettier": "^3.3.3",

@@ -27,4 +27,4 @@ "tsup": "^8.2.4",

"tiny-typed-emitter": "^2.1.0",
"undici": "^7.0.0",
"youtubei.js": "^11.0.1"
"undici": "^7.1.0",
"youtubei.js": "^12.0.0"
},

@@ -31,0 +31,0 @@ "scripts": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc