2025-10-22 23:01:24 +00:00
2025-10-22 20:48:45 +02:00
2025-09-28 12:17:25 +13:00
2025-10-21 21:29:49 +02:00
2025-10-21 21:29:49 +02:00
2025-10-21 21:29:49 +02:00
2025-10-21 21:29:49 +02:00
2025-10-21 21:29:49 +02:00
2025-09-27 17:56:19 +02:00

yt-dlp-ejs

Caution

This is currently in development

External JavaScript for yt-dlp supporting many runtimes

Manual Installation

Install ejs into the same environment as yt-dlp:

pip install -U yt-dlp-ejs

Development

While this project does pin its dependencies, it does not use lockfiles or enforce a particular package manager. You may install dependencies using any compatible package manager. If you notice differences between different runtimes' builds please open an issue here.

Build

To build the Python package you need a PEP518 compatible builder. The build hook will automatically invoke deno, bun or node as required.

Alternatively, to only build the JavaScript files you can run the bundle script manually:

# Deno:
deno install
deno task bundle

# Bun:
bun install
bun --bun run bundle

# Node:
npm install
npm run bundle

Tests

First, make sure the project's dependencies are installed and download the player JS files:

# Deno:
deno install
deno run src/yt/solver/test/download.ts

# Bun:
bun install
bun --bun run src/yt/solver/test/download.ts

# Node 22.6+:
npm install
node --experimental-strip-types src/yt/solver/test/download.ts

Then the tests can be run:

# Deno
deno test

# Bun
bun test

# Node
node --test

Licensing

This code is licensed under Unlicense.

An exception to this are the prebuilt wheels, which contain both meriyah and astring, licensed under ISC and MIT, respectively.

Description
No description provided
Readme Unlicense 1.2 MiB
Languages
TypeScript 59.7%
Python 38.4%
JavaScript 1.9%