{"_id":"@alisaitteke/adb-client","_rev":"4-02278cc0c1e55c4814673804e4035a97","name":"@alisaitteke/adb-client","dist-tags":{"latest":"1.0.10"},"versions":{"1.0.0":{"name":"@alisaitteke/adb-client","version":"1.0.0","keywords":["adb","android","typescript","debug-bridge","android-debug-bridge","mobile","development"],"author":{"url":"https://github.com/alisaitteke","name":"Ali Sait Teke","email":"alisaitteke@gmail.com"},"license":"MIT","_id":"@alisaitteke/adb-client@1.0.0","maintainers":[{"name":"axee","email":"alisaitt@gmail.com"}],"homepage":"https://github.com/alisaitteke/adb-client#readme","bugs":{"url":"https://github.com/alisaitteke/adb-client/issues"},"dist":{"shasum":"c318c2570187260229a6f51e419f7613747d63cf","tarball":"https://registry.npmjs.org/@alisaitteke/adb-client/-/adb-client-1.0.0.tgz","fileCount":8,"integrity":"sha512-6IJE+wbmTmEAHOJ0dznxyAe963T22AWXh1ZIxJnYQE+aM+ehva+kUALLAAVCiuAJjlTTHqPQUBYB/yB6fAXk2w==","signatures":[{"sig":"MEQCIGXr2G3wAiGMPjA7EVVhkR99psLU4SjeAgm5ZZWN48pWAiAULWsUTRXJgUyRVwSFDXfzcQ6nscWjJvIwE6t06+4RjA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alisaitteke%2fadb-client@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":131534},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6d672c527e4c60fe0e2c4dede723e3e484cf7a25","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","clean":"rimraf dist","format":"prettier --write src/","prepare":"npm run build","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run lint"},"_npmUser":{"name":"axee","email":"alisaitt@gmail.com"},"repository":{"url":"git+https://github.com/alisaitteke/adb-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Modern TypeScript library for Android Debug Bridge (ADB)","directories":{},"_nodeVersion":"20.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^8.56.0","rimraf":"^5.0.5","vitest":"^1.0.4","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/adb-client_1.0.0_1732332089165_0.43853615723889483","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@alisaitteke/adb-client","version":"1.0.3","keywords":["adb","android","typescript","debug-bridge","android-debug-bridge","mobile","development"],"author":{"url":"https://github.com/alisaitteke","name":"Ali Sait Teke","email":"alisaitteke@gmail.com"},"license":"MIT","_id":"@alisaitteke/adb-client@1.0.3","maintainers":[{"name":"axee","email":"alisaitt@gmail.com"}],"homepage":"https://github.com/alisaitteke/adb-client#readme","bugs":{"url":"https://github.com/alisaitteke/adb-client/issues"},"dist":{"shasum":"a65a3007c9edb1fc42a7134bcc797f4657a84ead","tarball":"https://registry.npmjs.org/@alisaitteke/adb-client/-/adb-client-1.0.3.tgz","fileCount":8,"integrity":"sha512-1zMPyHJdsT3OZdyH3vRgKR2ijBjTa3W1xAmBI7xQDd6pfHVPGIr+lLbO23i1DM2sD/VZ7Ddb3eJPwUTi1h9/og==","signatures":[{"sig":"MEYCIQCacZtFsevg7VN+K+kPyFiDWqU1zEWfVzuBTRilb+PlmQIhAOQtRuDReB7ZrnFqq2Fa+0V3cK1M8+F9R/2C+yrw/fmj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alisaitteke%2fadb-client@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":131109},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4432616de45eb2bbed54124ce5caa41dfbad3147","scripts":{"dev":"tsup --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup","clean":"rimraf dist","format":"prettier --write src/","prepare":"npm run build","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run lint"},"_npmUser":{"name":"axee","email":"alisaitt@gmail.com"},"repository":{"url":"git+https://github.com/alisaitteke/adb-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Modern TypeScript library for Android Debug Bridge (ADB)","directories":{},"_nodeVersion":"20.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^8.56.0","rimraf":"^5.0.5","vitest":"^1.0.4","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/adb-client_1.0.3_1732332840859_0.7266565441272137","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"@alisaitteke/adb-client","version":"1.0.8","keywords":["adb","android","typescript","debug-bridge","android-debug-bridge","mobile","development"],"author":{"url":"https://github.com/alisaitteke","name":"Ali Sait Teke","email":"alisaitteke@gmail.com"},"license":"MIT","_id":"@alisaitteke/adb-client@1.0.8","maintainers":[{"name":"axee","email":"alisaitt@gmail.com"}],"homepage":"https://github.com/alisaitteke/adb-client#readme","bugs":{"url":"https://github.com/alisaitteke/adb-client/issues"},"dist":{"shasum":"9eaff9473bc58dbd8dbb474aad76b03fb7ac0db4","tarball":"https://registry.npmjs.org/@alisaitteke/adb-client/-/adb-client-1.0.8.tgz","fileCount":13,"integrity":"sha512-dfRp4CXwjlEA9b3/OjV/lp17jrRgXcSn/tSPNwFCVXVuNRH/Jzzll+PrhO3vHQBDTN9FQ8y+U2rKCwYp0sGZdQ==","signatures":[{"sig":"MEQCIFl5olwH2SKrjx21lYF+/+HZYGiJFKcYj4PXazEvH9aIAiAGoIH4tovtWdoOK7SGq82Eg279Ni4m+rMqyr07CX3eEQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alisaitteke%2fadb-client@1.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":154241},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4165318cd707fc8a7d2d5279144704c6590c1d41","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","clean":"rimraf dist","format":"prettier --write src/","prepare":"npm run build","coverage":"vitest run --coverage","prebuild":"npm run clean","typecheck":"tsc --noEmit","postinstall":"npm run build","prepublishOnly":"npm run lint"},"_npmUser":{"name":"axee","email":"alisaitt@gmail.com"},"repository":{"url":"git+https://github.com/alisaitteke/adb-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Modern TypeScript library for Android Debug Bridge (ADB)","directories":{},"_nodeVersion":"20.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^8.56.0","rimraf":"^5.0.5","vitest":"^1.0.4","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/adb-client_1.0.8_1732337861371_0.3413311282847711","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"@alisaitteke/adb-client","version":"1.0.9","keywords":["adb","android","typescript","debug-bridge","android-debug-bridge","mobile","development"],"author":{"url":"https://github.com/alisaitteke","name":"Ali Sait Teke","email":"alisaitteke@gmail.com"},"license":"MIT","_id":"@alisaitteke/adb-client@1.0.9","maintainers":[{"name":"axee","email":"alisaitt@gmail.com"}],"homepage":"https://github.com/alisaitteke/adb-client#readme","bugs":{"url":"https://github.com/alisaitteke/adb-client/issues"},"dist":{"shasum":"5b104be14ed7e382041fd44d007c34c266846d5d","tarball":"https://registry.npmjs.org/@alisaitteke/adb-client/-/adb-client-1.0.9.tgz","fileCount":13,"integrity":"sha512-mFHx9w0Vq05gsi+aK7lXjgwokfwNNQaoQNvBWP6+6d3Vg+JGBEbwtIy9ZCff4eCeNKSXOrQBvHTDM4YH8gE9TQ==","signatures":[{"sig":"MEUCIQD0F3x271WxGosWV8Wq5VrV/IZY3WgwCY0lOLvRxPCXzwIgHBxLCihuLU8leHBPNHaaL7icIw/I2GYg4+OrbIdJPXU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alisaitteke%2fadb-client@1.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":154104},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"fb186b0de7675099067837bdf2f03b94c7587fae","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src/**/*.ts","test":"vitest","build":"tsup src/index.ts --format cjs,esm --dts","clean":"rimraf dist","format":"prettier --write src/","prepare":"npm run build","coverage":"vitest run --coverage","prebuild":"npm run clean","typecheck":"tsc --noEmit","postinstall":"npm run build","prepublishOnly":"npm run lint"},"_npmUser":{"name":"axee","email":"alisaitt@gmail.com"},"repository":{"url":"git+https://github.com/alisaitteke/adb-client.git","type":"git"},"_npmVersion":"10.8.2","description":"Modern TypeScript library for Android Debug Bridge (ADB)","directories":{},"_nodeVersion":"20.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","eslint":"^8.56.0","rimraf":"^5.0.5","vitest":"^1.0.4","prettier":"^3.1.1","typescript":"^5.3.3","@types/node":"^20.10.5","@typescript-eslint/parser":"^6.15.0","@typescript-eslint/eslint-plugin":"^6.15.0"},"_npmOperationalInternal":{"tmp":"tmp/adb-client_1.0.9_1732338805123_0.2960570068676218","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"@alisaitteke/adb-client","version":"1.0.10","description":"Modern TypeScript library for Android Debug Bridge (ADB)","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"clean":"rimraf dist","prebuild":"npm run clean","build":"tsup src/index.ts --format cjs,esm --dts","dev":"tsup src/index.ts --format cjs,esm --dts --watch","test":"vitest","coverage":"vitest run --coverage","lint":"eslint src/**/*.ts","format":"prettier --write src/","typecheck":"tsc --noEmit","prepare":"npm run build","prepublishOnly":"npm run lint","postinstall":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/alisaitteke/adb-client.git"},"keywords":["adb","android","typescript","debug-bridge","android-debug-bridge","mobile","development"],"author":{"name":"Ali Sait Teke","email":"alisaitteke@gmail.com","url":"https://github.com/alisaitteke"},"license":"MIT","bugs":{"url":"https://github.com/alisaitteke/adb-client/issues"},"homepage":"https://github.com/alisaitteke/adb-client#readme","devDependencies":{"@types/node":"^20.10.5","@typescript-eslint/eslint-plugin":"^6.15.0","@typescript-eslint/parser":"^6.15.0","eslint":"^8.56.0","prettier":"^3.1.1","rimraf":"^5.0.5","tsup":"^8.0.1","typescript":"^5.3.3","vitest":"^1.0.4"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"_id":"@alisaitteke/adb-client@1.0.10","gitHead":"22fb6889e55a6e7ec84ba0f9b614cfe24b7ab407","_nodeVersion":"20.18.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-gd0ZhdGZdtjfERrcSeB6ogZ/zwcUojuydGxRnmfCE30+VDYLMCp8b2WnD3DvOGnGKEE3rMagC/G6Q8IkPibmgg==","shasum":"083c967f6394fcafb5cbd7c10df524be0acb3673","tarball":"https://registry.npmjs.org/@alisaitteke/adb-client/-/adb-client-1.0.10.tgz","fileCount":8,"unpackedSize":132183,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alisaitteke%2fadb-client@1.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfVW1sJQ2orEqyyKBBLzPAZYErPdVqSJiczI6rLVCotwIgBkvRiBBCmmA7nHblekucPGOFV55XHY8/WiBEQSlhtok="}]},"_npmUser":{"name":"axee","email":"alisaitt@gmail.com"},"directories":{},"maintainers":[{"name":"axee","email":"alisaitt@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/adb-client_1.0.10_1732339553927_0.8048058986018372"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-23T03:21:29.047Z","modified":"2024-11-23T05:25:54.590Z","1.0.0":"2024-11-23T03:21:29.383Z","1.0.3":"2024-11-23T03:34:01.039Z","1.0.8":"2024-11-23T04:57:41.564Z","1.0.9":"2024-11-23T05:13:25.312Z","1.0.10":"2024-11-23T05:25:54.163Z"},"bugs":{"url":"https://github.com/alisaitteke/adb-client/issues"},"author":{"name":"Ali Sait Teke","email":"alisaitteke@gmail.com","url":"https://github.com/alisaitteke"},"license":"MIT","homepage":"https://github.com/alisaitteke/adb-client#readme","keywords":["adb","android","typescript","debug-bridge","android-debug-bridge","mobile","development"],"repository":{"type":"git","url":"git+https://github.com/alisaitteke/adb-client.git"},"description":"Modern TypeScript library for Android Debug Bridge (ADB)","maintainers":[{"name":"axee","email":"alisaitt@gmail.com"}],"readme":"# 🤖 ADB Client - Your Android's New Best Friend\n\nA modern, powerful TypeScript library for Android Debug Bridge (ADB) operations. This library provides a robust interface to interact with Android devices, offering comprehensive device management, app control, and system monitoring capabilities.\n\n![TypeScript](https://img.shields.io/badge/TypeScript-5.3.3-blue.svg)\n![License](https://img.shields.io/badge/license-MIT-green.svg)\n![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)\n\n## 🚀 What's This All About?\n\nImagine controlling your Android device with code that's actually readable. No more cryptic ADB commands or shell script nightmares. This library is like having a universal remote for your Android device, but cooler because... well, it's code!\n\n### ✨ The Cool Stuff You Get\n\n- 🔍 **Sherlock-Level ADB Detection**: Finds your ADB binary faster than you can say \"where's my SDK?\"\n- 🎯 **TypeScript Superpowers**: Because any's are scary and we like our types strict\n- 🛠 **Swiss Army Knife API**: Everything you need, nothing you don't\n- 📱 **Device Whisperer**: Talk to your device like never before\n- ⚡ **Promise-based**: Because callbacks are so 2010\n- 🔒 **Type-Safe**: Let the compiler catch your \"oops\" moments\n\n## 🎯 Installation\n\n```bash\nnpm install adb-client\n# or if you're a yarn person\nyarn add adb-client\n# or if you're one of those cool pnpm folks\npnpm add adb-client\n```\n\n## 🎮 Quick Start\n\n```typescript\nimport { ADB } from 'adb-client';\n\n// Let's do some magic! ✨\nasync function main() {\n  try {\n    const adb = new ADB();\n    \n    // Find all your Android friends\n    const devices = await adb.getDevices();\n    \n    if (devices.length === 0) {\n      console.log('😢 No devices found. Did you forget to plug it in?');\n      return;\n    }\n\n    // Pick your favorite device (or the only one you have 😅)\n    const device = devices[0];\n    console.log(`🎯 Found device: ${device.model || 'Mystery Phone'}`);\n    \n    // Let's take a selfie (screenshot)!\n    await adb.takeScreenshot(device.serialNumber, './awesome-screenshot.png');\n    console.log('📸 Say cheese!');\n    \n  } catch (error) {\n    console.error('💥 Oops!', error.message);\n  }\n}\n```\n\n## 🎨 Cool Things You Can Do\n\n### 📱 Device Management\n\n```typescript\nconst adb = new ADB();\n\n// Let's see what devices we've got\nconst devices = await adb.getDevices();\ndevices.forEach(device => {\n  console.log(`📱 Found: ${device.model || 'Mystery Device'} (${device.serialNumber})`);\n});\n\n// Get all the juicy details\nconst props = await adb.getDeviceProperties(devices[0].serialNumber);\nconsole.log(`\n  🤖 Android Version: ${props.androidVersion}\n  📦 SDK: ${props.sdkVersion}\n  ⭐ Brand: ${props.brand}\n`);\n```\n\n### 📦 App Management\n\n```typescript\n// Install that awesome app you built\nawait adb.installAPK('device123', './my-awesome-app.apk');\n\n// Launch it to the moon! 🚀\nawait adb.startApp('device123', 'com.your.awesome.app', '.MainActivity');\n\n// Check how awesome your app is\nconst info = await adb.getPackageInfo('device123', 'com.your.awesome.app');\nconsole.log(`📊 App Version: ${info.versionName} (${info.versionCode})`);\n\n// Marie Kondo your app data\nawait adb.clearAppData('device123', 'com.your.awesome.app');\n```\n\n### 📸 Screen Capture\n\n```typescript\n// Take a screenshot (perfect for those \"it works on my machine\" moments)\nawait adb.takeScreenshot('device123', './proof-it-works.png');\n\n// Record a video (great for catching those elusive bugs)\nawait adb.recordScreen('device123', './bug-in-action.mp4', 10, {\n  size: '720x1280',  // For those who care about quality\n  bitRate: '4M'      // For those who care about file size\n});\n```\n\n### 🔋 System Monitoring\n\n```typescript\n// Check the battery (is it coffee break time?)\nconst battery = await adb.getBatteryInfo('device123');\nconsole.log(`\n  🔋 Battery: ${battery.level}%\n  🌡️ Temperature: ${battery.temperature}°C\n  ⚡ Charging: ${battery.isCharging ? 'Yep!' : 'Nope!'}\n`);\n\n// Network status (for when Wi-Fi is being sneaky)\nconst network = await adb.getNetworkInfo('device123');\nconsole.log(`\n  🌐 IP: ${network.ipAddress}\n  📶 Wi-Fi: ${network.wifiEnabled ? 'Connected' : 'Looking for signal...'}\n`);\n```\n\n### 🎮 Device Control\n\n```typescript\n// Press buttons like a pro gamer\nawait adb.sendKeyEvent('device123', 'KEYCODE_HOME');  // Go home!\nawait adb.sendKeyEvent('device123', 'KEYCODE_BACK');  // Retreat!\n\n// Toggle Wi-Fi (because why not?)\nawait adb.setWifiEnabled('device123', true);  // 📶 ON\nawait adb.setWifiEnabled('device123', false); // 📴 OFF\n```\n\n## 🎯 Error Handling\n\n```typescript\nimport { ADB, ADBError, DeviceNotFoundError, CommandError } from 'adb-client';\n\ntry {\n  const adb = new ADB();\n  await adb.getDevices();\n} catch (error) {\n  if (error instanceof DeviceNotFoundError) {\n    console.error('😢 Device went on vacation:', error.message);\n  } else if (error instanceof CommandError) {\n    console.error('🤔 ADB is being difficult:', error.message);\n  } else {\n    console.error('💥 Something went boom:', error);\n  }\n}\n```\n\n## ⚙️ Configuration\n\n```typescript\nconst adb = new ADB({\n  customPath: '/path/to/your/special/adb',  // For the special snowflakes\n  timeout: 5000  // For the impatient developers\n});\n```\n\n## 📚 Requirements\n\n- Node.js ≥ 18 (Because we're modern like that)\n- ADB installed (You knew this was coming, right?)\n- An Android device (Or emulator, we don't judge)\n\n## 🤝 Contributing\n\n1. Fork it (Yes, that button up there ☝️)\n2. Create your feature branch: `git checkout -b feature/something-awesome`\n3. Commit your changes: `git commit -m 'Add something awesome'`\n4. Push to the branch: `git push origin feature/something-awesome`\n5. Submit a PR (and make our day!)\n\n## 🛠️ Development\n\n```bash\n# Get the party started\nnpm install\n\n# Build something amazing\nnpm run build\n\n# Make sure it works\nnpm test\n\n# Make it pretty\nnpm run format\n```\n\n## 📝 License\n\nMIT License - Go wild! (Just don't blame us if something breaks 😉)\n\n## 💡 Support\n\nFound a bug? Got a cool idea? Need a virtual hug?\n- Open an issue\n- Submit a PR\n- Send a carrier pigeon\n\n## 🎉 Coming Soon™\n\n- [ ] Telepathic device control\n- [ ] Time travel debugging\n- [ ] Coffee maker integration\n- [ ] More realistic features we're actually working on...\n\n---\n\nMade with ☕ and TypeScript. Happy coding! 🚀","readmeFilename":"README.md"}