{"_id":"@below43/capacitor-original-version","_rev":"2-02a385cbc806a062cb69d87669e3d040","name":"@below43/capacitor-original-version","dist-tags":{"latest":"7.0.2"},"versions":{"7.0.1":{"name":"@below43/capacitor-original-version","version":"7.0.1","keywords":["capacitor","plugin","ios","app-version"],"author":{"name":"Andrew Drake"},"license":"MIT","_id":"@below43/capacitor-original-version@7.0.1","maintainers":[{"name":"below43","email":"andrew@below43.com"}],"homepage":"https://github.com/below43/capacitor-original-version#readme","bugs":{"url":"https://github.com/below43/capacitor-original-version/issues"},"dist":{"shasum":"8589b08c7a66b40de13fe9a3cbc1c1a4067a7097","tarball":"https://registry.npmjs.org/@below43/capacitor-original-version/-/capacitor-original-version-7.0.1.tgz","fileCount":11,"integrity":"sha512-XpXQQRthOzg+iqwV4/D2riX/XXnR351QMxrAKActE9Jtq98EwSyW7xRsdBF/kjPqonwvc4BJ7uIqrdgr7leCmw==","signatures":[{"sig":"MEYCIQCLmdQGtUZ3A988AzB80L6O9uHU/bCyAx51RlZgW6/tugIhALhYELBC7lrcPRrjU5hAlXdSwau+mNKFXguE4HyYXwOx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9224},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.js","gitHead":"3371cd8a3d64b4ac6b2ca44e031c691dcfeca48a","scripts":{"build":"tsc"},"_npmUser":{"name":"below43","email":"andrew@below43.com"},"capacitor":{"ios":{"src":"ios"}},"repository":{"url":"git+https://github.com/below43/capacitor-original-version.git","type":"git"},"_npmVersion":"10.9.3","description":"Capacitor plugin to get original app version and purchase date","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3"},"peerDependencies":{"@capacitor/core":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/capacitor-original-version_7.0.1_1764837350975_0.3812262859516371","host":"s3://npm-registry-packages-npm-production"}},"7.0.2":{"name":"@below43/capacitor-original-version","version":"7.0.2","description":"Capacitor plugin to get original app version and purchase date","main":"dist/index.js","module":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc"},"author":{"name":"Andrew Drake"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/below43/capacitor-original-version.git"},"keywords":["capacitor","plugin","ios","app-version"],"peerDependencies":{"@capacitor/core":"^7.0.0"},"capacitor":{"ios":{"src":"ios"}},"devDependencies":{"typescript":"^5.9.3"},"_id":"@below43/capacitor-original-version@7.0.2","gitHead":"e3de32906ad0bf01d5e3186fa78ef5d09ad5fbd6","bugs":{"url":"https://github.com/below43/capacitor-original-version/issues"},"homepage":"https://github.com/below43/capacitor-original-version#readme","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-G86d6cZqao6g+24AyJLleL3bpy126Z8dT1WEdKLJGm9yQLeVP1bRf5XZZuIhg6vFDU/EW68WBkXR4eUulMJ3gA==","shasum":"336ce7af874a2595e1cf203bd3a475eba6e7e1cf","tarball":"https://registry.npmjs.org/@below43/capacitor-original-version/-/capacitor-original-version-7.0.2.tgz","fileCount":11,"unpackedSize":9238,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFAlvIMDRx1Kkg6S+Qtt72RKJ0LP+OmyG+HoWZnWGhECAiA+0TgPQxb6FQBQFxFrRwqBzAxxOPF9RrCXczFklrcWxg=="}]},"_npmUser":{"name":"below43","email":"andrew@below43.com"},"directories":{},"maintainers":[{"name":"below43","email":"andrew@below43.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/capacitor-original-version_7.0.2_1765596069869_0.2754538375504052"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-04T08:35:50.887Z","modified":"2025-12-13T03:21:10.221Z","7.0.1":"2025-12-04T08:35:51.106Z","7.0.2":"2025-12-13T03:21:10.018Z"},"bugs":{"url":"https://github.com/below43/capacitor-original-version/issues"},"author":{"name":"Andrew Drake"},"license":"MIT","homepage":"https://github.com/below43/capacitor-original-version#readme","keywords":["capacitor","plugin","ios","app-version"],"repository":{"type":"git","url":"git+https://github.com/below43/capacitor-original-version.git"},"description":"Capacitor plugin to get original app version and purchase date","maintainers":[{"name":"below43","email":"andrew@below43.com"}],"readme":"# @below43/capacitor-original-version\n\nA Capacitor plugin to retrieve the original app version and purchase date from the App Store receipt using StoreKit 2.\n\n[![npm](https://img.shields.io/npm/v/@below43/capacitor-original-version)](https://www.npmjs.com/package/@below43/capacitor-original-version)\n\n> **Note:** This plugin is currently only available for iOS. Android and web platforms are not supported.\n\n## Installation\n\n```bash\nnpm i @below43/capacitor-original-version\nnpx cap sync\n```\n\n### Advanced Installation\n\n#### From GitHub\n\n```bash\nnpm install github:below43/capacitor-original-version\nnpx cap sync\n```\n\n#### From Local Path (Development)\n\n```bash\nnpm install file:./path/to/capacitor-original-version\nnpx cap sync\n```\n\n## Requirements\n\n- iOS 16.0+\n- Capacitor 7.0+\n\n## API\n\n### `getOriginalAppVersion()`\n\nReturns the original build number from when the app was first downloaded from the App Store.\n\n**Note:** This returns the build number (CFBundleVersion), not the marketing version string (CFBundleShortVersionString).\n\n```typescript\nimport OriginalVersion from 'capacitor-original-version';\n\nconst { version } = await OriginalVersion.getOriginalAppVersion();\nconsole.log('Original build number:', version);\n```\n\n**Returns:** `Promise<{ version: string }>`\n\n### `getOriginalPurchaseDate()`\n\nReturns the original purchase date in ISO 8601 format.\n\n```typescript\nimport OriginalVersion from 'capacitor-original-version';\n\nconst { date } = await OriginalVersion.getOriginalPurchaseDate();\nconsole.log('Original purchase date:', date);\n// Example output: \"2025-11-22T10:30:00Z\"\n```\n\n**Returns:** `Promise<{ date: string }>`\n\n## Usage Example\n\n```typescript\nimport { Component } from '@angular/core';\nimport OriginalVersion from 'capacitor-original-version';\n\n@Component({\n  selector: 'app-home',\n  templateUrl: 'home.page.html',\n})\nexport class HomePage {\n  async checkOriginalVersion() {\n    try {\n      const { version } = await OriginalVersion.getOriginalAppVersion();\n      const { date } = await OriginalVersion.getOriginalPurchaseDate();\n      \n      console.log(`First installed: build ${version} on ${date}`);\n    } catch (error) {\n      console.error('Error getting original version:', error);\n    }\n  }\n}\n```\n\n## Platform Support\n\n- ✅ iOS (16.0+)\n- ❌ Android (not supported - App Store receipt is iOS-only)\n- ❌ Web (not supported)\n\n## How It Works\n\nThis plugin uses Apple's StoreKit 2 `AppTransaction` API to retrieve cryptographically signed receipt information. The data is verified by Apple and cannot be tampered with.\n\n## Common Use Cases\n\n- Grandfathering users from older app versions\n- Tracking user cohorts by install date\n- Offering loyalty benefits to long-time users\n- Analytics based on original install version\n\n## Error Handling\n\nThe plugin will reject with an error if:\n- The device is running iOS < 16.0\n- The app transaction cannot be verified\n- The receipt data is unavailable (e.g., in development builds without App Store receipt)\n\n## License\n\nMIT © 2025 Andrew Drake\n\n## Contributing\n\nIssues and pull requests are welcome at [https://github.com/below43/capacitor-original-version](https://github.com/below43/capacitor-original-version)","readmeFilename":"README.md"}