{"_id":"@asyncarijit/pushdeck-cli","_rev":"4-9a426ffe157b618587284c6f72fa5a42","name":"@asyncarijit/pushdeck-cli","dist-tags":{"latest":"0.2.3"},"versions":{"0.1.0":{"name":"@asyncarijit/pushdeck-cli","version":"0.1.0","keywords":["react-native","ota","codepush","cli","deploy"],"author":{"name":"asyncarijit"},"license":"MIT","_id":"@asyncarijit/pushdeck-cli@0.1.0","maintainers":[{"name":"asyncarijit","email":"asyncarijit@gmail.com"}],"homepage":"https://rn-pushdeck.vercel.app","bin":{"pushdeck":"dist/index.js"},"dist":{"shasum":"dab79c920539f8db73a74beb508bd7e979dad246","tarball":"https://registry.npmjs.org/@asyncarijit/pushdeck-cli/-/pushdeck-cli-0.1.0.tgz","fileCount":3,"integrity":"sha512-bSP6EbBEMH+mX4AGopmXv8GeJCqn+VfY3qjZJ/ERgj3G06EXKz6u5gj1G6HF54y1GiSUNLSlhbvV5Xpn822Wtg==","signatures":[{"sig":"MEUCICIPPaPt2VEaIt086EoOR5WDF5HXgx50oyFF5pJykARZAiEAi9fjOXNXkWsLA64CSrjHSttK72ABcnmHkQiQAGZlK+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14418},"type":"module","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"asyncarijit","email":"asyncarijit@gmail.com"},"_npmVersion":"10.9.2","description":"CLI for the rn-pushdeck OTA service — ship JS updates to React Native apps.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pushdeck-cli_0.1.0_1778516382261_0.6048306503862269","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@asyncarijit/pushdeck-cli","version":"0.2.0","keywords":["react-native","ota","codepush","cli","deploy"],"author":{"name":"asyncarijit"},"license":"MIT","_id":"@asyncarijit/pushdeck-cli@0.2.0","maintainers":[{"name":"asyncarijit","email":"asyncarijit@gmail.com"}],"homepage":"https://rn-pushdeck.vercel.app","bin":{"pushdeck":"dist/index.js"},"dist":{"shasum":"8a9662e46c4b4ac2e572e1052b2ddeb8a45e7d1b","tarball":"https://registry.npmjs.org/@asyncarijit/pushdeck-cli/-/pushdeck-cli-0.2.0.tgz","fileCount":3,"integrity":"sha512-fUksVSQGBpr0SPkQUO0hW8B8ntNusU+vmsr7sf0E4sS9PD8JoBMiRFZQ0A1qi/ifdOXna+iUPsQroxR9lAshYg==","signatures":[{"sig":"MEUCIAY7g02JX0Nj9Vkyeg6vH8w2Yo7kctG+VAnxvrgiXdgOAiEAyOREw/VtbOY4K+y4KB+9HmkvS2/lmURObKxomSysd1o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19940},"type":"module","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"asyncarijit","email":"asyncarijit@gmail.com"},"_npmVersion":"10.9.2","description":"CLI for the rn-pushdeck OTA service — ship JS updates to React Native apps.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pushdeck-cli_0.2.0_1778524723915_0.22241673142420693","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@asyncarijit/pushdeck-cli","version":"0.2.1","keywords":["react-native","ota","codepush","cli","deploy"],"author":{"name":"asyncarijit"},"license":"MIT","_id":"@asyncarijit/pushdeck-cli@0.2.1","maintainers":[{"name":"asyncarijit","email":"asyncarijit@gmail.com"}],"homepage":"https://rn-pushdeck.vercel.app","bin":{"pushdeck":"dist/index.js"},"dist":{"shasum":"8efa2116f5db2985be061b2ef277df9ea7923417","tarball":"https://registry.npmjs.org/@asyncarijit/pushdeck-cli/-/pushdeck-cli-0.2.1.tgz","fileCount":3,"integrity":"sha512-3f6dj5kSprVREgaWN+02UqB1JPje/dE05i1ZETSX9HSr+ehqm/+Ts2Fvqi8lgaje4K0BA5CrZEDZ0VUSFrlyPA==","signatures":[{"sig":"MEUCIHkdVPIVaIK+g9WauJqJf9XBLf9NIlQfATWb156IDR+VAiEAk82z4bHlrhGNVM+qkx8+3O7gjAVbD2l8iKRdbBXG5Ts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20055},"type":"module","scripts":{"dev":"tsup --watch","build":"tsup","start":"node dist/index.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"asyncarijit","email":"asyncarijit@gmail.com"},"_npmVersion":"10.9.2","description":"CLI for the rn-pushdeck OTA service — ship JS updates to React Native apps.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pushdeck-cli_0.2.1_1778524885839_0.764556897740263","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@asyncarijit/pushdeck-cli","version":"0.2.3","description":"CLI for the rn-pushdeck OTA service — ship JS updates to React Native apps.","type":"module","license":"MIT","author":{"name":"asyncarijit"},"homepage":"https://github.com/asyncArijit/RN-Pushdeck#readme","keywords":["react-native","ota","codepush","cli","deploy"],"publishConfig":{"access":"public"},"bin":{"pushdeck":"dist/index.js"},"scripts":{"build":"tsup","dev":"tsup --watch","start":"node dist/index.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"dependencies":{"commander":"^14.0.3","picocolors":"^1.1.1"},"devDependencies":{"@types/node":"^22.0.0","tsup":"^8.5.1","typescript":"^5.6.0"},"repository":{"type":"git","url":"git+https://github.com/asyncArijit/RN-Pushdeck.git","directory":"cli"},"bugs":{"url":"https://github.com/asyncArijit/RN-Pushdeck/issues"},"_id":"@asyncarijit/pushdeck-cli@0.2.3","gitHead":"0b6d19af162f61f0cedb67a62c39a13248cc8867","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-ok7NQbwmMKB0MDuFULnKPCHnYZSkzdkbYrTNAfzo9GmWlCqL7t5EeGkb3s57+9tzz5Gn6++80q8fu/oKj1URRA==","shasum":"e256d7e41ca3366bab8b24d3fe3fe1bd74b2990f","tarball":"https://registry.npmjs.org/@asyncarijit/pushdeck-cli/-/pushdeck-cli-0.2.3.tgz","fileCount":3,"unpackedSize":20499,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEutXGGdXOP/K4eRjQmTtQh9VV5VQfQI3QVes8xc8giYAiEAwdynZoC95v6O+4q2A0iEOLBPzk7SeU8zPpXwS/jpRJ8="}]},"_npmUser":{"name":"asyncarijit","email":"asyncarijit@gmail.com"},"directories":{},"maintainers":[{"name":"asyncarijit","email":"asyncarijit@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pushdeck-cli_0.2.3_1786598827292_0.8386421128725638"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-11T16:19:42.149Z","modified":"2026-08-13T05:27:07.567Z","0.1.0":"2026-05-11T16:19:42.435Z","0.2.0":"2026-05-11T18:38:44.069Z","0.2.1":"2026-05-11T18:41:26.023Z","0.2.3":"2026-08-13T05:27:07.428Z"},"author":{"name":"asyncarijit"},"license":"MIT","homepage":"https://github.com/asyncArijit/RN-Pushdeck#readme","keywords":["react-native","ota","codepush","cli","deploy"],"description":"CLI for the rn-pushdeck OTA service — ship JS updates to React Native apps.","maintainers":[{"name":"asyncarijit","email":"asyncarijit@gmail.com"}],"readme":"# @asyncarijit/pushdeck-cli\n\n[![npm](https://img.shields.io/npm/v/@asyncarijit/pushdeck-cli.svg)](https://www.npmjs.com/package/@asyncarijit/pushdeck-cli)\n[![license](https://img.shields.io/npm/l/@asyncarijit/pushdeck-cli.svg)](./LICENSE)\n\nCLI for [rn-pushdeck](https://rn-pushdeck.vercel.app) — ship JavaScript updates to React Native apps without going through the Play Store.\n\n## Install\n\n```bash\nnpm install -g @asyncarijit/pushdeck-cli\n# then anywhere: pushdeck <command>\n```\n\nOr use without installing:\n\n```bash\nnpx @asyncarijit/pushdeck-cli deploy --version 1.0.1 --bundle ./bundle.js --promote production\n```\n\n## Build from source\n\n```bash\ncd D:\\codex\\rn-pushdeck\\cli\nnpm install\nnpm run build\n```\n\nRun via:\n```bash\nnode dist/index.js <command>\n```\n\nOr link globally so `pushdeck` works anywhere:\n```bash\nnpm link\n# now: pushdeck <command>\n```\n\n## Usage\n\n### 1. Get a token\n\nIn the dashboard at `/dashboard/settings/tokens`, click **New token**. Copy the value once — you can't see it again.\n\n### 2. Sign in\n\n```bash\npushdeck login --token pdkt_xxxxxxxxxxxxx\n```\n\nThe token is saved to `~/.pushdeck/config.json` (or `%USERPROFILE%\\.pushdeck\\config.json` on Windows).\n\nOr skip the config and use an env var:\n```bash\nexport PUSHDECK_TOKEN=pdkt_xxx\n```\n\n### 3. Deploy\n\n```bash\npushdeck deploy \\\n  --project psh_xxxxxxxx \\\n  --version 1.0.1 \\\n  --bundle ./index.android.bundle \\\n  --promote production \\\n  --notes \"Fixed login bug\"\n```\n\n| Flag | Required | Description |\n|--|--|--|\n| `-p, --project <key-or-id>` | yes | Project key (`psh_xxx`) or UUID |\n| `-v, --version <semver>` | yes | Bundle version (`1.0.1`) |\n| `-b, --bundle <path>` | yes | Path to the built bundle file |\n| `-a, --assets <path>` | no | Path to the assets zip |\n| `--min-native <semver>` | no | Minimum APK version this bundle supports (default: `--version`) |\n| `--notes <text>` | no | Release notes |\n| `--promote <channel>` | no | Promote to this channel after upload (e.g., `production`) |\n\n### Other commands\n\n```bash\npushdeck whoami     # verify your token works\npushdeck projects   # list projects + current versions\npushdeck logout     # delete saved token\n```\n\n## Building bundles\n\nThe CLI uploads pre-built bundles. To build one in a React Native app:\n\n```bash\n# Expo\nnpx expo export:embed --platform android --bundle-output index.android.bundle\n\n# Bare React Native\nnpx react-native bundle --platform android --dev false \\\n  --entry-file index.js --bundle-output index.android.bundle\n```\n\nThen pass that file path to `pushdeck deploy --bundle`.\n","readmeFilename":"README.md","repository":{"type":"git","url":"git+https://github.com/asyncArijit/RN-Pushdeck.git","directory":"cli"},"bugs":{"url":"https://github.com/asyncArijit/RN-Pushdeck/issues"}}