{"_id":"@anirudhk/react-native-cross-health-kit","name":"@anirudhk/react-native-cross-health-kit","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@anirudhk/react-native-cross-health-kit","version":"0.1.0","description":"Cross-platform React Native library for reading health data from Apple HealthKit and Android Health Connect","main":"./lib/module/index.js","types":"./lib/typescript/src/index.d.ts","exports":{".":{"anirudhk-react-native-cross-health-kit-source":"./src/index.tsx","types":"./lib/typescript/src/index.d.ts","default":"./lib/module/index.js"},"./package.json":"./package.json"},"scripts":{"example":"yarn workspace @anirudhk/react-native-cross-health-kit-example","clean":"del-cli android/build example/android/build example/android/app/build example/ios/build lib","prepare":"node ./scripts/prepare-package.js","prepublishOnly":"node ./scripts/prepare-package.js","typecheck":"tsc","lint":"eslint \"**/*.{js,ts,tsx}\"","test":"jest"},"keywords":["react-native","ios","android","healthkit","health-connect","steps","health"],"repository":{"type":"git","url":"git+https://github.com/AnirudhKudikala/react-native-cross-health-kit.git"},"author":{"name":"Anirudh K","email":"anirudhkudikala01@gmail.com","url":"https://github.com/AnirudhKudikala"},"license":"MIT","bugs":{"url":"https://github.com/AnirudhKudikala/react-native-cross-health-kit/issues"},"homepage":"https://github.com/AnirudhKudikala/react-native-cross-health-kit#readme","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"devDependencies":{"@eslint/compat":"^2.1.0","@eslint/eslintrc":"^3.3.5","@eslint/js":"^10.0.1","@jest/globals":"^29.7.0","@react-native/babel-preset":"0.77.0","@react-native/eslint-config":"0.85.0","@react-native/jest-preset":"0.85.0","@types/react":"^18.2.6","del-cli":"^7.0.0","eslint":"^9.39.4","eslint-config-prettier":"^10.1.8","eslint-plugin-ft-flow":"^3.0.11","eslint-plugin-prettier":"^5.5.6","jest":"^29.7.0","prettier":"^3.8.3","react":"18.3.1","react-native":"0.77.0","react-native-builder-bob":"^0.43.0","turbo":"^2.9.16","typescript":"^6.0.3"},"peerDependencies":{"react":"*","react-native":">=0.77.0"},"workspaces":["example"],"packageManager":"yarn@4.11.0","react-native-builder-bob":{"source":"src","output":"lib","targets":[["module",{"esm":true}],["typescript",{"project":"tsconfig.build.json"}]]},"codegenConfig":{"name":"ReactNativeCrossHealthKitSpec","type":"modules","jsSrcsDir":"src","android":{"javaPackageName":"com.anirudhk.reactnativecrosshealthkit"}},"prettier":{"quoteProps":"consistent","singleQuote":true,"tabWidth":2,"trailingComma":"es5","useTabs":false},"jest":{"preset":"@react-native/jest-preset","testEnvironmentOptions":{"customExportConditions":["require","react-native","<%- project.sourceCondition -%>"]},"modulePathIgnorePatterns":["<rootDir>/example/node_modules","<rootDir>/lib/"]},"create-react-native-library":{"type":"turbo-module","languages":"kotlin-objc","tools":["eslint","jest"],"version":"0.63.0"},"gitHead":"3cbe192785678d41f9ef8fbe0b6243355db30fb7","_id":"@anirudhk/react-native-cross-health-kit@0.1.0","_nodeVersion":"26.3.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-pP/3fk7JwjeTn5e2vYXRZr54sY0dGRagJeIMEoQPnmi2/4uzf2sc0Da1KBUh9GROd3UJxKUKrBy2NzttM5SC3w==","shasum":"db96c9c5796fd49d6b405142ed0782c4511ccbed","tarball":"https://registry.npmjs.org/@anirudhk/react-native-cross-health-kit/-/react-native-cross-health-kit-0.1.0.tgz","fileCount":48,"unpackedSize":67470,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICxoM8GH9079g93wAYsOyA6nBYbenqv+RBqp6T5LOdNBAiBycnZak66cjQcZiceSvw2esz77uuaCXcWb7wDkjWfsWQ=="}]},"_npmUser":{"name":"anirudhk","email":"anirudhkudikala01@gmail.com"},"directories":{},"maintainers":[{"name":"anirudhk","email":"anirudhkudikala01@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-native-cross-health-kit_0.1.0_1787673729655_0.7910231666597962"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-25T16:02:09.414Z","0.1.0":"2026-08-25T16:02:09.862Z","modified":"2026-08-25T16:02:10.244Z"},"maintainers":[{"name":"anirudhk","email":"anirudhkudikala01@gmail.com"}],"description":"Cross-platform React Native library for reading health data from Apple HealthKit and Android Health Connect","homepage":"https://github.com/AnirudhKudikala/react-native-cross-health-kit#readme","keywords":["react-native","ios","android","healthkit","health-connect","steps","health"],"repository":{"type":"git","url":"git+https://github.com/AnirudhKudikala/react-native-cross-health-kit.git"},"author":{"name":"Anirudh K","email":"anirudhkudikala01@gmail.com","url":"https://github.com/AnirudhKudikala"},"bugs":{"url":"https://github.com/AnirudhKudikala/react-native-cross-health-kit/issues"},"license":"MIT","readme":"# @anirudhk/react-native-cross-health-kit\n\nCross-platform React Native library for reading health data from **Apple HealthKit** (iOS) and **Android Health Connect** (Android).\n\nVersion 1 focuses on **walking steps** with **minute** and **daily** granularity. The architecture is designed to scale to additional activity types and write support in future releases.\n\n## Features\n\n- Unified TypeScript API across iOS and Android\n- Read step counts with `minute` or `day` granularity\n- Permission helpers for HealthKit and Health Connect\n- Turbo Module with Old + New Architecture support\n- React Native CLI compatible (Expo support planned)\n- Android 16 KB page size friendly (no bundled native `.so` files)\n\n## Compatibility\n\n| Platform | Requirement |\n|----------|-------------|\n| React Native | **0.77+** |\n| iOS | 15.0+ with HealthKit capability |\n| Android | API 26+ with Health Connect |\n| Architecture | Old + New Architecture |\n\nSee [docs/COMPATIBILITY.md](docs/COMPATIBILITY.md) for the full matrix, including Android 16 KB guidance.\n\n## Installation\n\n```bash\nnpm install @anirudhk/react-native-cross-health-kit\n# or\nyarn add @anirudhk/react-native-cross-health-kit\n```\n\n### iOS\n\n1. Run `cd ios && pod install`.\n2. Enable the **HealthKit** capability in Xcode.\n3. Add usage descriptions to your app's `Info.plist`:\n\n```xml\n<key>NSHealthShareUsageDescription</key>\n<string>Read your step count.</string>\n<key>NSHealthUpdateUsageDescription</key>\n<string>Write health data in future versions.</string>\n```\n\nSee [docs/IOS_SETUP.md](docs/IOS_SETUP.md).\n\n### Android\n\n1. Ensure `minSdkVersion` is at least **26**.\n2. Add Health Connect permissions and rationale intent filter to your app manifest.\n\nSee [docs/ANDROID_SETUP.md](docs/ANDROID_SETUP.md).\n\n## Quick start\n\n```typescript\nimport {\n  isHealthDataAvailable,\n  requestPermissions,\n  querySteps,\n} from '@anirudhk/react-native-cross-health-kit';\n\nconst available = await isHealthDataAvailable();\nif (!available) {\n  throw new Error('Health data is not available on this device.');\n}\n\nawait requestPermissions(['steps']);\n\nconst dailySteps = await querySteps({\n  startDate: '2026-08-25T00:00:00.000Z',\n  endDate: '2026-08-26T00:00:00.000Z',\n  granularity: 'day',\n});\n\nconst minuteSteps = await querySteps({\n  startDate: '2026-08-25T15:00:00.000Z',\n  endDate: '2026-08-25T16:00:00.000Z',\n  granularity: 'minute',\n});\n```\n\n## Example app\n\nThis repo includes an RN CLI example app:\n\n```bash\nyarn\nyarn example android\n# or\nyarn example ios\n```\n\n## Documentation\n\n- [API reference](docs/API.md)\n- [Compatibility matrix](docs/COMPATIBILITY.md)\n- [Android setup](docs/ANDROID_SETUP.md)\n- [iOS setup](docs/IOS_SETUP.md)\n- [Architecture & roadmap](docs/ARCHITECTURE.md)\n\n## Roadmap\n\n- Additional data types (heart rate, distance, sleep, workouts)\n- Write/delete support\n- Change observers and background sync\n- Expo config plugin\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-dbfc56fe6b68d7c19bf3abe85c6ed8b4"}