{"_id":"ytdlp-nodejs","_rev":"61-de61f7631c2f8511ce183cc972fe5425","name":"ytdlp-nodejs","dist-tags":{"beta":"2.3.2-beta","latest":"3.4.5"},"versions":{"0.1.5":{"name":"ytdlp-nodejs","version":"0.1.5","keywords":["ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@0.1.5","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://github.com/iqbal-rashed/ytdlp-nodejs#readme","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"dist":{"shasum":"55dc8fc92427d9c3b7ecb9080ead177d8583e06c","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-0.1.5.tgz","fileCount":36,"integrity":"sha512-A4orZ4ylg6+6C5C4OzdIOtN8vW/DZIXirhdMjU6o//j18pDh/QOFSR2rbyLodTDa8RqWGuS2O43gca5NQ0nDPw==","signatures":[{"sig":"MEYCIQC9s5HKrdhmRdyRBg9VTBf5KH0fD9Mwx79cOXRPeQFs6wIhAPkInKi6M/RgdIRkccgCZxRkKGdlqwH5lxEm0k7sNID4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59875},"main":"./lib/index.js","type":"commonjs","types":"./lib/types/index.d.ts","gitHead":"0dd9b4b33e1cb736882784d7c16651925be0bc52","scripts":{"build":"shx rm -rf ./lib && tsc -p .","example":"ts-node ./example.ts"},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"deprecated":"Version no longer supported. Upgrade to @latest","repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.7.0","description":"A youtube video downloader library for nodejs based on ytdlp","directories":{},"_nodeVersion":"18.20.4","dependencies":{"zod":"^3.21.2","extract-zip":"^2.0.1","cli-progress":"^3.12.0","follow-redirects":"^1.15.2"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","jest":"^29.4.3","ts-node":"^10.9.1","typescript":"^4.9.5","@types/jest":"^29.4.0","@types/node":"^18.14.1","@types/cli-progress":"^3.11.0","@types/follow-redirects":"^1.14.1"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_0.1.5_1729446789519_0.15021125260081747","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"ytdlp-nodejs","version":"2.0.2","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@2.0.2","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"dist":{"shasum":"433d3e49b03df09a9748863458e51096a0dc187a","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-2.0.2.tgz","fileCount":8,"integrity":"sha512-k+FLPA+I4AEBjWrYClppmXTOr89KKyh4i9MIFMNgJ3iC0SKv7yCEliE7pQcKFqRzSsjqdlrf+9n5n/sHCzO2QQ==","signatures":[{"sig":"MEUCIDmoh363GwKI31Rm6dgXiDzbNIBIWyJ/3FZ9HEqvz7c0AiEArDg3BcuqH2321ziH27AZusoZtarMNRh83Z6wtj0RSRs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86458},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"22653d617850177d1fbf4711a4b5cfec38e5a293","scripts":{"lint":"eslint","test":"jest","build":"tsup && tsup ./src/scripts/download.ts -d ./dist/scripts --no-config --minify","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","download":"node ./dist/scripts/download.js","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run download', { stdio: 'inherit' });\""},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"deprecated":"Version no longer supported. Upgrade to @latest","_npmVersion":"10.8.2","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"18.20.7","dependencies":{"tar":"^7.4.3","adm-zip":"^0.5.16"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","@types/adm-zip":"^0.5.7","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_2.0.2_1743151995438_0.06299912914098704","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"ytdlp-nodejs","version":"2.0.3","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@2.0.3","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"dist":{"shasum":"38bf96ba3959537bc9a676a65a634925e15257e5","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-2.0.3.tgz","fileCount":8,"integrity":"sha512-xRh8cPCVJwSzWofEKlAbB9Rk3YVLQMeEQO312CNntyhk4y0os45W/Sm6sMU3hmQnTHJcnBwvj5xcrf1p4mSy1Q==","signatures":[{"sig":"MEQCID2RLDAwCYzNwR4jcyJHtlEXKcrifOy3RjVFFYV3RrEgAiAJydLciNgDN6dgV5ayx6CzsJCbZg8IAMEGRhq2AkECiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88811},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"22653d617850177d1fbf4711a4b5cfec38e5a293","scripts":{"lint":"eslint","test":"jest","build":"tsup && tsup ./src/scripts/download.ts -d ./dist/scripts --no-config --minify","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","download":"node ./dist/scripts/download.js","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run download', { stdio: 'inherit' });\""},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"deprecated":"Version no longer supported. Upgrade to @latest","_npmVersion":"10.8.2","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"18.20.7","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_2.0.3_1743235387283_0.9655440453484225","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"ytdlp-nodejs","version":"2.0.4","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@2.0.4","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"dist":{"shasum":"8480c48ef37b1697d94804742127cc76324ee1e7","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-2.0.4.tgz","fileCount":8,"integrity":"sha512-rBOaGiHev6VvmwXZQBlAyXlAA/ch2vSXyADqX+xfw8zLWE417oRF/UmgBpz8KWNJOrRPTg3G5Lp0tFkRhGrdlw==","signatures":[{"sig":"MEUCIQD3kj3FvSzZjGnfuNhIfpiGIdZ8M973NbOKVBjlBBjJBQIgKaq8bfpWtyl78Y1FotbEWG1SqvlICsS8/WkxPqjWiSQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93202},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"4a2e0c7a7192da5ad3daa12fe83ec84f546b006c","scripts":{"lint":"eslint","test":"jest","build":"tsup && tsup ./src/scripts/download.ts -d ./dist/scripts --no-config --minify","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","download":"node ./dist/scripts/download.js","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run download', { stdio: 'inherit' });\""},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"deprecated":"Version no longer supported. Upgrade to @latest","_npmVersion":"10.8.2","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"18.20.7","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_2.0.4_1743239355880_0.33175067243618206","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"ytdlp-nodejs","version":"2.0.5","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@2.0.5","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://github.com/iqbal-rashed/ytdlp-nodejs#readme","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"dist":{"shasum":"5f8f17c8592dbe5058582b5dcb4d538f5d4b35c2","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-2.0.5.tgz","fileCount":8,"integrity":"sha512-n3FGUpBl8ARMMCJ6qpfuKepvhZUP6lqGtChcdUVEw2nlVTwYXw7mfxrC7V+GxWBw/zT2ZlrIA0XO5rPFp8GRBQ==","signatures":[{"sig":"MEUCIQDDFSwrfIAjfHoOgqhgx4hbs4wZsmuHT+4YffznrSe7gQIgWf/TT9dO6kvoHHdD97U97xfhBxGZZRS0Sama6p1XMek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93000},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"4a2e0c7a7192da5ad3daa12fe83ec84f546b006c","scripts":{"lint":"eslint","test":"jest","build":"tsup && tsup ./src/scripts/download.ts -d ./dist --no-config --minify","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","download":"node ./dist/download.js","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run download', { stdio: 'inherit' });\""},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"18.20.7","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_2.0.5_1743424771778_0.4661871397438164","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"ytdlp-nodejs","version":"2.0.6","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@2.0.6","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://github.com/iqbal-rashed/ytdlp-nodejs#readme","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"dist":{"shasum":"6edf04919e9e36491ea8bbd26848e7d011359457","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-2.0.6.tgz","fileCount":8,"integrity":"sha512-ZrkWTMddAsnfBWgaHQREGaY64KowuGbx2lsrRwkSGb5mwMCpEcNKCptxwTTCPz16ScJjf0B/Sqib7Wb7dZkkzQ==","signatures":[{"sig":"MEYCIQDReWcDi0f+Yk4BN2kH0RGwyPm10J0Oo54ixpz75nUKlQIhAMSFNfk7Z8FqfC//tDN6s4h4SIkCX8OLi4kYEEYkLi5M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92941},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"d2a5d6d368ebdd4de0f15b8008673f10e3d4c8e8","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","download":"node ./dist/download.js","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run download', { stdio: 'inherit' });\""},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"18.20.7","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_2.0.6_1745856617405_0.21608798777985894","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"ytdlp-nodejs","version":"2.0.7","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@2.0.7","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://github.com/iqbal-rashed/ytdlp-nodejs#readme","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"dist":{"shasum":"cafe9cd37dbe8bc5160b74c2cac356719a40d003","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-2.0.7.tgz","fileCount":8,"integrity":"sha512-om/DoBb4LoRbgck30ia1sBmhqw9H/AY9Bu9VWIiT65QtmtBdiBGaIq+/qR31Sk43ZFBJVeXDZblRa57xPfwEFg==","signatures":[{"sig":"MEQCID1xyE3XePaLiOFhzLPPd2wr/Z/HcMiKpONDUxaay1JMAiAii4NQ9utCvWT2jCH+O763XCa6lDxt/GaGZk4Luu6g4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94028},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"9200949bb173f91d8225e776c0759e86c52e1ff0","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","download":"node ./dist/download.js","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run download', { stdio: 'inherit' });\""},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"18.20.7","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_2.0.7_1746008555642_0.4239816050369334","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"ytdlp-nodejs","version":"2.0.8","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@2.0.8","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://github.com/iqbal-rashed/ytdlp-nodejs#readme","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"dist":{"shasum":"874f8e3bead7b6676ed09d8645da5c5e5af579ec","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-2.0.8.tgz","fileCount":8,"integrity":"sha512-cNCAObt1p1mDC3cn1hBNCBebWO7R3BvXVZZGX4z9OENsM9xN09V410CD6WVdK97iuqs9C+vEQEoyO/8biJcP7w==","signatures":[{"sig":"MEQCIExTwuZb5JizZhEI5WMePGM3TJ+ArsXLAf65Id1Venh2AiBkApQ6J/eJp2BujztskqNEuvz6LKuSru7ls4Dt4To68Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95925},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"b8db28a9872f1252d617dd4cc5bdcef80e705170","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","download":"node ./dist/download.js","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run download', { stdio: 'inherit' });\""},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_2.0.8_1746455877789_0.38647152908859317","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"ytdlp-nodejs","version":"2.0.9","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@2.0.9","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://github.com/iqbal-rashed/ytdlp-nodejs#readme","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"dist":{"shasum":"55edf8de3cd439df175721be30adcbfb8c9f3b29","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-2.0.9.tgz","fileCount":8,"integrity":"sha512-+Xg35fmyJkrU0beEiVyWbSlMmmAvEDl4W4OyrC5blN8HMt19qYmbowHJbK+yrzMe6x+XJR2HqtZIquSIgS97Yw==","signatures":[{"sig":"MEQCIGaTXsHg/3R+v1k8wLtqAc5AkSW8zF2tCH0lRVoTAoivAiAIWUt+UpSb6woBdJePKmpysnBJO8HdWzIEEzWh/s3w1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95637},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"dc5d822f48880aa89c24ae27a2062cad019589fc","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","download":"node ./dist/download.js","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run download', { stdio: 'inherit' });\""},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_2.0.9_1746551712249_0.4873650645104113","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"ytdlp-nodejs","version":"2.1.0","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@2.1.0","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://github.com/iqbal-rashed/ytdlp-nodejs#readme","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"dist":{"shasum":"d5b47934efa3f9a73647882762c980c76fd744ad","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-2.1.0.tgz","fileCount":8,"integrity":"sha512-ODGkPXjGra0/945jQYRjilmU4YL5hSIxm6WNHxg/bFUeZNdt6Z9nJvPBH/Cq0mr+rwU6FrOd30Zrrul3IDCRww==","signatures":[{"sig":"MEQCIAtJtkYYhgz3WIF4B+xkq4lhfqLvyzB6VxBTzwSVxxlFAiAIXEZ2lTR0VNz7levdQodZy4oHVIGbySRO1hrsD587+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95729},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"9c88dc8a7bd64c8fb3faaca5f77b1e743e784a54","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","download":"node ./dist/download.js","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run download', { stdio: 'inherit' });\""},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_2.1.0_1747059365945_0.2996283429927802","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"ytdlp-nodejs","version":"2.2.0","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@2.2.0","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://github.com/iqbal-rashed/ytdlp-nodejs#readme","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"dist":{"shasum":"012edc9e338e5409b6a01ce4585261c39bddffef","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-2.2.0.tgz","fileCount":8,"integrity":"sha512-GRSOJRRRyI5LtJspb5WsJYJ4sGa3aAy+QeteulJwjgpZopMrN1BVBKqibqTL+VeCs7UgujiKoQkCSVCttPbXuQ==","signatures":[{"sig":"MEUCIE/y58iSCqAFe3esJ9gBcSwLCfJfNkhcGQPGz7g2rM9LAiEA1EfKxOHe14HGVzsG3nC05iE3evAh8EFiPmOdx/96QiE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96182},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"5e2a4b649c211724b0419222fa413ec461ff2772","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","download":"node ./dist/download.js","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run download', { stdio: 'inherit' });\""},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_2.2.0_1747861084633_0.3474457063917811","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"ytdlp-nodejs","version":"2.3.0","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@2.3.0","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://github.com/iqbal-rashed/ytdlp-nodejs#readme","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"dist":{"shasum":"052b22c12aa47dc2c875bd33a6dfbadf399d6f9f","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-2.3.0.tgz","fileCount":8,"integrity":"sha512-gnhxwwr1nS+G0w3H5NHTZWUg5Mr26KXMjZnWAYlOWiteT5o/YrQovenaYP95AT88uI0mGaPMd2i2OEYSelC7+A==","signatures":[{"sig":"MEYCIQCivRwRkMV6dmnqShV2iZ4FxpsqCcH67PyEArWRgPNhsQIhAM9k0czPrQsCjT3CVRjyRKW6/WMaVhK9+lexWemmGXeK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98025},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"4b0ed76914c39a88878809f4d8510e3af7df4841","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","download":"node ./dist/download.js","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run download', { stdio: 'inherit' });\""},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_2.3.0_1748257499242_0.5462309517549608","host":"s3://npm-registry-packages-npm-production"}},"2.3.2-beta":{"name":"ytdlp-nodejs","version":"2.3.2-beta","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@2.3.2-beta","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://github.com/iqbal-rashed/ytdlp-nodejs#readme","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"dist":{"shasum":"759aa29f302048da1bfaec05e802c7739b7870f3","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-2.3.2-beta.tgz","fileCount":8,"integrity":"sha512-QjQODnQNYVD65VyJl3iF4HaifIhVWIY9rMnI8IIp/pss4yE9I4eI4Xi8+t+bLIJPn/OS4Guk+EHxltMh7eZYXA==","signatures":[{"sig":"MEYCIQDneB3hMXfDBReWGnCngeqlL5Ord6OlYPCylwlMX9e3jgIhAL5o0T7WnI4FJggS3BThHoYBraP4f78ust0DPZtzKw+M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98952},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./utils":{"types":"./dist/utils.d.ts","import":"./dist/utils.mjs","default":"./dist/utils.js","require":"./dist/utils.js"}},"gitHead":"8718e8799323946a5cdcb991c0ea06644c692236","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","download":"node ./dist/download.js","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run download', { stdio: 'inherit' });\""},"_npmUser":{"name":"rashed_iqbal","actor":{"name":"rashed_iqbal","type":"user","email":"dev.rashediqbal@gmail.com"},"email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.9.2","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_2.3.2-beta_1750628451344_0.20571071379305983","host":"s3://npm-registry-packages-npm-production"}},"2.3.3":{"name":"ytdlp-nodejs","version":"2.3.3","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@2.3.3","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://github.com/iqbal-rashed/ytdlp-nodejs#readme","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"bin":{"ytdlp-nodejs":"dist/cli.js"},"dist":{"shasum":"f1c295c9f4c6a8ef3a230baed0111e4f04ff3060","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-2.3.3.tgz","fileCount":9,"integrity":"sha512-YGzz/zFWAfMtzXtM37+7lccIY/DCSoNaUH4Iq4KeDc7Suba1BBu69nANNGQie3ZzvhyjFTqIVnnqlWwTe8gRBQ==","signatures":[{"sig":"MEUCIQCeD99JwWl+KUCw56dgm9vFmZt+px8Z7duvLZ6/VpqKwQIgchPG1F/DNd19TQXu0RlGBLd27gefzcY7imnWPifkD9o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106487},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"5817e3ff07432efd5d76817941bc7e3725b5153c","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run postdownload', { stdio: 'inherit' });\"","postdownload":"node ./dist/downloadYtdlp.js","download:ytdlp":"tsx ./src/scripts/downloadYtdlp.ts","download:ffmpeg":"tsx ./src/scripts/downloadFFmepg.ts"},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.9.2","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_2.3.3_1753345906750_0.250121662349861","host":"s3://npm-registry-packages-npm-production"}},"2.3.4":{"name":"ytdlp-nodejs","version":"2.3.4","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@2.3.4","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://github.com/iqbal-rashed/ytdlp-nodejs#readme","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"bin":{"ytdlp-nodejs":"dist/cli.js"},"dist":{"shasum":"cc08ef52eab6785bbaa9cc6e4aefffd52199a082","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-2.3.4.tgz","fileCount":9,"integrity":"sha512-uLROl2N9lHsK7N7wvnYzWsCwFR8yqjOBqR82efbnPxnl0bZUmy1H2yq1J3bsjSDERTxSaG176wn7tKzTD045Xw==","signatures":[{"sig":"MEYCIQDRaGkqV006tosanGe1cy1QQ4iyFt5WmMtD7O1z9twQRQIhAK3FbNzXmKcNytkeZLRa5bFysHFk3gSyX+0b2m89eLXO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106609},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"5817e3ff07432efd5d76817941bc7e3725b5153c","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run postdownload', { stdio: 'inherit' });\"","postdownload":"node ./dist/downloadYtdlp.js","download:ytdlp":"tsx ./src/scripts/downloadYtdlp.ts","download:ffmpeg":"tsx ./src/scripts/downloadFFmepg.ts"},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.9.2","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_2.3.4_1753347009642_0.6220208417358049","host":"s3://npm-registry-packages-npm-production"}},"2.3.5":{"name":"ytdlp-nodejs","version":"2.3.5","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@2.3.5","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://github.com/iqbal-rashed/ytdlp-nodejs#readme","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"bin":{"ytdlp-nodejs":"dist/cli.js"},"dist":{"shasum":"6a812e92a14d8ba684332f421e66fa7ee20a9879","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-2.3.5.tgz","fileCount":9,"integrity":"sha512-7V08DRv8C1K0HxJFvRoaoLYFS/reJ9VJBlaMVhEvdi2IsYK/9Hae1Mah65Y+bhk3RAmx7G9eTfpOhkj3bp0Zbw==","signatures":[{"sig":"MEUCIQC5RtgPy4tTgFi9M4q21D87TZRx+btDtaDvWAhK+lEp7wIgaanMZQNktI5+FzUfd5q1GV6zpytpU33VAvl4Sqe8w94=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107099},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"3e5e640fc98564bf85388fe38615ef089cf3b143","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run postdownload', { stdio: 'inherit' });\"","postdownload":"node ./dist/downloadYtdlp.js","download:ytdlp":"tsx ./src/scripts/downloadYtdlp.ts","download:ffmpeg":"tsx ./src/scripts/downloadFFmepg.ts"},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.8.2","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_2.3.5_1760634827385_0.8506598182888565","host":"s3://npm-registry-packages-npm-production"}},"3.3.6":{"name":"ytdlp-nodejs","version":"3.3.6","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@3.3.6","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://github.com/iqbal-rashed/ytdlp-nodejs#readme","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"bin":{"ytdlp-nodejs":"dist/cli/index.js"},"dist":{"shasum":"5028a81a2770b6daf71c90c63f289ccb7510372e","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-3.3.6.tgz","fileCount":9,"integrity":"sha512-VqCMlwjEP6iqsNrPkptKh9JuxKO5GpM5E0iwdNW1e34ls1y1TaAlCjb6xEiXnhjKNBeEjgT50CmJpMOAVu6cqg==","signatures":[{"sig":"MEUCIQCWQezt3418gXwcxGRpA4UCCtYZtBV+mNEGumwnEfWgDQIgGlUQKxVbFiy5yhijSy/lLx4h7aGJ0L/PYavjDUBHG9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":227537},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"8d77497290a38338be5133676781c77343cf6708","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","docs:dev":"rspress dev","docs:build":"rspress build","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run postdownload', { stdio: 'inherit' });\"","docs:preview":"rspress preview","postdownload":"node ./dist/scripts/downloadYtdlp.js","download:ytdlp":"tsx ./src/scripts/downloadYtdlp.ts","download:ffmpeg":"tsx ./src/scripts/downloadFFmpeg.ts"},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"deprecated":"this package has been deprecated","repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.9.4","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","rspress":"^1.47.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0","@rspress/plugin-shiki":"^1.47.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_3.3.6_1769087826985_0.1941585427886805","host":"s3://npm-registry-packages-npm-production"}},"3.3.7":{"name":"ytdlp-nodejs","version":"3.3.7","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@3.3.7","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://iqbal-rashed.github.io/ytdlp-nodejs","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"bin":{"ytdlp-nodejs":"dist/cli/index.js"},"dist":{"shasum":"29a1761591ad0ededacd210a5e1547f74918fc25","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-3.3.7.tgz","fileCount":9,"integrity":"sha512-1kPiPSeuJrM4QoKTcPPz9zdLJ7koKa9CGbTqWYAo4V9QhAoRSFX4Y+Qsa2wiDAPJ+41LE2GFmUO6+cjTT/HGGw==","signatures":[{"sig":"MEQCID0yK/yVgDJD0HEkDYfB9P5F1/uR4gc6H089cmBu5SCaAiBnAoHtYDwT3ZImzvIxcRGpLD7/55q3RWKPeuN1kHLNmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":227599},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"f75cf3ed23b26515a0614ee1f4a6f95d2913dbd4","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","docs:dev":"rspress dev","docs:build":"rspress build","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run postdownload', { stdio: 'inherit' });\"","docs:preview":"rspress preview","postdownload":"node ./dist/scripts/downloadYtdlp.js","download:ytdlp":"tsx ./src/scripts/downloadYtdlp.ts","download:ffmpeg":"tsx ./src/scripts/downloadFFmpeg.ts"},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"deprecated":"this package has been deprecated","repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.9.4","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","rspress":"^1.47.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0","@rspress/plugin-shiki":"^1.47.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_3.3.7_1769087957586_0.7554260080116726","host":"s3://npm-registry-packages-npm-production"}},"3.3.9":{"name":"ytdlp-nodejs","version":"3.3.9","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@3.3.9","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://github.com/iqbal-rashed/ytdlp-nodejs#readme","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"bin":{"ytdlp-nodejs":"dist/cli.js"},"dist":{"shasum":"710ab682e7ded20f14d12937e5304225a2722dee","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-3.3.9.tgz","fileCount":9,"integrity":"sha512-RCpjQv/rI49BvbNmQatPjU5lyer11sX+wNQyR6HEXgVdXpUOkkbj0yJHlBHqad0L/AvjWAbgJTlJTYORKBCJ9g==","signatures":[{"sig":"MEQCICP/XsYECwamgsJTjOSkJVfEycH1qD+iBuQOHqFyCNxpAiBfLLOiTrCzWq/wi5S+qju+ISpzY8VIKYI5/Wv5oFz7Ag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107074},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run postdownload', { stdio: 'inherit' });\"","postdownload":"node ./dist/downloadYtdlp.js","download:ytdlp":"tsx ./src/scripts/downloadYtdlp.ts","download:ffmpeg":"tsx ./src/scripts/downloadFFmepg.ts"},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.9.4","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_3.3.9_1769091657530_0.3849864057126573","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"ytdlp-nodejs","version":"3.4.0","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@3.4.0","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://iqbal-rashed.github.io/ytdlp-nodejs","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"bin":{"ytdlp":"dist/cli/index.js"},"dist":{"shasum":"ec751a78d6eea46c3de8416576011087bdf9f9f9","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-3.4.0.tgz","fileCount":8,"integrity":"sha512-7+MPq1Tc9v/WVh0W+SloWe5A0kD3FWa64gBaqgtKE3mwgsMGtuKL59uZSbOF6uheiGrDswjO4Am1FsXriGbv/w==","signatures":[{"sig":"MEUCIAnL/0M0XxRD1Dmifw8/bXyAsOfOU6FTCczoJTCVtaxZAiEAoh2UjnYHBwxIgQQkhtFeKmMtblpaOtbDK3D0kGacItE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189403},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"22b866303d90bb6184810af3fefd2f682c3123a5","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","docs:dev":"rspress dev","docs:build":"rspress build","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run postdownload', { stdio: 'inherit' });\"","docs:preview":"rspress preview","postdownload":"node ./dist/scripts/downloadYtdlp.js","download:ytdlp":"tsx ./src/scripts/downloadYtdlp.ts","download:ffmpeg":"tsx ./src/scripts/downloadFFmpeg.ts"},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.9.4","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","rspress":"^1.47.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0","@rspress/plugin-shiki":"^1.47.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_3.4.0_1769314733126_0.9123060822412874","host":"s3://npm-registry-packages-npm-production"}},"3.4.1":{"name":"ytdlp-nodejs","version":"3.4.1","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@3.4.1","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://iqbal-rashed.github.io/ytdlp-nodejs","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"bin":{"ytdlp":"dist/cli/index.js"},"dist":{"shasum":"7391465f2f636b74bc8ea20fc8e0fb8cd9d8235c","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-3.4.1.tgz","fileCount":8,"integrity":"sha512-ON4PSuwAwzohrI5SUhkw4VbHlg+4xVp9mjFN2Bx6/DbkCaghlzeVWOYKcQArKjCoqJ1Mz+eblbzuMLeetVm4+Q==","signatures":[{"sig":"MEUCIHnaKvDuGsFBd/MYpQPbZtNZp2ovSg1Z8Koklvn8SW18AiEAwtF2D99oIE9xapBSIA5TCJPnsYCYwyt7VScUfrm21/c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190288},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"fd8441ec78ddf2acb2fdd8b4e00e05a3428c1491","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","docs:dev":"rspress dev","docs:build":"rspress build","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run postdownload', { stdio: 'inherit' });\"","docs:preview":"rspress preview","postdownload":"node ./dist/scripts/downloadYtdlp.js","download:ytdlp":"tsx ./src/scripts/downloadYtdlp.ts","download:ffmpeg":"tsx ./src/scripts/downloadFFmpeg.ts"},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.9.4","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","rspress":"^1.47.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0","@rspress/plugin-shiki":"^1.47.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_3.4.1_1769346766554_0.23662054048983872","host":"s3://npm-registry-packages-npm-production"}},"3.4.2":{"name":"ytdlp-nodejs","version":"3.4.2","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@3.4.2","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://iqbal-rashed.github.io/ytdlp-nodejs","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"bin":{"ytdlp":"dist/cli/index.js"},"dist":{"shasum":"10b5ad0c5345c3784e67cdc8ebdb05b771bcb8d1","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-3.4.2.tgz","fileCount":8,"integrity":"sha512-Tv8UhnIC4kkSwZ0M6RwSacGWTttrZpI0BZP2FIkjQ/5HJDRfHakB+i2ah6Ici/XfeBunqq5rMsuoTn/vBPm45w==","signatures":[{"sig":"MEQCIHVbyY300PFNqFH7rfie4929BKyjfc+Wjeqso+a9AQ8JAiBJ31gf3Pu1CL4Yu1xiMxQ6AmIqrKe+PMp8NhDdo0KcPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190795},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"d2aa5b50fbe4518d6aa92948d15908c1352e4c20","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","docs:dev":"rspress dev","docs:build":"rspress build","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run postdownload', { stdio: 'inherit' });\"","docs:preview":"rspress preview","postdownload":"node ./dist/scripts/downloadYtdlp.js","download:ytdlp":"tsx ./src/scripts/downloadYtdlp.ts","download:ffmpeg":"tsx ./src/scripts/downloadFFmpeg.ts"},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.9.4","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","rspress":"^1.47.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0","@rspress/plugin-shiki":"^1.47.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_3.4.2_1769684614579_0.22929596885852788","host":"s3://npm-registry-packages-npm-production"}},"3.4.3":{"name":"ytdlp-nodejs","version":"3.4.3","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@3.4.3","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://iqbal-rashed.github.io/ytdlp-nodejs","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"bin":{"ytdlp":"dist/cli/index.js"},"dist":{"shasum":"464bf2fb23e97362e9b867f929abaf56702efe73","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-3.4.3.tgz","fileCount":8,"integrity":"sha512-4vmbyCrFHvZge7rNNSB9TqitVldwm6C64sJBsf7BHJZLY5HPmzM91ftHBGqulprvMhrmtH0HK54RBVYzj9TcAg==","signatures":[{"sig":"MEYCIQDCI+yMx+y3TFmYi1lSEACSYLiRmRdKTrTumG9Q6zS0kQIhALJV54Hpb9v2dzCAk5fcwU8rFXt1A+SU6n5UiQDYemXa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193529},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"a441b251db725934d534c9fb796065a3fe51b216","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","docs:dev":"rspress dev","docs:build":"rspress build","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run postdownload', { stdio: 'inherit' });\"","docs:preview":"rspress preview","postdownload":"node ./dist/scripts/downloadYtdlp.js","download:ytdlp":"tsx ./src/scripts/downloadYtdlp.ts","download:ffmpeg":"tsx ./src/scripts/downloadFFmpeg.ts"},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.9.4","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","rspress":"^1.47.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0","@rspress/plugin-shiki":"^1.47.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_3.4.3_1770155029055_0.8603431427163077","host":"s3://npm-registry-packages-npm-production"}},"3.4.4":{"name":"ytdlp-nodejs","version":"3.4.4","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","_id":"ytdlp-nodejs@3.4.4","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"homepage":"https://iqbal-rashed.github.io/ytdlp-nodejs","bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"bin":{"ytdlp":"dist/cli/index.js"},"dist":{"shasum":"ee5cf07b86e13abbfa3af5d9f11d8b151ed57cc1","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-3.4.4.tgz","fileCount":8,"integrity":"sha512-PR2nQOtyOzSuSQpWf6SHD97d6qlcfY2y6CVCeYnuDacYDc1YzNLXYiqAyIpFWk13UUrtQN+XD35h5DERli3SXQ==","signatures":[{"sig":"MEUCIQCUkPmZVrxK9oy6SKgToqIDBcTVJoEe997ijCXt+YF93AIgNksqxTfBswmMu5vDPkpxv61RpEm2b6EuNysklva/s3o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193633},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"55a60215ae9a993bc6726bc98cf8699da494fcc1","scripts":{"lint":"eslint","test":"jest","build":"tsup","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","prepare":"husky","docs:dev":"rspress dev","docs:build":"rspress build","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run postdownload', { stdio: 'inherit' });\"","docs:preview":"rspress preview","postdownload":"node ./dist/scripts/downloadYtdlp.js","download:ytdlp":"tsx ./src/scripts/downloadYtdlp.ts","download:ffmpeg":"tsx ./src/scripts/downloadFFmpeg.ts"},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"repository":{"url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git","type":"git"},"_npmVersion":"10.9.4","description":"A TypeScript wrapper for the yt-dlp executable","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","husky":"^9.1.7","eslint":"^9.23.0","globals":"^16.0.0","rspress":"^1.47.0","ts-jest":"^29.2.6","@eslint/js":"^9.23.0","typescript":"^5.8.2","@types/jest":"^29.5.14","@types/node":"^22.13.11","typescript-eslint":"^8.27.0","@rspress/plugin-shiki":"^1.47.0"},"_npmOperationalInternal":{"tmp":"tmp/ytdlp-nodejs_3.4.4_1770156670036_0.8390446856288447","host":"s3://npm-registry-packages-npm-production"}},"3.4.5":{"name":"ytdlp-nodejs","version":"3.4.5","description":"A TypeScript wrapper for the yt-dlp executable","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","bin":{"ytdlp":"dist/cli/index.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"build":"tsup","test":"jest","lint":"eslint","format":"prettier --ignore-path .gitignore --write \"./src/**/*.+(js|ts|json)\"","download:ytdlp":"tsx ./src/scripts/downloadYtdlp.ts","download:ffmpeg":"tsx ./src/scripts/downloadFFmpeg.ts","postdownload":"node ./dist/scripts/downloadYtdlp.js","postinstall":"node -e \"process.env.INIT_CWD !== process.cwd() && require('child_process').execSync('npm run postdownload', { stdio: 'inherit' });\"","prepare":"husky","docs:dev":"rspress dev","docs:build":"rspress build","docs:preview":"rspress preview"},"keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"author":{"name":"Rashed Iqbal"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git"},"bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"homepage":"https://iqbal-rashed.github.io/ytdlp-nodejs","devDependencies":{"@eslint/js":"^9.23.0","@rspress/plugin-shiki":"^1.47.0","@types/jest":"^29.5.14","@types/node":"^22.13.11","eslint":"^9.23.0","globals":"^16.0.0","husky":"^9.1.7","jest":"^29.7.0","rspress":"^1.47.0","ts-jest":"^29.2.6","tsup":"^8.4.0","tsx":"^4.19.3","typescript":"^5.8.2","typescript-eslint":"^8.27.0"},"engines":{"node":">=16.0.0"},"_id":"ytdlp-nodejs@3.4.5","gitHead":"2e21360952431ef6c92679e534e018ad6c66abcf","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-KPXnW2xa553mDbrCdXPnsZTPIL7b3GJcQLskpePIoNm7uqquHjJj7ha+1r8x3dwyTQ4TATvsP6K0RDnumQr0zQ==","shasum":"e6b420bb1810a6209676cb13d2406ffcc89c6c5b","tarball":"https://registry.npmjs.org/ytdlp-nodejs/-/ytdlp-nodejs-3.4.5.tgz","fileCount":8,"unpackedSize":197073,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIB2Spr6LZyLXnUlRX6hEOSZnVS3XgfOAXjhpCpgSoPNnAiEAgdwYBHCcVLFQAMcV4BbHcaX8+5pul2Sv3p7kBhoCzr8="}]},"_npmUser":{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"},"directories":{},"maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ytdlp-nodejs_3.4.5_1785316745553_0.7569585685074465"},"_hasShrinkwrap":false}},"time":{"created":"2022-07-05T23:12:11.895Z","modified":"2026-07-29T09:19:05.889Z","1.0.0":"2022-07-05T23:12:12.052Z","1.0.1":"2022-07-05T23:14:08.918Z","0.1.0":"2023-03-10T11:45:17.694Z","0.1.1":"2023-03-10T11:47:05.208Z","0.1.2":"2023-03-10T12:17:56.515Z","0.1.3":"2023-03-10T12:29:00.593Z","0.1.4":"2023-03-11T05:27:29.537Z","0.1.5":"2024-10-20T17:53:09.769Z","2.0.1-beta":"2025-03-23T21:50:44.724Z","2.0.2-beta":"2025-03-24T21:47:02.334Z","2.0.3-beta":"2025-03-28T06:58:32.065Z","2.0.0":"2025-03-28T08:44:54.198Z","2.0.1":"2025-03-28T08:47:32.529Z","2.0.2":"2025-03-28T08:53:15.674Z","2.0.3":"2025-03-29T08:03:07.513Z","2.0.4":"2025-03-29T09:09:16.077Z","2.0.5-beta":"2025-03-31T11:39:12.933Z","2.0.6-beta":"2025-03-31T12:28:35.130Z","2.0.5":"2025-03-31T12:39:31.962Z","2.0.6":"2025-04-28T16:10:17.606Z","2.0.7":"2025-04-30T10:22:35.837Z","2.0.8":"2025-05-05T14:37:58.097Z","2.0.9":"2025-05-06T17:15:12.500Z","2.1.0":"2025-05-12T14:16:06.117Z","2.2.0":"2025-05-21T20:58:04.869Z","2.3.0":"2025-05-26T11:04:59.420Z","2.3.1-beta":"2025-06-11T18:04:07.753Z","2.3.2-beta":"2025-06-22T21:40:51.584Z","2.3.3":"2025-07-24T08:31:46.895Z","2.3.4":"2025-07-24T08:50:09.903Z","2.3.5":"2025-10-16T17:13:47.562Z","3.3.6":"2026-01-22T13:17:07.132Z","3.3.7":"2026-01-22T13:19:17.719Z","3.3.9":"2026-01-22T14:20:57.674Z","3.4.0":"2026-01-25T04:18:53.302Z","3.4.1":"2026-01-25T13:12:46.706Z","3.4.2":"2026-01-29T11:03:34.722Z","3.4.3":"2026-02-03T21:43:49.254Z","3.4.4":"2026-02-03T22:11:10.242Z","3.4.5":"2026-07-29T09:19:05.710Z"},"bugs":{"url":"https://github.com/iqbal-rashed/ytdlp-nodejs/issues"},"author":{"name":"Rashed Iqbal"},"license":"MIT","homepage":"https://iqbal-rashed.github.io/ytdlp-nodejs","keywords":["yt-dlp","youtube","video","download","wrapper","typescript","ytdlp","youtube downloader","ytdlp-nodejs","youtube-thumbnails","typescript","nodejs","youtube video","video","video downloader"],"repository":{"type":"git","url":"git+https://github.com/iqbal-rashed/ytdlp-nodejs.git"},"description":"A TypeScript wrapper for the yt-dlp executable","maintainers":[{"name":"rashed_iqbal","email":"dev.rashediqbal@gmail.com"}],"readme":"> **⚠️ Notice**: Version 3.4.0 is currently in beta. While we've thoroughly tested the new features, please report any issues you encounter on our [GitHub Issues](https://github.com/iqbal-rashed/ytdlp-nodejs/issues) page. Your feedback helps make this library better!\r\n\r\n# ytdlp-nodejs\r\n\r\n[![npm version](https://img.shields.io/npm/v/ytdlp-nodejs.svg)](https://www.npmjs.com/package/ytdlp-nodejs)\r\n[![License](https://img.shields.io/npm/l/ytdlp-nodejs.svg)](https://github.com/iqbal-rashed/ytdlp-nodejs/blob/main/LICENSE)\r\n[![Documentation](https://img.shields.io/badge/docs-online-blue)](https://iqbal-rashed.github.io/ytdlp-nodejs)\r\n\r\nA powerful Node.js wrapper for [yt-dlp](https://github.com/yt-dlp/yt-dlp) that provides a simple, type-safe interface for downloading, streaming, and fetching metadata from videos across thousands of websites.\r\n\r\n📚 **[View Full Documentation](https://iqbal-rashed.github.io/ytdlp-nodejs)**\r\n\r\n## Features\r\n\r\n- 🚀 **Easy to use** - Simple API with TypeScript support\r\n- 📥 **Download & Stream** - Download videos or stream them directly\r\n- 📊 **Progress tracking** - Real-time download progress callbacks\r\n- 🎵 **Audio extraction** - Extract audio in various formats (MP3, FLAC, etc.)\r\n- 📋 **Metadata fetching** - Get video info, formats, thumbnails, and more\r\n- 🔄 **Auto-updates** - Built-in yt-dlp binary management\r\n- 💻 **CLI included** - Interactive and non-interactive command-line interface\r\n- 🌐 **Node.js runtime** - Uses Node.js as the default JavaScript runtime for yt-dlp\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install ytdlp-nodejs\r\n```\r\n\r\n> **Note**: FFmpeg is recommended for full functionality. Install it manually or use the built-in `downloadFFmpeg()` method.\r\n\r\n## Quick Start\r\n\r\n```typescript\r\nimport { YtDlp } from 'ytdlp-nodejs';\r\n\r\nconst ytdlp = new YtDlp();\r\n\r\n// Download a video with fluent API\r\nconst result = await ytdlp\r\n  .download('https://youtube.com/watch?v=dQw4w9WgXcQ')\r\n  .filter('mergevideo')\r\n  .quality('1080p')\r\n  .type('mp4')\r\n  .on('progress', (p) => console.log(`${p.percentage_str}`))\r\n  .run();\r\n\r\nconsole.log('Downloaded:', result.filePaths);\r\n\r\n// Get video info\r\nconst info = await ytdlp.getInfoAsync(\r\n  'https://youtube.com/watch?v=dQw4w9WgXcQ',\r\n);\r\nconsole.log(info.title);\r\n\r\n// Stream to file\r\nimport { createWriteStream } from 'fs';\r\nconst stream = ytdlp.stream('https://youtube.com/watch?v=dQw4w9WgXcQ');\r\nawait stream.pipeAsync(createWriteStream('video.mp4'));\r\n```\r\n\r\n## CLI Usage\r\n\r\n### Interactive Mode\r\n\r\nLaunch the interactive menu to access all features with guided prompts:\r\n\r\n```bash\r\nytdlp\r\n```\r\n\r\n#### Direct Commands\r\n\r\nThese commands run without prompts:\r\n\r\n```bash\r\n# List available formats\r\nytdlp formats <url>\r\n\r\n# Download with specific quality (non-interactive)\r\nytdlp video <url> --quality 1080p\r\n\r\n# Download FFmpeg binaries\r\nytdlp ffmpeg\r\n\r\n# Update yt-dlp binary\r\nytdlp update\r\n```\r\n\r\n## API Reference\r\n\r\n### Constructor\r\n\r\n```typescript\r\nconst ytdlp = new YtDlp({\r\n  binaryPath?: string,  // Path to yt-dlp binary\r\n  ffmpegPath?: string,  // Path to ffmpeg binary\r\n});\r\n```\r\n\r\n### Download Methods\r\n\r\n#### `download(url, options?)`\r\n\r\nReturns a fluent builder for downloading with chainable methods.\r\n\r\n```typescript\r\n// Fluent builder API (recommended)\r\nconst result = await ytdlp\r\n  .download('https://youtube.com/watch?v=...')\r\n  .format({ filter: 'mergevideo', quality: '1080p', type: 'mp4' })\r\n  .output('./downloads')\r\n  .embedThumbnail()\r\n  .on('progress', (p) => console.log(`${p.percentage_str}`))\r\n  .run();\r\n\r\nconsole.log('Files:', result.filePaths);\r\n\r\n// With initial options\r\nconst result = await ytdlp\r\n  .download(url, {\r\n    format: { filter: 'mergevideo', quality: '1080p', type: 'mp4' },\r\n  })\r\n  .embedThumbnail()\r\n  .on('progress', (p) => console.log(p))\r\n  .run();\r\n```\r\n\r\n##### Builder Methods\r\n\r\n| Category      | Methods                                                                                             |\r\n| ------------- | --------------------------------------------------------------------------------------------------- |\r\n| **Format**    | `.filter()`, `.quality()`, `.type()`, `.format()`                                                   |\r\n| **Output**    | `.output('./downloads')`, `.setOutputTemplate('%(title)s.%(ext)s')`                                 |\r\n| **Audio**     | `.extractAudio()`, `.audioFormat('mp3')`, `.audioQuality('0')`                                      |\r\n| **Embed**     | `.embedThumbnail()`, `.embedSubs()`, `.embedMetadata()`                                             |\r\n| **Subtitles** | `.writeSubs()`, `.writeAutoSubs()`, `.subLangs(['en', 'es'])`                                       |\r\n| **Thumbnail** | `.writeThumbnail()`                                                                                 |\r\n| **Auth**      | `.cookies(str)`, `.cookiesFromBrowser('chrome')`, `.username(user)`, `.password(pass)`              |\r\n| **Network**   | `.proxy(url)`, `.rateLimit('1M')`                                                                   |\r\n| **Playlist**  | `.playlistStart(1)`, `.playlistEnd(10)`, `.playlistItems('1,3,5')`                                  |\r\n| **Advanced**  | `.options(argsOptions)`, `.addOption(key, value)`, `.addArgs(...args)`, `.skipDownload()`           |\r\n| **Events**    | `.on('start' \\| 'progress' \\| 'beforeDownload' \\| 'stdout' \\| 'stderr' \\| 'error' \\| 'finish', fn)` |\r\n| **Execute**   | `.run()` - returns `Promise<DownloadFinishResult>` - Also directly `await`able                      |\r\n\r\n#### `downloadAsync(url, options?)`\r\n\r\nDownloads a video asynchronously with callback-style progress.\r\n\r\n```typescript\r\nconst result = await ytdlp.downloadAsync(url, {\r\n  format: { filter: 'mergevideo', type: 'mp4', quality: '1080p' },\r\n  output: './downloads/%(title)s.%(ext)s',\r\n  onProgress: (progress) => console.log(progress),\r\n});\r\n```\r\n\r\n#### `downloadAudio(url, format?, options?)`\r\n\r\nDownloads audio only.\r\n\r\n```typescript\r\nawait ytdlp.downloadAudio(url, 'mp3'); // 'aac', 'flac', 'mp3', 'm4a', 'opus', 'vorbis', 'wav', 'alac'\r\n```\r\n\r\n#### `downloadVideo(url, quality?, options?)`\r\n\r\nDownloads video with specific quality.\r\n\r\n```typescript\r\nawait ytdlp.downloadVideo(url, '1080p'); // 'best', '2160p', '1440p', '1080p', '720p', etc.\r\n```\r\n\r\n### Streaming\r\n\r\n#### `stream(url, options?)`\r\n\r\nReturns a fluent builder for streaming with chainable methods.\r\n\r\n```typescript\r\nimport { createWriteStream } from 'fs';\r\n\r\n// Fluent builder API\r\nconst result = await ytdlp\r\n  .stream('https://youtube.com/watch?v=...')\r\n  .filter('audioandvideo')\r\n  .quality('highest')\r\n  .type('mp4')\r\n  .on('progress', (p) => console.log(p.percentage_str))\r\n  .pipeAsync(createWriteStream('video.mp4'));\r\n\r\nconsole.log(`Bytes: ${result.bytes}`);\r\n\r\n// Sync pipe\r\nytdlp.stream(url).filter('audioandvideo').pipe(writableStream);\r\n\r\n// Stream to buffer\r\nconst buffer = await ytdlp.stream(url).filter('audioonly').toBuffer();\r\n```\r\n\r\n##### Stream Builder Methods\r\n\r\n| Method                                                                             | Description                              |\r\n| ---------------------------------------------------------------------------------- | ---------------------------------------- |\r\n| `.filter()`, `.quality()`, `.type()`                                               | Set format options (same as Download)    |\r\n| `.pipe(dest, options?)`                                                            | Pipe to writable stream, returns Promise |\r\n| `.pipeAsync(dest, options?)`                                                       | Alias for `.pipe()`                      |\r\n| `.toBuffer()`                                                                      | Collect stream into Buffer               |\r\n| `.getStream()`                                                                     | Get underlying PassThrough stream        |\r\n| `.on('start' \\| 'progress' \\| 'beforeDownload' \\| 'data' \\| 'error' \\| 'end', fn)` | Event listeners                          |\r\n\r\n#### `getFileAsync(url, options?)`\r\n\r\nReturns a `File` object without saving to disk.\r\n\r\n```typescript\r\nconst file = await ytdlp.getFileAsync(url, {\r\n  format: { filter: 'audioonly', type: 'mp3' },\r\n  onProgress: (p) => console.log(p),\r\n});\r\nconsole.log(file.name, file.size);\r\n```\r\n\r\n### Information Methods\r\n\r\n#### `getInfoAsync(url, options?)`\r\n\r\nFetches video/playlist metadata.\r\n\r\n```typescript\r\nconst info = await ytdlp.getInfoAsync(url);\r\nconsole.log(info.title, info.duration, info.formats);\r\n```\r\n\r\n#### `getFormatsAsync(url, options?)`\r\n\r\nGets available formats using JSON output.\r\n\r\n```typescript\r\nconst result = await ytdlp.getFormatsAsync(url);\r\nconsole.log(`Found ${result.formats.length} formats`);\r\n```\r\n\r\n#### `getDirectUrlsAsync(url, options?)`\r\n\r\nReturns direct media URLs.\r\n\r\n```typescript\r\nconst urls = await ytdlp.getDirectUrlsAsync(url);\r\n```\r\n\r\n#### `getTitleAsync(url)`\r\n\r\n```typescript\r\nconst title = await ytdlp.getTitleAsync(url);\r\n```\r\n\r\n#### `getThumbnailsAsync(url)`\r\n\r\n```typescript\r\nconst thumbnails = await ytdlp.getThumbnailsAsync(url);\r\n```\r\n\r\n#### `getVersionAsync()`\r\n\r\n```typescript\r\nconst version = await ytdlp.getVersionAsync();\r\n```\r\n\r\n### Utility Methods\r\n\r\n#### `checkInstallationAsync(options?)`\r\n\r\n```typescript\r\nconst installed = await ytdlp.checkInstallationAsync({ ffmpeg: true });\r\n```\r\n\r\n#### `downloadFFmpeg()`\r\n\r\n```typescript\r\nawait ytdlp.downloadFFmpeg();\r\n```\r\n\r\n#### `updateYtDlpAsync(options?)`\r\n\r\n```typescript\r\nconst result = await ytdlp.updateYtDlpAsync();\r\nconsole.log(`Updated to ${result.version}`);\r\n```\r\n\r\n## Format Options\r\n\r\nUse structured format options for type-safe configuration:\r\n\r\n```typescript\r\n// Video only\r\n{ filter: 'videoonly', type: 'mp4', quality: '1080p' }\r\n\r\n// Audio only\r\n{ filter: 'audioonly', type: 'mp3', quality: 5 }\r\n\r\n// Audio and video (single file)\r\n{ filter: 'audioandvideo', type: 'mp4', quality: 'highest' }\r\n\r\n// Merge video and audio\r\n{ filter: 'mergevideo', type: 'mp4', quality: '1080p' }\r\n```\r\n\r\n### Quality Options\r\n\r\n| Filter                    | Quality Values                                                                                             |\r\n| ------------------------- | ---------------------------------------------------------------------------------------------------------- |\r\n| `videoonly`, `mergevideo` | `'2160p'`, `'1440p'`, `'1080p'`, `'720p'`, `'480p'`, `'360p'`, `'240p'`, `'144p'`, `'highest'`, `'lowest'` |\r\n| `audioandvideo`           | `'highest'`, `'lowest'`                                                                                    |\r\n| `audioonly`               | `0` to `10` (VBR quality)                                                                                  |\r\n\r\n### Type Options\r\n\r\n| Filter                       | Type Values                                                                  |\r\n| ---------------------------- | ---------------------------------------------------------------------------- |\r\n| `videoonly`, `audioandvideo` | `'mp4'`, `'webm'`                                                            |\r\n| `audioonly`                  | `'aac'`, `'flac'`, `'mp3'`, `'m4a'`, `'opus'`, `'vorbis'`, `'wav'`, `'alac'` |\r\n| `mergevideo`                 | `'mkv'`, `'mp4'`, `'ogg'`, `'webm'`, `'flv'`                                 |\r\n\r\n## Advanced Options\r\n\r\n### JavaScript Runtime\r\n\r\nNode.js is used as the default JavaScript runtime for yt-dlp extractors:\r\n\r\n```typescript\r\nawait ytdlp.execAsync(url, {\r\n  jsRuntime: 'node', // default, or 'deno', 'phantomjs'\r\n});\r\n```\r\n\r\n### Raw Arguments\r\n\r\nPass any yt-dlp argument directly:\r\n\r\n```typescript\r\nawait ytdlp.downloadAsync(url, {\r\n  rawArgs: ['--match-filter', 'duration > 60', '--geo-bypass'],\r\n});\r\n```\r\n\r\n### Debug Mode\r\n\r\n```typescript\r\nawait ytdlp.execAsync(url, {\r\n  debugPrintCommandLine: true,\r\n  verbose: true,\r\n});\r\n```\r\n\r\n## Troubleshooting\r\n\r\n### Binary not found\r\n\r\n```typescript\r\nimport { helpers } from 'ytdlp-nodejs';\r\nawait helpers.downloadYtDlp();\r\nawait helpers.downloadFFmpeg();\r\n```\r\n\r\nOr provide custom paths:\r\n\r\n```typescript\r\nconst ytdlp = new YtDlp({\r\n  binaryPath: '/path/to/yt-dlp',\r\n  ffmpegPath: '/path/to/ffmpeg',\r\n});\r\n```\r\n\r\n## Built With ytdlp-nodejs\r\n\r\n🚀 **[NextDownloader.com](https://nextdownloader.com/)** - A video downloader I built using this library. Check it out and let me know what you think! Your feedback is greatly appreciated.\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please feel free to submit a Pull Request or open an issue on [GitHub](https://github.com/iqbal-rashed/ytdlp-nodejs).\r\n","readmeFilename":"readme.md"}