youtubei.js

v10.5.0
A JavaScript client for YouTube's private API, known as InnerTube.
api youtube innertube livechat youtube-music ytdl youtube-studio downloader ytmusic and 1 more...

test

jest --verbose

lint

eslint ./src

lint:fix

eslint --fix ./src

clean

rimraf ./dist ./bundle/browser.js ./bundle/browser.min.js ./bundle/node.cjs ./bundle/cf-worker.js ./bundle/react-native.js ./deno

build

npm run clean && npm run build:parser-map && npm run build:esm && npm run bundle:node && npm run bundle:browser && npm run bundle:browser:prod && npm run bundle:cf-worker && npm run bundle:react-native

build:esm

tspc

build:deno

cpy ./src ./deno && cpy ./protos ./deno && esbuild ./src/utils/DashManifest.tsx --keep-names --format=esm --platform=neutral --target=es2020 --outfile=./deno/src/utils/DashManifest.js && cpy ./package.json ./deno && replace ".js';" ".ts';" ./deno -r && replace '.js";' '.ts";' ./deno -r && replace "'./DashManifest.ts';" "'./DashManifest.js';" ./deno -r && replace "'jintr';" "'https://esm.sh/jintr';" ./deno -r

build:proto

rimraf ./protos/generated && node ./dev-scripts/generate-proto.mjs

build:parser-map

node ./dev-scripts/gen-parser-map.mjs

bundle:node

esbuild ./dist/src/platform/node.js --bundle --target=node16 --keep-names --format=cjs --platform=node --outfile=./bundle/node.cjs --external:jintr --external:undici --external:linkedom --external:tslib --banner:js="/* eslint-disable */"

bundle:browser

esbuild ./dist/src/platform/web.js --banner:js="/* eslint-disable */" --bundle --target=chrome70 --keep-names --format=esm --define:global=globalThis --conditions=module --outfile=./bundle/browser.js --platform=browser

bundle:react-native

esbuild ./dist/src/platform/react-native.js --bundle --target=es2020 --keep-names --format=esm --platform=neutral --define:global=globalThis --conditions=module --outfile=./bundle/react-native.js

bundle:browser:prod

npm run bundle:browser -- --outfile=./bundle/browser.min.js --minify

bundle:cf-worker

esbuild ./dist/src/platform/cf-worker.js --banner:js="/* eslint-disable */" --bundle --target=es2020 --keep-names --format=esm --define:global=globalThis --conditions=module --outfile=./bundle/cf-worker.js --platform=node

prepare

npm run build

watch

tspc --watch
npm i youtubei.js

Metadata

  • MIT
  • Whatever
  • LuanRT
  • released 9/19/2024

Downloads

Maintainers