External JavaScript for yt-dlp supporting many runtimes
Install ejs into the same environment as yt-dlp:
pip install -U yt-dlp-ejsWhile this project does pin its dependencies,
it only provides a lockfile for building with deno.
You may install dependencies using any compatible package manager.
If you notice differences between different runtimes' builds
please open an issue here.
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 --frozen
deno task bundle
# Bun:
bun install
bun --bun run bundle
# Node:
npm install
npm run bundleFirst, make sure the project's dependencies are installed and download the player JS files:
# Deno:
deno install --frozen
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.tsThen the tests can be run:
# Deno
deno test
# Bun
bun test
# Node
node --testThis 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.